Hey everyone,
So I’ve been making a custom character controller for quite some time now, I made it as an replacement to unity’s current character controller which has a lot of limitations.
For my controller(just the basic physics stuff is there, animator and other mechanics aren’t there as it is an all purpose controller) I Thought of the following features to be usefull:
- Custom rotation
- Can move at any speed without clipping
- Any custom stepOffset
- Adds velocity based on being pushed(not impulse) directly
- Highly optimized(No GC Alloc, Can run thousand Controllers in 15ms in normal conditions)
- Collision filtering
- pretty good Grounding Detection System
- Support for moving platforms and other stuff is also there
- all the basic features of unity’s own controller(slope limit, min move distance, etc)
- Also I’m working on skin width(it doesn’t get stuck right now either but still seeing into implementing this)
- Ground Snapping
- Interpolation(But unlike other controllers on asset store where you can’t move controller using transform handles in editor, here you can still move the character in editor to a new location and rotation)
Limitations:
- Only supports capsule collider in y-axis with the center at zero(although if you are a programmer you could add support for other primitives)
- I’ve not implemented interaction with non-kinematic rigidbodies
- Currently Grounding can be faulty at extreme edge cases
- Working on improving performance for general condition even more(from 15 ms to around 12 ms)
I’ve also been looking into jobs system for this but right now it isn’t there
And when DOTS becomes more stable I’ll be moving the code to support the new systems
Do you think there is any other feature missing?(Just for a base controller not a FPS specific controller, etc)
And what price do you think I should put it up for?
Showcase: