Hey guys, newbie here. Not exactly a programmer, but I started recently to mess around with Unity and Bolt, and I was trying to make a few things here and there. But I recently ran into an issue on a controller I'm trying to make. Every time I change directions on the keyboard, the character itself takes a few frames to actually catch up. Which means if you are facing right, and press left on the keyboard, the character will walk a bit right before turning left. I'll try to explain how I made the controller, since Bolt doesn't really provide a C# script, sorry. But I don't think it's hard to understand. - My character is using a RigidBody component. On Update: - I first shoot a raycast downwards, get the normal, do a Vector3.Cross with the player's transform.right and set it as a variable called forwardDirection; - I then take input from both Axis (GetAxis Horizontal and Vertical) onto an Atan2 function, multiyply by Rad2Deg, add my camera's Y rotation, and set the result as a Y value on a quaternion variable called targetRotation; - I put an if statement (if GetAxis Horizontal !=0 or GetAxis Vertical !=0), then set the transform.rotation of the player to equal targetRotation; On Fixed Update: - I use the same if statement (if GetAxis Horizontal !=0 or GetAxis Vertical != 0), then RIgidbody.MovePosition to Rigidbody.position + forwardDirection * speed * time.deltaTime. Hopefully this gif helps illustrate (the red capsule is the player, the white one is representing my actual input on the keyboard, and the blue arrow is a debug.drawray from transform.position to forwardVector). My begginer skills in debugging have led me to the following: I substituted transform.Rotation for Rigidbody.MoveRotation, put it in FixedUpdate before the actual movement took place, and I kept the input on Update. What I got was that the delay was gone, but the player always rotates towards the camera before it rotates towards my input, kinda like the Atan2 function is giving 0 before the actual angle of my input. And what I take from that is... I don't know. Is that a thing Atan2 does? Can anybody help? Is the lack of a proper C# script here a lost cause for online help? Any help is appreciated.