Wanderlust is a character controller addon. Inspired by this excellent video and my previous attempts at creating a character controller, it is implemented on top of Rapier physics and highly customizable.
Wanderlust does not handle mouselook, as it's more-or-less trivial to implement compared to movement, and would add significant complexity to build in
as many projects will have vastly different requirements for mouselook. The first_person.rs
example includes an example mouselook implementation.
To use Wanderlust, simply add the WanderlustPlugin
to your App
, and create an entity with the CharacterControllerBundle
.
- Wallrunning
- Be more agnostic to up-vectors
- More examples
- 2D
- Mario-Galaxy-style planetoids
- Moving platforms
- Fix various jitter issues
- Become agnostic to physics backend?
- Dashing?
- Ledge grappling?
- Input rework?
- More bundles for different common configurations?
Wanderlust is intended to cover nearly every possible use case of a character controller, so if your use case is not supported (or there's a feature you would like to see) please drop an issue on the repository! PRs are also welcome, but I may not accept all PRs. Open an issue first if you're not certain that I would accept.
The first_person.rs
example which shows a simple character controller setup.
The starship.rs
example which shows a simple spaceship controller setup.
Dual-licensed under MIT OR Apache 2.0.