Easy Character Movement 2 is a robust, feature-rich, highly customizable, general purpose (not game-genre tied) kinematiccharacter 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.
Removed New Input System dependency.
ECM2 includes 2 versions, ECM2 - Input System, using the Unity's new Input System package, and a new one ECM2 - Input Manager, which uses the old input manager without any dependency on new input system.
Users decide which version to import.
- Kinematic 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.
* Please remove the ECM2 folder from your unity project before importing this update.
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.
Do I have to use new input system?
No, ECM2 now includes a version without any external depency using the Unity old input manager.
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 SUPPORT
*Unity Character and Animations by Unity Technologies.