WorldSpace movement?

Hi, I’m trying to convert a vector for local space movement to a World Space vector for movement.
Let’s say I jump and I will move in the direction I jumped, except the problem is it is local space and relative to camera rotation and you will move relative to the camera, which is both right and wrong.

I’m trying to make it so you move in the direction you are facing, but when you jump in that direction, you’ll turn around and you will still be going in the direction you were originally looking instead of always moving relative to the camera.

So I believe the solution to this is to have a world space vector and a local space vector, local space for inputs (So X is sidestep and Z is forward/backpedal, Y being vertical gravity and such) and the world space vector which takes the local space information, converts it to world space, and then treats them as accumulative values to simulate momentum with the CharacterController.Move method.

I’ve tried transform.TransformPoint, but my character floats towards the ceiling and then falls back down for a bounce. There must be some way to do this… Any ideas?

The world space forward vector is transform.forward. You also have transform.up, transform.left, transform.right, etc.

So when you jump, you store the current transform.forward (or the current movement input) as the jump direction vector, and use that for motion while in the air, never changing it before you land.