منصوبے کے بارے میں

UnityDataTools ایک کمانڈ لائن ٹول اور UnityFileSystemApi نیٹو ڈائنامک لائبریری کا مظاہرہ ہے، جس کا مقصد AssetBundles اور Player مواد جیسی Unity ڈیٹا فائلوں کے مواد کا تجزیہ کرنا ہے۔ یہ Unity ڈیٹا فائلوں پر براہ راست چلتا ہے بغیر ایڈیٹر کی ضرورت کے، Unity کے WebExtract اور binary2text ٹولز کی زیادہ تر فعالیت کو بہتر کارکردگی کے ساتھ پورا کرتا ہے، اور تفصیلی بلڈ مواد کے تجزیے کے لیے SQLite ڈیٹا بیس بنانے جیسی صلاحیتیں شامل کرتا ہے۔ یہ بڑے بلڈ آؤٹ پٹس کے لیے ڈیزائن کیا گیا ہے اور بڑے Unity پر مبنی گیمز کو بہتر بنانے کے لیے استعمال ہوا ہے۔ یہ ٹول Unity Addressables بلڈ رپورٹس کا بھی تجزیہ کرتا ہے، خودکار طور پر Addressables JSON بلڈ آؤٹ پٹس کا پتہ لگاتا اور تجزیہ کرتا ہے تاکہ بنڈلز، اثاثوں، انحصار، فائل سائز، اور بلڈ کارکردگی کے میٹرکس کے بارے میں معلومات حاصل کی جا سکیں۔ تنصیب: Windows، macOS (Apple Silicon) اور Linux کے لیے بلڈز ہر ریلیز کے ساتھ منسلک ہیں اور خود مکمل ہیں، جن میں ایگزیکیوٹیبل، نیٹو UnityFileSystemApi لائبریری، اور آف لائن دستاویزات شامل ہیں۔ کسی .NET رن ٹائم کی ضرورت نہیں۔ Intel Macs کے لیے کوئی شائع شدہ بلڈ نہیں ہے اور انہیں سورس سے بنانا ہوگا۔ README میں ڈاؤن لوڈ، ان زپ، اور ورژن کی تصدیق کے لیے PowerShell اور شیل کمانڈز فراہم کی گئی ہیں، اور نوٹ کیا گیا ہے کہ checksums.txt میں SHA-256 ہیشز موجود ہیں۔ دستاویزات میں Unity مواد کی فارمیٹس (SerializedFiles، Unity Archives، TypeTrees، AssetBundle فارمیٹ، Player بلڈ فارمیٹ، مواد ڈائریکٹری فارمیٹ، ContentLayout.json) اور ٹول کے استعمال (کمانڈ لائن حوالہ، Analyzer، ڈیٹا بیس اسکیما، مثال کے سوالات، AI ایجنٹ ورک فلو، بلڈز کا موازنہ، Addressables بلڈ رپورٹس، بلڈ رپورٹس) شامل ہیں۔ ریپوزٹری تین تہوں میں منظم ہے: بنیادی لائبریریاں جو Unity بائنری فارمیٹس پڑھتی ہیں (UnityFileSystem، UnityBinaryFormat، UnityDataModels)، فیچر لائبریریاں جو خام ڈیٹا کو مفید آؤٹ پٹ میں تبدیل کرتی ہیں (Analyzer برائے SQLite ڈیٹا بیس، TextDumper برائے انسانی پڑھنے کے قابل ڈمپس، ReferenceFinder برائے حوالہ جات کی زنجیریں، Archive اور SerializedFile انسپکٹرز)، اور UnityDataTool کمانڈ لائن ایگزیکیوٹیبل جو انہیں جوڑتا ہے اور analyze، dump، find-refs، archive، اور serialized-file جیسی کمانڈز کو ظاہر کرتا ہے۔ UnityFileSystemApi Unity سورس کوڈ سے کمپائل کیا گیا ہے اور Unity Archive اور Serialized File فارمیٹس کو کھولنے اور پڑھنے کی بنیادی فعالیت کو ظاہر کرتا ہے، جس میں TypeTrees کو نیویگیٹ کرنا شامل ہے تاکہ اشیاء کو ہارڈ کوڈڈ ٹائپ کی معلومات کے بغیر عام طور پر پڑھا جا سکے۔ یہ پسماندہ مطابقت رکھتا ہے لیکن آگے کی مطابقت نہیں رکھتا، اور Unity Editor کے Data/Tools فولڈر میں 2022.1.0a14 سے بھی تقسیم کیا جاتا ہے۔ ریپوزٹری میں 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 کی طرف سے سرکاری طور پر تعاون یافتہ نہیں ہے؛ اسے تجرباتی قرار دیا گیا ہے، بگ رپورٹس اور پل ریکوئسٹس کا خیرمقدم ہے لیکن تعاون کی ضمانت نہیں۔