Kinematic Character Controller View on Asset Store (opens in new tab)

Package details

Latest version
3.4.4
Last updated
First released
Unity version
2020.3.30 or later
Package size
27.1 MB
Files
184
Favorites
4,265
Views in the past week
681

Price tracking

Last checked
Tracked since
Lowest recorded
Free on

Keywords

Kinematic Character Controller

by Philippe St-Amand (opens in new tab)

4.8 / 5 · 215 ratings

Ratings by stars
Number of ratings for each star rating
5 stars 193
4 stars 15
3 stars 4
2 stars 1
1 star 2
  • Price drop
Discount -100% Previous price $60.00 Price Free

Get it free on Asset Store (opens in new tab)

Affiliate link · Purchases support this site

Price history

Last 6 months

USD
Price history for Kinematic Character Controller, 6 months Current Free; lowest Free; highest Free in this period. $0 Jun Jul Aug Sep Oct Nov

Asset preview

1 / 7

Kinematic Character Controller screenshot 1

Kinematic Character Controller screenshot 1

About this asset

*This asset is now free, and there can be no guarantees regarding support*

What is Kinematic Character Controller?

Kinematic Character Controller a relatively low-level character controller solution that is not tied to any specific game genre and is made to be cleanly integrated into any project/architecture with as little friction or bloat as possible. Instead of using rigidbody physics, it uses a "collide and slide" algorithm that makes its movements perfectly fluid, precise and responsive. Note that its "kinematic" nature means that it will not get pushed by forces or rigidbodies automatically. These sorts of interactions have to be explicitly scripted.

Who is it for?

Strong programming and 3D math knowledge are required in order to use this package. This is by no means a "plug-and-play" solution, and it expects you to write your own input, camera, animation and velocity/rotation-handling code. It was made for users who wish to have the full freedom of writing their own game-specific character controllers, but want to have a strong foundation to start with.

How is it used?

You add a "KinematicCharacterMotor" component to your GameObject, and then create your own custom class that implements an ICharacterController interface and assign it to the motor, giving you various "callbacks" from the motor. Examples of these callbacks are: UpdateVelocity, UpdateRotation, IsColliderValidForCollisions, etc.....

What's included?

This package contains:

- The "core" components that users will use to build their own character controllers

- An "example" character controller that's meant to demonstrate the system's capabilities (the one you see in the WebGL demo)

- A "walkthrough", which is a series of tutorials that give examples of how to implement common features such as double-jumping, climbing ladders, swimming, rootmotion, etc....

Main features and caracteristics

- Capsule-based collisions

- Smoothly interpolated movement

- No GC allocations and several Quality/Performance options

- Handles moving on steps

- Ground snapping (does not "launch" off of slopes)

- Gracefully handles common character controller pitfalls such as slowly shrinking corridors, angled corners and concave colliders

- Supports pushing or standing on dynamic rigidbodies

- Support for moving platforms, without requiring any object parenting.

- Supports arbitrary gravity and up direction

- Supports locking physics/movement to a specific plane (useful for 2.5D games)

- Support for ignoring specific collisions

- Made with networking in mind. You can have explicit control over the "ticking" of the character simulation, allowing you to use this package in an authoritative server architecture with re-simulation of inputs.

_____________________

WebGL Demo

User Guide

Walkthrough

From the publisher's Asset Store listing.

Compatibility

Render pipelines supported in each Unity version
Unity version Built-in URP HDRP
2020.3.30f1 Compatible Not listed Not listed

The example scenes work with built-in (non-SRP) renderer, but there is nothing preventing you from using the character controller in URP and HDRP projects

As listed on the Asset Store.