Aseprite Importer na Unity: Arquivo .aseprite Direto no Projeto
O Aseprite Importer da Unity é um pacote oficial (com.unity.2d.aseprite) que permite arrastar o arquivo .aseprite ou .ase direto para o projeto, sem exportar PNG. A Unity gera os sprites, cria um clip de animação para cada tag e monta um Animator Controller automaticamente. Cada vez que você salva no Aseprite, a Unity reimporta e o personagem no jogo já aparece atualizado.
Aqui você vai instalar o pacote no Unity 6.3, importar o primeiro arquivo, entender as configurações que importam (Import Mode, camadas, Pixels Per Unit, pivô), decidir entre usar ou substituir o Animator gerado e montar um fluxo de edição sem fricção.
O que é o Aseprite Importer da Unity
O fluxo tradicional é: desenhar no Aseprite, exportar sprite sheet em PNG, importar na Unity, fatiar no Sprite Editor, criar cada clip arrastando frames, ajustar a duração de cada frame à mão. Qualquer mudança no desenho repete metade disso.
Com o importer, o arquivo de trabalho é o asset. Ele lê do .aseprite:
- Frames e duração individual de cada frame: o tempo que você definiu na timeline vira o tempo do clip.
- Tags: cada tag vira um Animation Clip. A configuração de repetição da tag define se o clip faz loop (infinito) ou toca de 1 a N vezes.
- Camadas e grupos: visíveis e ocultas (as ocultas são puladas, a não ser que você peça).
- Blend modes: suportados no modo de importação que junta as camadas.
- Tilemaps: pelo modo Tile Set.
- User data das células: viram Animation Events.
O que não é suportado: slices e direções de tag diferentes de Forward. Tags em Reverse ou Ping-pong importam como Forward. Se você seguiu o post de tags de animação no Aseprite e usou ping-pong num idle, duplique os frames na ordem inversa dentro da tag.
Instalando o pacote e importando o primeiro .aseprite
- Window > Package Management > Package Manager, lista Unity Registry, procure 2D Aseprite Importer e instale. Em projetos criados com o template 2D, ele pode já estar presente.
- Confira a versão: a linha 3.x exige Unity 6.3, e o manual do Unity 6.3 lista a 3.0.2 como liberada. A 2.x é para Unity 6.2, a 1.2.x para 6.1, e a 1.1.x atende Unity 6.0, 2022.3 e 2021.3.
- Arraste o arquivo
.asepritepara uma pasta do Project, comoAssets/Art/Characters/. - Selecione o arquivo. O Inspector mostra as configurações do importer. Clique em Apply depois de cada mudança.
- Expanda o asset no Project: dentro dele aparecem os sprites, os clips (um por tag), o Animator Controller e um prefab do modelo. Arraste o prefab para a cena e dê Play: a primeira animação já toca.
Sobre o Aseprite em si: é pago, US$ 19,99 na Steam e na loja do desenvolvedor (preço conferido em outubro de 2026). O código-fonte é público no GitHub, mas o binário pronto vem com a compra. Se você ainda está decidindo a ferramenta, o post sobre Aseprite para jogos cobre o editor. Nas alternativas gratuitas (LibreSprite, Pixelorama, Piskel), o caminho seguro para a Unity é exportar sprite sheet em PNG e fatiar no Sprite Editor.
Tags viram Animation Clips
O nome da tag vira o nome do clip. Nomeie com cuidado no Aseprite (atalho F2 cria uma tag na seleção de frames, ou use Frame > Tags > New Tag):
idle,run,jump,fall,attack,hurt: nomes curtos e iguais em todos os personagens. Assim os seus scripts e Animators funcionam para qualquer um.- Defina a repetição da tag: infinita para
idleerun, 1 vez paraattackehurt. O importer converte em Loop Time ligado ou desligado. - Ajuste a duração de cada frame na timeline do Aseprite (clique com o botão direito no número do frame, Frame Properties). Um ataque com antecipação longa e golpe rápido, como 120 ms, 120 ms, 40 ms, 40 ms, 100 ms, vira um clip com o mesmo ritmo.
Sem nenhuma tag, o importer gera um clip único com todos os frames.
Para eventos, use o User Data da célula. No Aseprite, clique com o botão direito numa célula, Cel Properties, e escreva no campo de user data event:OnFootstep. Para mandar um parâmetro, acrescente vírgula e o valor: event:OnAttackImpact,2. Os tipos aceitos são string, inteiro e float. Na Unity, um script no mesmo objeto do Animator precisa ter um método com esse nome.
Camadas, Import Mode e Pixels Per Unit
As configurações do Inspector, na ordem em que aparecem:
General
- Import Mode: Animated Sprite (padrão, para personagens), Sprite Sheet (só sprites, sem animação) ou Tile Set (para tilemaps do Aseprite).
- Pixels Per Unit: quantos pixels formam uma unidade da Unity. Para pixel art, use o tamanho do seu tile: se o tileset é de 16x16, use 16. Assim um tile ocupa exatamente uma unidade e a física e a câmera ficam previsíveis.
- Mesh Type: Tight (padrão) ou Full Rect. Sprites menores que 32x32 sempre usam Full Rect.
Layer Import
- Import Mode: Merge Frame (padrão) junta todas as camadas num sprite por frame. Individual Layers gera um sprite por camada e um GameObject por camada no prefab, com Sorting Group na raiz. Use Merge Frame para personagens comuns e Individual Layers quando você quer trocar partes (arma, chapéu) no jogo.
- Include Hidden Layers: desligado por padrão. Deixe assim e use camadas ocultas para rascunho e referência.
- Pivot Space e Pivot Alignment: o padrão é Canvas com alinhamento Bottom, ou seja, o pivô fica na base do canvas. Para personagem de plataforma, é o que você quer: o pivô nos pés.
- Mosaic Padding: 4 px de espaço entre sprites no atlas, que evita sangramento de pixels vizinhos.
Generate Assets
- Model Prefab, Sorting Group, Animation Clips e Individual Events: ligados por padrão. Com Individual Events desligado, todos os eventos chamam um único
OnAnimationEvent(string).
Juntar pixel art, animação e um personagem que responde ao controle com colisão e câmera certas é o ponto em que a arte deixa de ser arquivo e vira jogo. Se você quer fazer essa passagem dentro de um projeto completo na Unity, com cada parte no lugar e explicada, o curso foi feito para isso.
Animator gerado automaticamente: usar ou substituir
O Animator Controller gerado tem um estado para cada tag e é somente leitura: você não consegue adicionar transições nem parâmetros nele.
Use o gerado quando o script troca de animação diretamente com animator.Play("run"). Para protótipo e para objetos simples (moeda girando, tocha, inimigo que só anda), é perfeito.
Substitua quando você precisa de transições, parâmetros e Blend Trees. No Inspector do importer, clique em Export Animation Assets, marque Animator Controller e escolha uma pasta. Deixe Animation Clips desmarcado: assim o controller exportado é editável e continua apontando para os clips dentro do .aseprite, que seguem atualizando quando você salva. Depois, no componente Animator do personagem, troque o controller pelo exportado.
O único custo: tags novas criadas depois no Aseprite não entram sozinhas no controller exportado. Arraste o clip novo para dentro dele.
Fluxo de trabalho: editar no Aseprite e ver na Unity
- Deixe o Aseprite e a Unity abertos lado a lado.
- Edite e salve com Ctrl+S no Aseprite.
- A Unity reimporta. A preferência Background Import, em Edit > Preferences > 2D > Aseprite Importer (ligada por padrão), faz a importação acontecer mesmo com o editor em segundo plano.
- Se o jogo estiver rodando, saia e entre no Play para ver a mudança no Animator.
Algumas regras que evitam retrabalho: mantenha o tamanho do canvas fixo durante o projeto (mudar o canvas desloca o pivô de todos os frames), e não renomeie tags já usadas em código ou transições.
Na Godot, o caminho equivalente é exportar sprite sheet com JSON e montar as animações num AnimatedSprite2D, ou usar um plugin da comunidade que lê o .aseprite. O blog tem um passo a passo de exportar sprite sheet do Aseprite para a Godot. As duas engines chegam ao mesmo lugar: o arquivo de arte vira animação sem fatiar à mão.
Erros comuns: arquivo não reconhecido, pivô errado e frames duplicados
Arquivo não reconhecido (aparece como asset genérico). O pacote não está instalado, a versão não bate com o editor (a 3.x não roda abaixo do Unity 6.3) ou o arquivo foi salvo com outra extensão. Confira o Package Manager e a extensão .aseprite ou .ase.
Pivô errado, personagem flutuando ou enterrado. O pivô é calculado sobre o canvas. Se o canvas tem espaço vazio embaixo dos pés, o pivô fica no espaço vazio. Recorte o canvas no Aseprite (Sprite > Canvas Size) para os pés tocarem a borda de baixo, ou use Pivot Space: Local e um alinhamento personalizado.
Frames duplicados ou animação mais longa que o esperado. Duas tags que se sobrepõem geram os mesmos frames nos dois clips, o que é esperado. Se um clip tem frames a mais, a tag está cobrindo frames vizinhos na timeline. Em Individual Layers, o número de sprites multiplica pelo número de camadas, o que é normal.
Pixel art borrada. A câmera ou o Pixels Per Unit não batem com a arte. Use o mesmo PPU em todos os sprites e um Pixel Perfect Camera na câmera 2D.
Evento com aviso de receptor ausente. O script com o método do event: não está no mesmo objeto do Animator, ou o nome difere.
Próximo passo
Pegue um personagem com tags idle e run, importe e faça o script trocar entre os dois com animator.Play. Depois exporte o controller e troque o Play por parâmetros e transições. O post de animação 2D na Unity, do sprite sheet ao Animator mostra o mesmo processo partindo de PNG, para quando a arte não vem do Aseprite.
Perguntas frequentes
Preciso exportar sprite sheet do Aseprite para usar na Unity?
Não com o pacote 2D Aseprite Importer. Ele lê o arquivo .aseprite ou .ase direto e gera sprites, clips de animação e um Animator Controller. Exportar PNG continua sendo uma opção, mas aí você perde a reimportação automática e as tags viram trabalho manual.
Qual versão do Aseprite Importer usar no Unity 6.3?
A versão 3.x do pacote com.unity.2d.aseprite exige Unity 6.3, e o manual do Unity 6.3 lista a 3.0.2 como liberada. Projetos em Unity 6.0 LTS usam a linha 1.1 do pacote.
A tag em ping-pong do Aseprite funciona na Unity?
Não. O importer só suporta a direção Forward das tags. Para um efeito de ida e volta, duplique os frames na ordem inversa dentro da tag no Aseprite, ou monte o clip manualmente na Unity.
Posso editar o Animator gerado pelo Aseprite Importer?
O Animator Controller gerado é somente leitura. Use Export Animation Assets nas configurações do importer para gerar uma cópia editável, mantendo os clips ligados ao arquivo .aseprite para que continuem atualizando.


