فایل UNITYPACKAGE چیست؟
پسوند فایل .UNITYPACKAGE به یونیتی، موتور بازیسازی محبوب چندسکویی که توسط Unity Technologies توسعه یافته، مرتبط است. بستههای یونیتی برای بستهبندی و توزیع داراییهای یونیتی مانند اسکریپتها، مدلها، بافتها، مواد، شیدرها، صحنهها، پیشساختهها و سایر منابع بهمنظور استفاده در پروژههای یونیتی استفاده میشوند.
قالب فایل UNITYPACKAGE - اطلاعات بیشتر
بستههای یونیتی در واقع فایلهای آرشیوی هستند که تمام فایلها و متادیتاهای لازم برای وارد کردن داراییها به پروژههای یونیتی را در بر دارند. این بستهها معمولاً برای بهاشتراکگذاری داراییها بین توسعهدهندگان، همکاری در پروژهها و توزیع داراییها از طریق Unity Asset Store استفاده میشوند.
هنگامی که یک فایل .UNITYPACKAGE را به یک پروژه یونیتی وارد میکنید، یونیتی بهصورت خودکار محتویات را استخراج کرده و به پروژه وارد میکند، بهطوری که داراییها برای استفاده در ویرایشگر یونیتی در دسترس میشوند.
بستههای یونیتی روشی راحت برای سازماندهی و بهاشتراکگذاری داراییها فراهم میکنند و به توسعهدهندگان امکان میدهند تا بهسادگی اجزا را در پروژهها و محیطهای مختلف بازاستفاده و توزیع کنند. این بستهها بخش اساسی اکوسیستم یونیتی هستند و نقش مهمی در تسریع جریان کار توسعه بازی ایفا میکنند.
ویژگیهای کلیدی فایلهای UNITYPACKAGE
| ویژگی | توضیح |
|---|---|
| پسوند فایل | .unitypackage |
| انواع اصلی | بسته استاندارد (هر نوع دارایی)، بسته فروشگاه دارایی (متادیتای امضا شده و رمزگذاری شده)، بسته صادرات سفارشی (ساخته شده توسط کاربر) |
| نوع فرمت | آرشیو tar فشرده شده با gzip (.tar.gz) با هدر سفارشی و ساختار مانیفست |
| استفاده اصلی | به اشتراکگذاری و توزیع داراییهای یونیتی: مدلهای سهبعدی، بافتها، صداها، اسکریپتهای C#، پیشساختهها (prefabs)، صحنهها، مواد، شیدرها، انیمیشنها و تمام کیتهای ابزار |
| ویژگی اصلی | حفظ ارجاع بر پایه GUID؛ بستهبندی خودکار وابستگیها؛ واردات انتخابی از طریق دیالوگ بصری؛ فیلتر هوشمند بین نسخهها |
| پروفایل امنیتی | بالا برای داراییهای منبع – فقط شامل اسکریپتهای .cs قابل خواندن توسط انسان و داراییهای کامپایلنشده است. متوسط برای افزونهها – میتواند شامل باینریهای بومی .dll/.so باشد که با مجوزهای کاربر اجرا میشوند. فقط بستهها را از منابع معتبر وارد کنید (Unity Asset Store، مخازن تأیید شده GitHub) |
| سازگاری | در تمام نسخههای یونیتی از 3.x تا 6.x (فعلی) کار میکند. صادرات از نسخه جدیدتر به نسخه قدیمیتر ممکن است هشدارهایی نشان دهد اما بهطور کلی سازگاری عقبگرد برای داراییهای پایه را حفظ میکند. برای وارد کردن نیاز به Unity Editor دارد—بدون حذف متادیتا نمیتواند توسط ابزارهای آرشیو استاندارد (7-Zip، WinRAR) باز شود |
نحوه باز کردن فایل UNITYPACKAGE
برای باز کردن یک فایل .UNITYPACKAGE، معمولاً این مراحل را دنبال میکنید:
- یونیتی را اجرا کنید.
- در ویرایشگر یونیتی، به منوی “Assets” بروید.
- از منوی کشویی، گزینه “Import Package” را انتخاب کنید.
- گزینه “Custom Package…” را انتخاب کنید.
- به مکان فایل
.UNITYPACKAGEدر کامپیوتر خود بروید. - فایل
.UNITYPACKAGEرا انتخاب کنید و روی “Open” کلیک کنید. - یونیتی فهرستی از داراییهای موجود در بسته را به شما نشان میدهد. میتوانید انتخاب کنید که کدام داراییها را وارد کنید یا همه آنها را وارد کنید.
- برای وارد کردن داراییهای انتخابشده به پروژه یونیتی خود، روی “Import” کلیک کنید.
UNITYPACKAGE در مقابل UPM (مدیر بسته یونیتی)
بسیاری از توسعهدهندگان فرمت قدیمی .unitypackage را با سیستم جدید UPM (Package Manager) یونیتی که از مانفیستهای package.json و آرشیوهای .tgz استفاده میکند، اشتباه میگیرند. در اینجا تفاوتها آمده است:
پکیجهای UPM برای کتابخانهها و ابزارهای قابل استفاده مجدد طراحی شدهاند. آنها در پوشه Packages/ قرار میگیرند و از قفلگذاری نسخه، نسخهبندی معنایی و بهروزرسانیهای خودکار پشتیبانی میکنند.
فایلهای UNITYPACKAGE برای داراییهای خاص پروژه (آرت، صحنهها، پریفابها، محتوای نمایشی) طراحی شدهاند. آنها در پوشه Assets/ قرار میگیرند و به صورت دستی مدیریت میشوند.
هر دو جایگاه خود را دارند. برای بهاشتراکگذاری داراییها بین توسعهدهندگان، .unitypackage همچنان سریعترین و قابل دسترسترین روش است.
سوالات متداول
**Q1: آیا میتوانم یک فایل .unitypackage را بدون نصب یونیتی باز کنم؟
پاسخ: بله، اما فقط بهصورت جزئی. ابزارهایی مانند 7‑Zip یا WinRAR میتوانند محتوا را استخراج کنند زیرا این یک آرشیو استاندارد .tar.gz است. با این حال، متادیتا (GUIDها، تنظیمات واردات) از دست خواهد رفت و فایلهای استخراجشده در صورت وارد کردن دستی مجدد بهدرستی کار نخواهند کرد.
**Q2: آیا میتوانم یک .unitypackage را به فایل .zip یا .rar تبدیل کنم؟
پاسخ: از نظر فنی بله—فقط پسوند .unitypackage را به .tar.gz تغییر دهید و آن را استخراج کنید. اما برعکس اینطور نیست. تبدیل یک .zip تصادفی به .unitypackage شکست میخورد زیرا یونیتی انتظار ساختار متادیتای خاصی را داخل آن دارد.
**Q3: چرا فایل .unitypackage من اینقدر بزرگ است در حالی که فقط یک اسکریپت کوچک صادر کردهام؟
پاسخ: احتمالاً یک پوشه حاوی سایر داراییها را صادر کردهاید، یا گزینه “Include dependencies” را فعال کردهاید که بافتها یا مدلهای بزرگ را که اسکریپت به آنها ارجاع میدهد (مثلاً یک متغیر عمومی GameObject که به یک مدل سهبعدی اشاره دارد) بههمراه میکند. از پیشنمایش صادرات استفاده کنید تا وابستگیهای ناخواسته را غیرفعال کنید.
**Q4: آیا دانلود فایلهای .unitypackage از اینترنت ایمن است؟
پاسخ: بهطور کلی برای داراییهای منبع (اسکریپتها، بافتها، مدلها) بله، زیرا حاوی کد اجرایی نیستند. اما بستهها میتوانند پلاگینهای بومی (.dll، .so، .bundle) را شامل شوند که ممکن است حاوی بدافزار باشند. فقط از فروشگاه رسمی Unity Asset Store یا مخازن معتبر GitHub دانلود کنید.
**Q5: آیا میتوانم یک .unitypackage را در Godot یا Unreal Engine استفاده کنم؟
پاسخ: خیر. فرمت UNITYPACKAGE متعلق به یونیتی است. با این حال، میتوانید داراییهای خام (.fbx، .png، .wav) را با استفاده از 7-Zip استخراج کنید و سپس آن نوع فایلهای استاندارد را به Godot، Unreal یا هر موتور دیگری وارد کنید. اسکریپتهای C# بدون تغییرات گسترده کار نخواهند کرد.