A feature-rich, highly customizable, general purpose (not game-genre tied) kinematic character controller.Easy Character Movement 2 doesn’t do any rendering, it’ll work with any render pipeline. The demos are made using the Built-in Render Pipeline, as it’s still the most common denominator, but you can use any RP you prefer.Easy Character Movement 2 is a robust, feature-rich, highly customizable, general purpose (not game-genre tied) kinematic character controller.ECM2 can be used for any kind of character (player or AI controlled) and for a wide range of games like, platformer, ﬁrst person, third person, adventure, point and click, and more!ECM2 thas been developed with extensibility in mind so you can rest assured it will serve you as a robust platform to build your game or add your unique game mechanics on top of it.ECM2 includes over 40 examples, ranging from using the new input system custom actions, PlayerInput component, first person, third person, target lock, twin-sick movement, dash, slide, ladders, AI, Cinemachine, Bolt, and many more!Extensive documentation, and fully commented readable source code included.WHAT'S NEW?Starting from version 1.1.0, the Character Movement component has been completely rewritten as a fully kinematic character controller and has been developed as a comprehensive alternative to Unity's built-in Character Controller following the same workflow (Move).A particularly important new feature is its new ground detection algorithm based on real surface normal, it supports all Unity’s primitive colliders (Box, Sphere, Capsule), Terrain Collider and Mesh Colliders (convex and non-convex).First-Class transparent platforms support. The CharacterMovement component is able to transparently (without further steps needed by you) manage moving platforms, being dynamic rigidbodies, scripted, animated, or even fully simulated vehicles!Use Flat Base for Ground Checks. When enabled, it performs ground checks as if the character is using a shape with a flat base. This avoids the situation where characters slowly lower off the side of a ledge (as their capsule 'balances' on the edge).Network friendly. Full control over its update and simulation timestep.FEATURESKinematic character controller.Work the Unity's way, simply call its Move method, just like Unity' Character Controller.Robust ground detection based on real surface normal.Slope Limit Override lets you define walkable areas per-face or even per-object.Configurable walkable area (perchOffset) lets you define the character's 'feet' radius.Capsule-based with Flat Base for Ground Checks option. This avoids the situation where characters slowly lower off the side of a ledge.Ground constraint, prevent the character's being launched off ramps.Configurable Plane Constraint so movement along the locked axis is not possible.Auto-stepping preserving character's momentum (e.g. its stride).User-defined gravity and up vector for mario galaxy like effects.Physics interactions.Character vs Character interactions.First-class, transparent (without further steps needed by you) platforms support, be it animated, scripted, or physics based.Collision and Grounding events.Network friendly. Full control over the update and simulation timestep.Flexible and customizable behavior through callbacks.Fully configurable friction based movement including water buoyancy!Uses Unity New Input System as its default input (but not limited to).Different movement modes and states, like walking, falling, unlimited variable height jump, crouching, sprinting, flying, swimming, etc.First person, Third person, Agent “base” characters.Full control over how a character is affected (or not) by external forces, platform velocity, platform movement and / or rotation, push other rigidbodies and or characters.Character actions events.Extensive and configurable collision filtering.Different template scenes (First person, Third person, Side scroller, Top down) for faster startup.40+ examples including custom input actions, cinemachine integration, first person, third person, character events, bouncers, fly, swim, dash, slide, ladders, and much more!Developed with extensibility in mind, can be used as it is, extend one of its “base” characters or simply take control of them using controllers such as other scripts or visual scripting (e.g. Bolt).Physics Volumes, to easily handle water, falling zones, etc. with configurable properties.Root motion support.Simple to use but complete API.Easy integration into existing projects.Fully commented C# source code. Clear, readable and easy to extend.Garbage-Collector friendly, no GC allocations.INSTALLATIONECM2 requires Unity's New Input System and is recommended to install it before importing ECM2 into your project as this will ease the ECM2 import process.ECM2 includes Cinemachine based examples, this are distributed as a .unitypackage, so before unpack this, please make sure to install the Cinemachine package into your project.ECM2 includes Bolt based examples, this are distributed as a .unitypackage, so before unpack this, please make sure to install Bolt into your project.FAQDo I have to use new input system?No, while ECM2 uses Unity New Input system by default, you can completely ignore it an replace it with any other input system you prefer. ECM2 It include several examples of how to make use of old input system.Can I use URP/HDRP with ECM2?Yes, ECM2 doesn’t do any rendering, it’ll work with any render pipeline. The demos are made using the Standard Render Pipeline (built-in), as it’s still the only stable one, and the most common denominator, but you can use any RP you prefer.HELP AND SUPPORTUser ManualAPI ReferenceForumEmail*Unity Character and Animations by Unity Technologies.Important note on package dependenciesECM2 requires Unity's New Input System and is recommended to install it before importing ECM2 into your project as this will ease the ECM2 import process.ECM2 includes Cinemachine based examples, this are distributed as a .zip file, so before unpack this, please make sure to install the Cinemachine package into your project.ECM2 includes Bolt based examples, this are distributed as a .zip, so before unpack this, please make sure to install Bolt into your project.