O que é o formato de ficheiro UNITY3D?
Um arquivo .unity3d é um arquivo de dados de jogo 3D que armazena informações para jogos de navegador que exigiam o plugin Unity Web Player para serem executados. Este tipo de arquivo era usado para implantar jogos criados com o motor Unity na web. Um único .unity3d contém código de jogo compilado, incluindo dados de ambiente, recursos (assets), objetos, texturas, animações, iluminação e áudio - empacotados como um contêiner binário serializado.
Internamente, os arquivos .unity3d começam com a tag ASCII UnityWeb no deslocamento de byte 0 (builds transmitidos compactados mais antigos) ou UnityFS para variantes mais recentes, seguidos por uma string de versão. Este formato de contêiner evoluiu posteriormente para o Unity AssetBundle (.bundle), que compartilha a mesma abordagem de serialização e ainda está em uso ativo.
O formato .unity3d é um formato proprietário criado pela Unity Technologies e é usado pelo motor de jogo Unity. O Unity Web Player - o plugin de navegador necessário para abrir arquivos .unity3d - foi descontinuado com o Unity 5.4 em 2016, após o qual os fornecedores de navegadores abandonaram totalmente o suporte ao plugin NPAPI. Como resultado, os arquivos .unity3d não podem ser reproduzidos em nenhum navegador moderno. Arquivos legados ainda podem ser inspecionados ou extraídos usando ferramentas da comunidade, como o AssetStudio.
Segurança e proteção
RISCO: MEDIUMUm .unity3d são dados carregados pelo runtime da Unity, mas pode conter scripts compilados (código do jogo), portanto, um pacote malicioso ou adulterado carregado por um aplicativo Unity não é puramente inerte. O maior risco prático é o ecossistema circundante: o plugin Unity Web Player está morto e sem correções, então NUNCA o reinstale ou execute um navegador NPAPI antigo para reproduzir esses arquivos. Extraia recursos em uma ferramenta isolada (AssetStudio) em vez de executar pacotes desconhecidos, e obtenha jogos apenas de fontes em que você confia.
Detalhes do formato
em resumoProgramas que abrem arquivos UNITY3D
Detalhes técnicos
especificação profunda| Tipo MIME | application/vnd.unity |
| Assinatura do arquivo | ASCII «UnityWeb» no deslocamento de byte 0 (build transmitido compactado); variantes mais recentes começam com «UnityFS» |
| Ordem dos bytes | Big-endian - o serializador legado da Unity armazena inteiros de vários bytes na ordem big-endian |
| Compressão | LZMA por padrão para builds transmitidos do Web Player; variantes posteriores de pacotes Unity também suportam LZ4 e modos não compactados |
| Estrutura do contêiner | Contêiner binário proprietário; não baseado em ZIP - os recursos e seu gráfico de dependência são armazenados em um layout serializado simples |
| Tipos de recursos | Cenas, malhas, texturas, clipes de áudio, shaders, scripts compilados (bytecode Mono) e dados de animação |
| Armazenamento de scripts | Bytecode Mono C# compilado - os arquivos de origem não estão incluídos; os scripts são incorporados ao pacote durante o processo de build da Unity |
| Compressão de textura | Texturas incorporadas em DXT (desktop), ETC (mobile) ou outros formatos compactados por GPU nativos da plataforma |
| Modelo de entrega | Projetado para streaming HTTP; o cabeçalho do arquivo é analisado primeiro para que os recursos possam começar a carregar antes que o download completo termine |
| Formato sucessor | Unity AssetBundle (.bundle / .assetbundle) - compartilha o mesmo núcleo de serialização e substituiu o .unity3d após a descontinuação do Unity Web Player |
| Descontinuação | O Unity Web Player - o único runtime que pode abrir .unity3d no navegador - foi descontinuado no Unity 5.4 (2016); nenhum navegador moderno o suporta |
| Desenvolvedor | Unity Technologies (San Francisco, CA); o formato é proprietário e não documentado publicamente |
| Lançado | Mid-2000s with the Unity Web Player; Web Player deprecated with Unity 5.4 (2016) |
| Especificação | docs.unity3d.com |