প্রকল্প সম্পর্কে
UnityDataTools হল একটি কমান্ড-লাইন টুল এবং UnityFileSystemApi নেটিভ ডায়নামিক লাইব্রেরির প্রদর্শনী, যার লক্ষ্য AssetBundle এবং Player কনটেন্টের মতো Unity ডেটা ফাইলের বিষয়বস্তু বিশ্লেষণ করা। এটি এডিটরের প্রয়োজন ছাড়াই সরাসরি Unity ডেটা ফাইলে চলে, Unity-এর WebExtract এবং binary2text টুলের বেশিরভাগ কার্যকারিতা উন্নত পারফরম্যান্সসহ কভার করে এবং বিস্তারিত বিল্ড কনটেন্ট বিশ্লেষণের জন্য SQLite ডেটাবেস তৈরির মতো ক্ষমতা যোগ করে। এটি বড় বিল্ড আউটপুটের জন্য স্কেল করার জন্য ডিজাইন করা হয়েছে এবং বড় Unity-ভিত্তিক গেম ফাইন-টিউন করতে ব্যবহৃত হয়েছে।
টুলটি Unity Addressables বিল্ড রিপোর্টও বিশ্লেষণ করে, স্বয়ংক্রিয়ভাবে Addressables JSON বিল্ড আউটপুট সনাক্ত ও পার্স করে বান্ডেল, অ্যাসেট, নির্ভরতা, ফাইল সাইজ এবং বিল্ড পারফরম্যান্স মেট্রিক্স সম্পর্কে তথ্য বের করে।
ইনস্টলেশন: Windows, macOS (Apple Silicon) এবং Linux-এর জন্য বিল্ড প্রতিটি রিলিজের সাথে সংযুক্ত থাকে এবং সেগুলি স্বয়ংসম্পূর্ণ, যার মধ্যে এক্সিকিউটেবল, নেটিভ UnityFileSystemApi লাইব্রেরি এবং অফলাইন ডকুমেন্টেশন বান্ডেল করা থাকে। কোনো .NET রানটাইম প্রয়োজন হয় না। Intel Mac-এর কোনো প্রকাশিত বিল্ড নেই এবং সোর্স থেকে বিল্ড করতে হবে। README-তে ডাউনলোড, আনজিপ এবং সংস্করণ যাচাই করার জন্য PowerShell এবং শেল কমান্ড দেওয়া আছে এবং উল্লেখ করা হয়েছে যে checksums.txt-এ SHA-256 হ্যাশ থাকে।
ডকুমেন্টেশন Unity কনটেন্ট ফরম্যাট (SerializedFiles, Unity Archives, TypeTrees, AssetBundle ফরম্যাট, Player বিল্ড ফরম্যাট, কনটেন্ট ডিরেক্টরি ফরম্যাট, ContentLayout.json) এবং টুল ব্যবহার (কমান্ড-লাইন রেফারেন্স, Analyzer, ডেটাবেস স্কিমা, উদাহরণ কোয়েরি, AI এজেন্ট ওয়ার্কফ্লো, বিল্ড তুলনা, Addressables বিল্ড রিপোর্ট, বিল্ড রিপোর্ট) কভার করে।
রিপোজিটরিটি তিনটি স্তরে সংগঠিত: বেস লাইব্রেরি যা Unity বাইনারি ফরম্যাট পড়ে (UnityFileSystem, UnityBinaryFormat, UnityDataModels), ফিচার লাইব্রেরি যা কাঁচা ডেটাকে দরকারী আউটপুটে রূপান্তর করে (SQLite ডেটাবেসের জন্য Analyzer, মানব-পাঠযোগ্য ডাম্পের জন্য TextDumper, রেফারেন্স চেইনের জন্য ReferenceFinder, Archive এবং SerializedFile ইনস্পেক্টর), এবং UnityDataTool কমান্ড-লাইন এক্সিকিউটেবল যা এগুলিকে একত্রিত করে এবং analyze, dump, find-refs, archive এবং serialized-file-এর মতো কমান্ড প্রকাশ করে।
UnityFileSystemApi Unity সোর্স কোড থেকে কম্পাইল করা হয় এবং Unity Archive এবং Serialized File ফরম্যাট খোলা ও পড়ার মূল কার্যকারিতা প্রকাশ করে, যার মধ্যে TypeTrees নেভিগেট করা অন্তর্ভুক্ত যাতে হার্ডকোড করা টাইপ জ্ঞান ছাড়াই অবজেক্ট জেনেরিকভাবে পড়া যায়। এটি ব্যাকওয়ার্ড কম্প্যাটিবল কিন্তু ফরওয়ার্ড কম্প্যাটিবল নয় এবং 2022.1.0a14 থেকে Unity Editor-এর Data/Tools ফোল্ডারেও বিতরণ করা হয়। রিপোজিটরিতে Windows, Mac এবং Linux-এর জন্য প্রি-কম্পাইল করা কপি অন্তর্ভুক্ত রয়েছে।
বিল্ড করার জন্য রিপোজিটরি ক্লোন করা, .NET 9.0 SDK ইনস্টল করা, ঐচ্ছিকভাবে বান্ডেল করা UnityFileSystemApi লাইব্রেরিটি Unity Editor ইনস্টলেশন থেকে একটি দিয়ে প্রতিস্থাপন করা এবং dotnet build -c Release চালানো প্রয়োজন। টেস্ট এবং শেয়ার্ড টেস্ট ডেটা অন্তর্ভুক্ত রয়েছে, যেখানে দুটি Unity প্রজেক্ট (Baseline এবং LeadingEdge) টেস্ট ডেটা পুনরায় তৈরি করতে ব্যবহৃত হয়।
প্রকল্পটি Francis Pagé-এর AssetBundle Analyzer-এর বিবর্তন, যা প্রথম Unity বিল্ড আউটপুটের SQLite ডেটাবেস বিশ্লেষণ চালু করেছিল কিন্তু WebExtract এবং binary2text-এর উপর নির্ভরতার কারণে ধীর এবং ভঙ্গুর ছিল। UnityDataTools এবং UnityFileSystemApi তৈরি করা হয়েছিল Unity ডেটা ফাইলে দ্রুত, নির্ভরযোগ্য অ্যাক্সেস প্রদানের জন্য। প্রকল্পটি যেমন আছে তেমনই প্রদান করা হয়েছে এবং Unity দ্বারা আনুষ্ঠানিকভাবে সমর্থিত নয়; এটি পরীক্ষামূলক হিসেবে বর্ণিত, বাগ রিপোর্ট এবং পুল রিকোয়েস্ট স্বাগত কিন্তু সমর্থন নিশ্চিত নয়।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.