Qu'est-ce que le format de fichier UNITY3D ?
Un fichier .unity3d est une archive de données de jeu 3D qui stocke les données des jeux par navigateur nécessitant le plugin Unity Web Player pour s'exécuter. Ce type de fichier était utilisé pour déployer sur le Web des jeux créés avec le moteur Unity. Un seul fichier .unity3d contient le code de jeu compilé, y compris les données d'environnement, les ressources (assets), les objets, les textures, les animations, l'éclairage et l'audio - le tout empaqueté dans un conteneur binaire sérialisé.
En interne, les fichiers .unity3d commencent par la balise ASCII UnityWeb à l'offset d'octet 0 (anciennes versions compressées en flux) ou UnityFS pour les variantes plus récentes, suivies d'une chaîne de version. Ce format de conteneur a ensuite évolué vers l'Unity AssetBundle (.bundle), qui partage la même approche de sérialisation et est toujours activement utilisé.
Le format .unity3d est un format propriétaire créé par Unity Technologies et utilisé par le moteur de jeu Unity. Unity Web Player - le plugin de navigateur requis pour ouvrir les fichiers .unity3d - a été abandonné avec Unity 5.4 en 2016, après quoi les éditeurs de navigateurs ont totalement supprimé le support du plugin NPAPI. Par conséquent, les fichiers .unity3d ne peuvent être lus dans aucun navigateur moderne. Les fichiers existants peuvent toujours être inspectés ou extraits à l'aide d'outils communautaires tels qu'AssetStudio.
Sécurité et sûreté
RISQUE : MEDIUMUn .unity3d est une donnée chargée par le moteur d'exécution Unity, mais il peut contenir des scripts compilés (code de jeu), donc un bundle malveillant ou altéré chargé par une application Unity n'est pas purement inerte. Le plus grand risque pratique est l'écosystème environnant : le plugin Unity Web Player est mort et non corrigé, donc ne le réinstallez JAMAIS et n'utilisez jamais un vieux navigateur NPAPI pour lire ces fichiers. Extrayez les ressources dans un outil sécurisé (AssetStudio) plutôt que d'exécuter des bundles inconnus, et n'obtenez des jeux qu'auprès de sources de confiance.
Détails du format
en brefProgrammes qui ouvrent les fichiers UNITY3D
Détails techniques
spécifications approfondies| Type MIME | application/vnd.unity |
| Signature de fichier | ASCII « UnityWeb » à l'offset d'octet 0 (version compressée en flux) ; les variantes plus récentes commencent par « UnityFS » |
| Ordre des octets | Big-endian - le sérialiseur hérité d'Unity stocke les entiers multi-octets dans l'ordre big-endian |
| Compression | LZMA par défaut pour les versions Web Player en flux ; les variantes ultérieures de bundles Unity prennent également en charge les modes LZ4 et non compressés |
| Structure du conteneur | Conteneur binaire propriétaire ; non basé sur ZIP - les ressources et leur graphique de dépendance sont stockés dans une disposition sérialisée plate |
| Types de ressources | Scènes, maillages, textures, clips audio, shaders, scripts compilés (bytecode Mono) et données d'animation |
| Stockage des scripts | Bytecode Mono C# compilé - les fichiers sources ne sont pas inclus ; les scripts sont intégrés dans le bundle lors du processus de compilation Unity |
| Compression de texture | Textures intégrées en DXT (ordinateur), ETC (mobile) ou d'autres formats compressés par GPU natifs de la plateforme |
| Modèle de distribution | Conçu pour le streaming HTTP ; l'en-tête du fichier est analysé en premier afin que les ressources puissent commencer à se charger avant la fin du téléchargement complet |
| Format successeur | Unity AssetBundle (.bundle / .assetbundle) - partage le même cœur de sérialisation et a remplacé le .unity3d après l'abandon d'Unity Web Player |
| Obsolescence | Unity Web Player - le seul moteur d'exécution capable d'ouvrir le .unity3d dans le navigateur - a été abandonné dans Unity 5.4 (2016) ; aucun navigateur moderne ne le prend en charge |
| Développeur | Unity Technologies (San Francisco, CA) ; le format est propriétaire et non documenté publiquement |
| Publié | Mid-2000s with the Unity Web Player; Web Player deprecated with Unity 5.4 (2016) |
| Spécification | docs.unity3d.com |