इस प्रोजेक्ट के बारे में
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 और shell कमांड दिए गए हैं, और यह नोट करता है कि checksums.txt में SHA-256 हैश होते हैं।
दस्तावेज़ीकरण Unity सामग्री प्रारूपों (SerializedFiles, Unity Archives, TypeTrees, AssetBundle प्रारूप, Player बिल्ड प्रारूप, content directory प्रारूप, 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 को नेविगेट करना शामिल है ताकि ऑब्जेक्ट्स को हार्डकोडेड प्रकार ज्ञान के बिना सामान्य रूप से पढ़ा जा सके। यह पश्चगामी संगत है लेकिन अग्रगामी संगत नहीं है, और 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 द्वारा आधिकारिक रूप से समर्थित नहीं है; इसे प्रयोगात्मक बताया गया है, बग रिपोर्ट और पुल अनुरोधों का स्वागत है लेकिन समर्थन की गारंटी नहीं है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.