Intro

The AutoAnim Plugin for Godot 3.5 is an addon that aims to simplify the character creation process for 2D games. By automating certain repetitive and monotonous tasks, this plugin will enable devs to more quickly create usable character scenes to place within their game worlds.

This extension is still in development at this time and I am working to improve it as much as possible. With your help, we can make a wonderful resource that will let indie devs gets more games to market so we can all play them!

Ways to get involved:

Download and use the plugin to make a project, and report back within issues you have, and any suggestions you think of.

Take a peep through the source code and help me correct errors, optimize functions, and streamline the entire thing.

See a typo, or something could be made more clear? Let me know and I can make updates!

Any level of support helps me spend less time trying to make ends meet and more time developing tools for the Godot community.

Come chat on the server and grow the community.

Help my channel grow to reach more people so we can bring great minds together to create amazing things.

Getting Started

Adding the AutoAnim Plugin to your Project

  1. Download the files from GitHub.

    Download Plugin files from GitHub.

  2. Extract the files (if desired).

    Extract the files if desired

  3. Copy the 'addons’ folder to a new project.*

    Copy the addons folder to a new Godot project

  4. Enable the addon in the Project Settings, then click 'Close'.

    Click Prokect Settings in the meun bar in Godot.
    Enable the addon in Project Settings, then click close.

* While the add-on can be used with existing projects, it is recommended to use it with a brand new project due to how the scripting of characters created with this plugin is set up.

First Time Setup

The first time you enable the plugin, you will see the First Time Setup pop-up. This interface has you set up the default settings for your project.

  1. Select your character directory.
  2. Select your asset directory.
  3. Select which type of project you're making.
  4. Input the default width and height of your character sprites.*
  5. Input the default length of your animations.*
  6. Input the default step between animation frames.*
  7. Click save & close.

* These settings can be set for each individual state.

Once you've completed the First Time Setup, you can access the main addon interface by clicking 'AutoAnim' in your editor's interface bar - the one by 2D, 3D, Script, and Asset Library (by default).


Setting Up Your Spritesheets

The function of this plugin relies upon properly set up spritesheets. The magic works by automatically calculating the hframes and vframes on the spritesheet, then iterating over the frames by row and assigning them to the appropriate timing on the animation timeliness. To make sure this process happens as seamlessly as possible, please adhere to the following guidelines when creating your spritesheets:

  1. Every frame should be the same size. Leaving some empty space around your characters will give you space for your character to squash and stretch without having to change the frame size.
    NOTE: This does not mean that the height and width must be the same. Your sprite can have a different width than height and still work (see below for example)

  2. The order of your sheets should follow this pattern:
    1. South
    2. Southeast
    3. East
    4. Northeast
    5. North
    6. Northwest
    7. West
    8. Southwest
  3. Each direction should be on its own line.
  4. Each state should have its own sheet.

Template / example spritesheets are in the Assets folder in the main zip file when you download the plugin from GitHub.

Examples:

Will not work

This character sheet is NOT set up properly.

  • Frames are not consistent sizes
  • A duplicate frame is needed for the animations to work
  • The directions are NOT in the proper order (All are E)
  • More than one state's animation is on the sheet
  • All directions are not separated out onto one line each
Will not work

This character sheet is NOT set up properly.

  • All frames are the same size (16px by 18px)
  • A duplicate of the center frame on each row is needed for the animation to work.
  • The directions are NOT in the proper order (N,W,S,E)
  • More than one state's animation is on the sheet
  • Each direction is on one line

Image Credit: CruzR on OpenGameArt.org

Will not work

This character sheet is NOT set up properly.

  • All frames are the same size (16px by 16px)
  • Every frame is accounted for in the sheet
  • The directions are NOT in the proper order (S,N,E,W)
  • A single state's animation is on the sheet
  • Multiple directions on one line
Will not work

This character sheet is NOT set up properly.

  • All frames are the same size (32px by 32px)
  • A duplicate of the center frame on each row is needed for the animation to work
  • The directions are NOT in the proper order (S,E,W,N)
  • A single state's animation is on the sheet
  • Each direction is on one line

Image Credit: Pipoya on Itch.io

Will not work

This character sheet is NOT set up properly.

  • All frames are the same size (16px by 16px)
  • Every frame is accounted for in the sheet
  • The directions are NOT in the proper order (S,N,W,E)
  • A single state's animation is on the sheet
  • Each direction is on one line
Will work

This character sheet is set up properly.

  • All frames are the same size (16px by 16px)
  • Every frame is accounted for in the sheet
  • The directions are in the proper order (S,E,N,W)
  • A single state's animation is on the sheet
  • Each direction is on one line

Image Credit: zaphgames on OpenGameArt.org
*with minor edits by me


Generating Animations

  1. Name and add your character.
  2. Select the state from the states box.
  3. Select 'Edit State'.
  4. Assign your spritesheet to the state.
  5. Ensure that your other settings are correct for your animation.
  6. Click save.
  7. Click 'Generate Animations'.*

* You may need to click the button twice. This is a known bug.


Troubleshooting

Known Issues

Please check the Git Hub Issues Page for Known Issues and their workarounds.

Please report any bugs not listed here to the Discord Server under the Bug Reports channel or directly on the Git Hub Issues Page.


Wishlist Features

These are the features I plan to implement eventually but are not yet part of the plugin.

If you'd like to help implement one or more of these, please let me know and I'll set up a branch for you - or fork the GitHub project!

Feature Description Status

Aseprite file compatibility

Add the ability to directly use .ase files to generate animations, set states, and set up blend trees.

Not yet started.

Advanced frame configuration

Add the ability to have your characters use a single spritesheet, or have any order of directions on the sheet instead of using the current strict formatting guidelines.

Not yet started.

Character Scene Inheritance

Make character scenes inherit from BaseCharacter.tscn so changes will propogate automatically to all created characters.

Not yet started.

Player Characters

Add the ability to tell the plugin when a character should be a player and receive input accordingly. Currently, you must go back and change the script manually by extending the BaseCharacter (AABaseCharacter.gd) script.

Done!

You can now toggle whether a character is a player in the character scene's inspector.

Easier use of plugin in existing projects

Add functionality to allow users to more easily add this plugion to existing projects. Currenlty this can be done but will take a significant amount of configuration.

Not yet started.

If there is a feature you'd like to see, please let me know in either the Discord 'suggestions' channel or on the Git Hub Issues Page (use 'New Issue' and 'Feature Request').


Contact

Please feel free to contact me on the Discord server if you are having trouble with this plugin or have any comments or suggestions.