Highly customizable and versatile entity controller. Get your 2D characters moving and set up fast with just this package. No code necessary. Will work on more than just your playable character.Works with Unity 2019.4.16f1. Other versions not tested but should also work.Documentation site.Playable demo of movementThe EntityController2D is a pack that makes it fast and easy to get characters in your 2D game moving. Anything from characters that are controlled by a player to NPCs and enemies. It was made for people who want to speed up their game making time or even learn how to make a character controller.With this pack you will be able to quickly set up an entity that has simple movement, or one that is more complex for the player to control. From simple moving and jumping to, that plus, jumping on walls, climbing, dashing, and even running up walls, the Entity Controller was designed for customization, control, and being expanded on to further fit your game.Customizable states make it easy to change how your entities will move but also provide structure for code to be added allowing for easy expansion for movement capabilities.This pack was made with 2d platformers in mind but will work for any 2d side scrolling game and potentially 3d side scrolling games.Check out the Technical Details for more information. Or email me with any questions or requests you may have.Dont Forget to leave a review.Entity Controller:move, slide, jump, dash, climb walls, jump off of walls, run on any surfacecustomizable variables for all movement actionsunity events for easy additional of effectsstate based for control over entity movementeasy to code in new featuresThe entity controller is a state machine that also provides additional functions for each state to use and functions for outside classes to retrieve information on entity movement. Each state contains its own list of variables and is a contained way of providing the entity with different movement functionality based on its current state (ex: on a wall or on the ground). States take in input and decide on the action to take. Input is gathered from a controller class which can be swapped out allowing for Player taking over Ai controlled entities or vice versa. The controller class can also be swapped out for any other input method such as Unity's input handler.Controller:swappable class for controlling Entity Controllerhandles user input with easy to set up scriptable listswappable and adjustable in code to easily give any entity an Ai controllerNow supports input from Unity's newer input system as well as the oldThe controller class is a class made to provide other classes with input, or actions, from the controlling source (human, ai, or simple if's and else's). Controllers inherit from a base class which provides functions for other classes to grab needed info from. A controller for a player is provided that handles button presses and can easily be set up with a scriptable input map. The input map is a scriptable list of inputs and the actions they should represent, along with some additional variables for customization. Repeated inputs are allowed. Controllers can be substituted in code easily for any other input method.Animations:use any animation method with entitiespre set up examples of code based animation and Unity's built in anim state machineThe Entity Controller is no way tied to a specific animation method making it compatible with any way of animating your characters. Entity Controller puts out info such as "is grounded" or "not grounded, on wall, climbing". Your animation method just needs to get this info for it to decide what animation to play.