I'm starting to learn Unity and how to create movement in a 3D space within it.
I want to create a tight-controlling 3D platformer, with Super Mario 64 being a main example. The weight, physics and constraints of the movement in it are something that I would like to recreate and learn more about.
I've opted to use the CharacterController in Unity rather than a RigidBody, as I feel I would learn more by explicitly developing the movement system by code. I would like to know, what are some good resources/techniques to learn when developing a 3D movement system? As of now I have a jump system which works quite fluently, but as for anything on the X and Z axis, I'm at a loss. I feel like there's so much that goes into controlling the character's momentum and velocity, and expressing that through code is something I'm finding difficult.
I understand that the Unity forums may be a good place to ask about this, but I felt as though this issue is not exclusively related to Unity. I would like to know these techniques in general, not just for Unity.
Thanks, all help appreciated!