Wat is het UNITYPACKAGE-bestandsformaat?
Een .unitypackage-bestand is het eigen formaat van Unity Technologies voor het verpakken en distribueren van Unity-assets tussen projecten en via de Asset Store. Onder de motorkap is het een gzip-gecomprimeerd TAR-archief - hernoem het bestand naar .tar.gz en elk hulpprogramma zoals 7-Zip kan het uitpakken, maar assets worden alleen correct gereproduceerd wanneer ze via de Unity Editor worden geïmporteerd.
Binnenin bevat het archief één map per asset, genoemd naar de 128-bits GUID van de asset. Elke map bevat:
- de onbewerkte asset-databytes
- een
.meta-bestand met de GUID en importinstellingen - een
pathname-tekstitem dat het oorspronkelijke project-relatieve pad vastlegt - een optionele
preview.png-miniatuur
Deze lay-out stelt Unity in staat om de oorspronkelijke mappenstructuur te reconstrueren en verwijzingen tussen assets intact te houden bij import. Om te importeren, sleept u het bestand naar het Unity Editor-venster of gebruikt u Assets > Import Package.
De .unitypackage is sinds de lancering in 2010 de standaard distributie-eenheid voor de Unity Asset Store en blijft ondersteund in Unity 6. Het bestaat naast het nieuwere Unity Package Manager (UPM)-formaat, dat deze aanpak vervangt door een gewone tarball en een package.json-manifest dat via het venster Package Manager wordt geïnstalleerd in plaats van direct te worden geïmporteerd.
Het archief bevat een gzip CRC-32 checksum, maar bevat geen cryptografische handtekening, waardoor het auteurschap niet kan worden geverifieerd zonder externe hulpmiddelen.
Beveiliging & veiligheid
RISICO: MEDIUMEen .unitypackage kan C#-scripts (.cs), editor-scripts en DLL's bevatten die binnen de Unity Editor worden uitgevoerd wanneer ze worden geïmporteerd - een kwaadaardig pakket kan dus code uitvoeren in uw project, niet alleen inerte kunst toevoegen. Importeer pakketten alleen van vertrouwde bronnen (de officiële Unity Asset Store controleert inzendingen; willekeurige forum- of torrent-pakketten niet). Controleer meegeleverde scripts/DLL's voordat u ze importeert en behandel een gedownload pakket als elke andere code van derden. Door het eerst als .tar.gz uit te pakken, kunt u inspecteren wat erin zit.
Formaatdetails
in een notendopProgramma's die UNITYPACKAGE-bestanden openen
Technische details
diepe specificaties| Containerformaat | gzip-gecomprimeerd POSIX tar-archief, equivalent aan een .tar.gz-bestand |
| Magic bytes | 0x1F 0x8B op byte-offset 0 (standaard gzip-handtekening) |
| Compressie | gzip / DEFLATE toegepast op de gehele archiefstroom |
| Interne structuur | Eén map per asset, elke map genoemd naar de 128-bits GUID van de asset |
| Items per asset | Asset-databestand, .meta-bestand (GUID + importinstellingen), pathname-tekstbestand en een optionele preview.png-miniatuur |
| Asset-identificatie | Elke asset krijgt een 128-bits GUID toegewezen die is opgeslagen in het bijbehorende .meta-bestand; GUID's blijven behouden bij uitwisseling tussen projecten |
| Padherstel | Een pathname-tekstitem in elke GUID-map legt het oorspronkelijke project-relatieve pad vast, gebruikt om de mappenstructuur te reconstrueren bij import |
| Integriteitscontrole | gzip CRC-32 op de gecomprimeerde stroom; er is geen cryptografische handtekening of code-signing toegepast |
| Versleuteling | Geen - geen ingebouwde versleuteling; de inhoud van het archief is volledig leesbaar na uitpakken |
| MIME-type | application/octet-stream (primair); application/gzip wordt ook door sommige hosts gebruikt |
| Typische bestandsgrootte | Tientallen kilobytes tot verscheidene gigabytes, afhankelijk van de hoeveelheid texturen, modellen en audio |
| Platformondersteuning | Windows, macOS en Linux - overal waar de Unity Editor of een tar-compatibel hulpprogramma beschikbaar is |
| Importmethode | Sleep het bestand naar het Unity Editor-venster, of gebruik Assets > Import Package in de menubalk |
| Relatie tot UPM | Verschilt van Unity Package Manager-pakketten, die een gewone tarball met een package.json-manifest gebruiken en via het venster Package Manager worden geïnstalleerd in plaats van als assets te worden geïmporteerd |
| Uitgebracht | Mid-2000s (Unity asset export; Asset Store launched 2010) |
| Laatste versie | Legacy .unitypackage export (current Unity 6); coexists with the newer UPM/tarball package format |
| Specificatie | docs.unity3d.com |
UNITYPACKAGE conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over UNITYPACKAGE-bestanden.