অ্যাসেট ডেলিভারি ইন্টিগ্রেট করা (Unity)

অ্যাসেট ডেলিভারি ইন্টিগ্রেট করার সময়, Unity গেম Addressables বা AssetBundles ব্যবহার করে অ্যাসেট প্যাক অ্যাক্সেস করতে পারে। Unity 2019.4 বা তার পরবর্তী ভার্সনে তৈরি গেমের জন্য Addressables হল আরও সাম্প্রতিক এবং সাজেস্ট করা অ্যাসেট ডেলিভারি সমাধান, যেখানে AssetBundles, Unity 2017.4 এবং 2018.4-এ অ্যাসেট প্যাকের জন্য সহায়তা প্রদান করে।

Unity Addressables

Unity 2019.4 বা তার পরবর্তী যেকোনও ভার্সনে তৈরি করা গেমের ক্ষেত্রে Android-এ অ্যাসেট ডেলিভারির জন্য Addressables ব্যবহার করা উচিত। Unity, Addressables ব্যবহার করে Android অ্যাসেট প্যাক ম্যানেজ করার জন্য Play Asset Delivery (PAD) API প্রদান করে। Addressables ব্যবহার করার ব্যাপারে তথ্যের জন্য, নিম্নলিখিতগুলি দেখুন:

AssetBundle ফাইল ব্যবহার করা

Unity 2017.4 এবং 2018.4-এর মাধ্যমে তৈরি করা গেম Android-এ অ্যাসেট ডেলিভারির জন্য AssetBundle ফাইল ব্যবহার করতে পারে। Unity AssetBundle ফাইলে সিরিয়ালাইজ করা অ্যাসেট থাকে যা অ্যাপ চলাকালীন Unity ইঞ্জিন লোড করতে পারে। এই ফাইলগুলি প্ল্যাটফর্ম-নির্দিষ্ট (যেমন, Android-এর জন্য তৈরি) এবং অ্যাসেট প্যাকের সাথে একত্রে ব্যবহার করা যেতে পারে। সাধারণত, একটি AssetBundle ফাইল একটি অ্যাসেট প্যাকে প্যাক করা হয়, যেখানে প্যাকটি AssetBundle-এর মতো একই নাম ব্যবহার করে। অ্যাসেট প্যাক তৈরি করার সময় আরও নমনীয়তা চাইলে, API ব্যবহার করে অ্যাসেট প্যাক কনফিগার করুন।

রানটাইমে, অ্যাসেট প্যাকে প্যাক করা AssetBundle ফিরিয়ে আনতে Unity-র জন্য Play Asset Delivery ক্লাস ব্যবহার করুন।

পূর্বশর্ত

  1. আপনার ডেভেলপমেন্ট এমভায়রনমেন্ট সেট-আপ করুন:

OpenUPM-CLI

আপনার ডিভাইসে OpenUPM CLI ইনস্টল করা থাকলে, নিম্নলিখিত কমান্ডের সাহায্যে OpenUPM রেজিস্ট্রি ইনস্টল করতে পারবেন:

openupm add com.google.play.assetdelivery

OpenUPM

  1. Unity মেনু বিকল্প এডিট করুন > প্রোজেক্ট সেটিংস > প্যাকেজ ম্যানেজার বেছে নিয়ে প্যাকেজ ম্যানেজার সেটিংস খুলুন।

  2. প্যাকেজ ম্যানেজার উইন্ডোতে স্কোপড রেজিস্ট্রি হিসেবে OpenUPM যোগ করুন:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.assetdelivery
      com.google.android.appbundle
    
  3. Unity মেনু বিকল্প Window > Package Manager বেছে নিয়ে প্যাকেজ ম্যানেজার মেনু খুলুন।

  4. ম্যানেজার স্কোপ ড্রপ-ডাউন সেট করে আমার রেজিস্ট্রি বিকল্প বেছে নিন।

  5. প্যাকেজের তালিকা থেকে Unity-র জন্য Google Play Integrity প্লাগ-ইন প্যাকেজ বেছে নিন এবং ইনস্টল করুন বিকল্পে প্রেস করুন।

GitHub থেকে ইমপোর্ট করুন

  1. GitHub থেকে লেটেস্ট .unitypackage রিলিজ ডাউনলোড করুন।

  2. Unity মেনু বিকল্প বেছে নিয়ে .unitypackage ফাইল ইমপোর্ট করুন অ্যাসেট > প্যাকেজ ইমপোর্ট করুন > কাস্টম প্যাকেজ এবং সব আইটেম ইমপোর্ট করুন।

  1. Unity-তে AssetBundles তৈরি করুন।

