Hi. I'm making a game where the player (camera with a box collider) falls down a well. The analog thumb stick on the controller moves the player in the X and Z axis as they fall in the Y axis down a well. Everything worked fine until I wanted to have the camera spin on the Y axis to give more feeling to the game. So I spun the camera. Unfortunately, the controls were screwed up from the players perspective. For example if the camera is rotated 90 degrees, and the play pressed up, the view moved sideways not "up." (from the player's perspective). If the camera is upside down due to rotation, then pressing up moves the camera "down" (from the player's perspective). That made sense to me since the camera is technically moving in the correct direction, but not what I needed. So I multiplied the rotation by the position and it worked great. No matter what rotation was applied to the camera, pressing up moved the camera up from the player's perspective...But, the camera's box collider that was working perfectly fine, just started going through the walls. I can have the controls I want or I can have a collider, but not both. Here is the code that works with the controls but not the collider: Pos.x and Pos.z is calculated before this code by user thumb stick input. Pos.y is simulated (not physics) gravity of the well. Code (CSharp): Vector3 input = Quaternion.Euler(0, transform.eulerAngles.y, 0) * Pos; //transform.Rotate(0, Y, 0); transform.position = input; input is a multiplication of the Euler rotation and Pos position, This breaks the collider. On the other-hand: If I just use transform.position = Pos (just position, no rotation) then the collider works, but of course my controls are screwed up. I experimented with rigidbodies, character controllers, and a myriad of techniques and I'm at a loss. Please help! This game is VR compatible and I'm afraid that none of my friends will puke if I can't add a spin to falling down a well.