Hi @erey
I know a bit more about ammojs.There is an existing character controller that you can create and would fit your needs.
There is this thread I found on the forum : Handling Ammo Kinematic Character Controller
A web search on ‘character controller ammojs’ will give you more results
Also, depending on your needs, maybe a physics engine is not the only solution. You can use a navigation mesh and constraint the player on that mesh. You’ll get more controls and visual feedback on allowed surfaces.
Check this thread for more details : Constraining a UniversalCamera on a Navigation Mesh