Co to jest format pliku UNITYPACKAGE?
Plik .unitypackage to zastrzeżony format Unity Technologies służący do pakowania i dystrybucji zasobów Unity między projektami oraz za pośrednictwem Asset Store. Pod maską jest to archiwum TAR skompresowane algorytmem gzip - zmiana rozszerzenia na .tar.gz pozwoli dowolnemu narzędziu, takiemu jak 7-Zip, na jego dekompresję, jednak zasoby zostaną poprawnie odtworzone tylko po zaimportowaniu przez Unity Editor.
Wewnątrz archiwum znajduje się jeden katalog na każdy zasób, nazwany zgodnie z 128-bitowym identyfikatorem GUID zasobu. Każdy katalog zawiera:
- surowe dane binarne zasobu
- plik
.metaniosący GUID i ustawienia importu - wpis tekstowy
pathnamerejestrujący oryginalną ścieżkę względem projektu - opcjonalną miniaturę
preview.png
Taki układ pozwala Unity na zrekonstruowanie oryginalnej struktury folderów i zachowanie powiązań między zasobami podczas importu. Aby zaimportować plik, przeciągnij go do okna Unity Editor lub użyj Assets > Import Package.
Format .unitypackage jest standardową jednostką dystrybucji w Unity Asset Store od jego uruchomienia w 2010 roku i pozostaje obsługiwany w Unity 6. Współistnieje on z nowszym formatem Unity Package Manager (UPM), który zastępuje to podejście zwykłym tarballem i manifestem package.json, instalowanym przez okno Package Manager, a nie importowanym bezpośrednio.
Archiwum posiada sumę kontrolną gzip CRC-32, ale nie zawiera podpisu kryptograficznego, więc autorstwo nie może być zweryfikowane bez zewnętrznych narzędzi.
Bezpieczeństwo
RYZYKO: MEDIUMPlik .unitypackage może zawierać skrypty C# (.cs), skrypty edytora oraz biblioteki DLL, które uruchamiają się wewnątrz Unity Editor podczas importu - zatem złośliwy pakiet może wykonać kod w Twoim projekcie, a nie tylko dodać pasywne grafiki. Importuj pakiety wyłącznie z zaufanych źródeł (oficjalny Unity Asset Store weryfikuje zgłoszenia; pakiety z losowych forów lub torrentów nie). Przejrzyj dołączone skrypty/DLL przed importem i traktuj pobrany pakiet jak każdy inny kod osób trzecich. Wypakowanie go najpierw jako .tar.gz pozwala sprawdzić, co jest w środku.
Szczegóły formatu
w pigułceProgramy otwierające pliki UNITYPACKAGE
Szczegóły techniczne
specyfikacja| Format kontenera | archiwum POSIX tar skompresowane gzip, odpowiednik pliku .tar.gz |
| Magiczne bajty | 0x1F 0x8B na offsecie 0 (standardowa sygnatura gzip) |
| Kompresja | gzip / DEFLATE zastosowane do całego strumienia archiwum |
| Struktura wewnętrzna | Jeden katalog na zasób, każdy katalog nazwany 128-bitowym identyfikatorem GUID zasobu |
| Wpisy dla zasobu | Plik danych zasobu, plik .meta (GUID + ustawienia importu), plik tekstowy pathname oraz opcjonalna miniatura preview.png |
| Identyfikacja zasobów | Każdemu zasobowi przypisany jest 128-bitowy GUID przechowywany w towarzyszącym mu pliku .meta; identyfikatory GUID przetrwają przenoszenie między projektami |
| Przywracanie ścieżek | Wpis tekstowy pathname w każdym folderze GUID rejestruje oryginalną ścieżkę względem projektu, używaną do rekonstrukcji układu folderów podczas importu |
| Kontrola integralności | gzip CRC-32 na skompresowanym strumieniu; nie stosuje się podpisu kryptograficznego ani podpisywania kodu |
| Szyfrowanie | Brak - brak wbudowanego szyfrowania; zawartość archiwum jest w pełni czytelna po dekompresji |
| Typ MIME | application/octet-stream (główny); application/gzip również używany przez niektóre serwery |
| Typowy rozmiar pliku | Od kilkunastu kilobajtów do kilku gigabajtów, zależnie od ilości zawartych tekstur, modeli i dźwięku |
| Obsługa platform | Windows, macOS i Linux - wszędzie tam, gdzie dostępny jest Unity Editor lub narzędzie obsługujące tar |
| Metoda importu | Przeciągnięcie pliku do okna Unity Editor lub użycie Assets > Import Package w pasku menu |
| Relacja do UPM | Odrębny od pakietów Unity Package Manager, które używają zwykłego tarballa z manifestem package.json i są instalowane przez okno Package Manager, a nie importowane jako zasoby |
| Wydano | Mid-2000s (Unity asset export; Asset Store launched 2010) |
| Najnowsza wersja | Legacy .unitypackage export (current Unity 6); coexists with the newer UPM/tarball package format |
| Specyfikacja | docs.unity3d.com |
Konwersje UNITYPACKAGE
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki UNITYPACKAGE.