Voltar para o Blog
Quest Log

Aseprite Importer na Unity: Arquivo .aseprite Direto no Projeto

Personagem em pixel art passando de uma janela de editor de pixel art para uma janela de engine com linhas de animação

Unity Aseprite Importer: arraste o .aseprite para o projeto e gere sprites, clips por tag e Animator sozinho, reimportando a cada vez que salva no Aseprite.

Ferramenta:UnityAseprite

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

  1. 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.
  2. 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.
  3. Arraste o arquivo .aseprite para uma pasta do Project, como Assets/Art/Characters/.
  4. Selecione o arquivo. O Inspector mostra as configurações do importer. Clique em Apply depois de cada mudança.
  5. 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 idle e run, 1 vez para attack e hurt. 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.

Curso de Unity
Quer fazer seu primeiro jogo na Unity?

No curso de Unity 6 da CursoGame.Dev você vai do zero ao primeiro jogo, com um desafio prático em cada level e suporte individual no WhatsApp quando travar.

Conhecer o curso de Unity
Suporte no WhatsAppAcesso vitalícioGarantia de 7 dias

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

  1. Deixe o Aseprite e a Unity abertos lado a lado.
  2. Edite e salve com Ctrl+S no Aseprite.
  3. 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.
  4. 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.