Leaning the camera in first person

  1. What do you want to achieve? I’d like to achieve a sort of lean effect with the camera, used to peak around corners. Here is an example of what I imagine it to look like.

  2. What is the issue? Trying to change the cameras Angle without it being set to scriptable would do nothing.

  3. What solutions have you tried so far? Using functions like :SetRoll, but that won’t work without the CameraType being set to Scriptable.

I don’t need entire scripts just a hint as to what I should be doing, I would prefer not making a custom Camera Control script but if that’s what it comes to.

1 Like

If you created a leaning animation and then played it when the player tried to press a button, I think that would work better.

Thank you for the reply. I tried it but it doesn’t seem to work.


You can modify CameraOffset which is a humanoid property, which will shift the camera, but won’t rotate it. It seems the only way to actually tilt the players screen is by using a Scriptable camera.


If you wanted to work with the animations, you could move the camera’s focus to be the head part itself, rather than at an offset to the HumanoidRootPart. I can’t quite remember if this is embedded within the CameraScript’s code itself however.


Hey @Ax3nx late reply but I think there is a way to tilt the Camera.

  local Lean = CFrame.fromAxisAngle(Vector3.new(0, 0, 1), LeanAmount)
  Camera.CFrame = Camera.CFrame * Lean 

Combine this with Camera Offset and you will have leaning!