UI ব্যবহার করে AssetBundles কনফিগার করা

  1. অ্যাসেট প্যাকে প্রতিটি AssetBundle কনফিগার করুন:

    1. Google > Android App Bundle > অ্যাসেট ডেলিভারি সেটিংস বিকল্প বেছে নিন।
    2. যেসব ফোল্ডারে সরাসরি AssetBundle ফাইল আছে সেগুলি বেছে নিতে, ফোল্ডার যোগ করুন বিকল্পে ক্লিক করুন।

    Unity-তে অ্যাসেট ডেলিভারি সেটিংসের ফোল্ডার যোগ করার বোতাম

  2. প্রতিটি বান্ডেলের জন্য, ডেলিভারি মোড পরিবর্তন করে ইনস্টল করার সময়, ফাস্ট ফলো অথবা চাহিদা অনুযায়ী করুন। কোনও সমস্যা বা ডিপেন্ডেন্সি থাকলে তা সমাধান করে উইন্ডো বন্ধ করুন।

    Unity-তে প্রতিটি বান্ডেলের জন্য অ্যাসেট ডেলিভারি ডেলিভারি মোড সিলেক্টর

  3. অ্যাপ বান্ডেল তৈরি করতে Google > Android অ্যাপ বান্ডেল তৈরি করুন বিকল্প বেছে নিন।

  4. (ঐচ্ছিক) বিভিন্ন টেক্সচার কম্প্রেশন ফর্ম্যাট সাপোর্ট করার জন্য আপনার অ্যাপ বান্ডেল কনফিগার করুন।

API ব্যবহার করে অ্যাসেট প্যাক কনফিগার করা

আপনি এডিটর স্ক্রিপ্টের মাধ্যমে অ্যাসেট ডেলিভারি কনফিগার করতে পারেন যা অটোমেটিক বিল্ড সিস্টেমের অংশ হিসেবে রান করা যেতে পারে।

Android অ্যাপ বান্ডেল বিল্ডে কোন অ্যাসেট অন্তর্ভুক্ত করতে হবে এবং অ্যাসেটের ডেলিভারি মোড নির্ধারণ করতে AssetPackConfig ক্লাস ব্যবহার করুন। এইসব অ্যাসেট প্যাকে AssetBundle থাকার প্রয়োজন নেই।

public void ConfigureAssetPacks {
   // Creates an AssetPackConfig with a single asset pack, named
   // examplePackName, containing all the files in path/to/exampleFolder.
   var assetPackConfig = new AssetPackConfig();
   assetPackConfig.AddAssetsFolder("examplePackName",
                                   "path/to/exampleFolder",
                                   AssetPackDeliveryMode.OnDemand);

   // Configures the build system to use the newly created assetPackConfig when
   // calling Google > Build and Run or Google > Build Android App Bundle.
   AssetPackConfigSerializer.SaveConfig(assetPackConfig);

   // Alternatively, use BundleTool.BuildBundle to build an App Bundle from script.
   BuildBundle(new buildPlayerOptions(), assetPackConfig);
}

এছাড়াও, আপনি Bundletool ক্লাসে স্ট্যাটিক BuildBundle পদ্ধতি ব্যবহার করে অ্যাসেট প্যাক সহ Android অ্যাপ বান্ডেল তৈরি করতে পারেন, BuildPlayerOptions এবং AssetPackConfig দেওয়া আছে।

নির্দেশিকা সহ টিউটোরিয়ালের জন্য, Unity গেমে Play Asset Delivery ব্যবহার করা সংক্রান্ত কোডল্যাব দেখুন।

Play Asset Delivery Unity API-এর সাথে ইন্টিগ্রেট করুন

Play Asset Delivery Unity API অ্যাসেট প্যাকের জন্য অনুরোধ করা, ডাউনলোড ম্যানেজ করা এবং অ্যাসেট অ্যাক্সেস করার কার্যকারিতা প্রদান করে। প্রথমে আপনার প্রোজেক্টে Unity প্লাগ-ইন যোগ করতে ভুলবেন না।

আপনি API-তে যে ফাংশন ব্যবহার করেন তা নির্ভর করে আপনি কীভাবে অ্যাসেট প্যাক তৈরি করেছেন তার উপর।

আপনি যদি প্লাগ-ইন UI ব্যবহার করে অ্যাসেট প্যাক তৈরি করে থাকেন, তাহলে প্লাগ-ইন-কনফিগার করা অ্যাসেট প্যাক বেছে নিন।

আপনি যদি API (বা প্লাগ-ইন UI) ব্যবহার করে অ্যাসেট প্যাক তৈরি করে থাকেন, তাহলে API-কনফিগার করা অ্যাসেট প্যাক বিকল্প বেছে নিন।

পরবর্তী ধাপ

স্থানীয়ভাবে এবং Google Play থেকে অ্যাসেট ডেলিভারি টেস্ট করুন।