Links: WebGL Demo | Asset Store User Manual Release Notes ■ Description Kinematic 2D is a fully Kinematic (non-physics based) 2D Character controller solution that allows you to do the movement of your 2D character while handling collisions. ■ Main Characteristics - It offers the functionalities the default Unity Character Controller offers and many more (steps and slopes handling, ground alignment, ground clamping, etc). - It was designed only for two dimensional movement (2D). - The collision detection method works with 2D and 3D colliders. - The character body shape is a box (instead of a capsule, this is great for platformers). - Designed with Unity's rigidbody interpolation in mind, you can choose between three availables types of motion modes: "Transform", "Rigidbody Non-Interpolated" and "Rigidbody Interpolated". - Really good performance, (tested in desktop with 500 2D interpolated moving characters, resulting in >300 fps without Vsync). ■ Games This asset was initially designed for 2D platform games (platformers) in general, although you can use it in some clever way and make it work the way you want (like for example a top-down 2D game). ■ Main Content - The Core: The main part of the package, it does the heavy lifting regarding collision detection and movement in general. - The Implementation: Consist of a bunch of components that implement the functionality of “the core” (Input, movement handling, animation, AI). This part of the package acts as an example implementation of the Core, although it’s super handy and useful. It include a character state machine, some useful abilities, and more. - Extras: A bunch of scripts with some useful functionality (Platform controller, 2D Camera, etc). - Walkthrough: 27 dedicated scenes included with the aim of introduce the main features of the package (Core and Implementation). ■ Collision Detection The main difference with others character controllers out there is that Kinematic2D uses a combination of Boxcast and Raycast methods to detect collisions, this means not only fine precision but performance. The Boxcast solution is great for complicated shapes and it is very efficient. ■ Requirements Even if everything works just fine from the get go It's recommended to have at least some basic C# programming skills (intermediate level recommended) to take full advantage of the asset, for example to extend the character controller, add new states or new abilities, customize the animation system, create the AI, etc. ■ Main Features Core: - Completely Kinematic. - Box-based collision detection. - Raycast and Boxcast collision detection methods integrated. - No GC Allocations. - It supports 2D and 3D collisions. - It supports rigidbody interpolation movement. - Can handle steps. - Can handle slopes. - Can depenetrate from moving/rotating colliders. - The character will never go through walls. - It supports moving and rotating platforms. - Ground clamping. - Orientation friendly (this means that you can move your character perfectly in any orientation, good for gravity shifting scenarios). - Ground alignment. - Vertical alignment modes (this allows you to set the vertical axis of your character, independet from the ground alignment). - Independence between Collision Shape and Character Graphics. - Facing direction modes, "Rotation" and "Negative local scale" with individual Yaw and Roll parameters. - Fully commented C# Source Code. - Tooltips available. Implementation: - Chraracter controller implemented as a state machine with separated abilities. - External movement data (scriptable objects) allowing pluggable movement behaviours. - Create Movement Areas (also called "environments"), such as water, ice, honey, etc (this affects the horizontal and vertical movement parameters separately). - Configurable horizontal movement. - Configurable vertical movement. - Precise Jump.(as many as you want) - Cancel jump with the release of a button. - Air control. - Crouch - Precise Dash.(as many as you want) - Input based Dash (inspired by the game “Celeste”). - Wall slide. - Input based Wall Jump. - Wall and Corner alignment. - Action-based movement, not input based ( useful when integrating the AI). - AI behaviours, customizable via scriptable objects. - Create your custom abilities by right clicking on the Project View. - Override the animation actions with your custom solution. - Override the input methods. Extras: - Characters: Boxy2D , Boxy3D and Roboto (animated). - Moving/Rotating Platform Controller. - 2D Camera. - FPS Counter. - etc. VIDEOS Final Note Please, if you have any questions feel free to send me an email and ask me anything, i'm open to answer to your questions about what this asset can or can not do.