Changing CameraType to Custom Resets Camera Position

When setting the CameraType of the Camera to Custom, it resets the camera’s positioning. This is a problem as the game I am scripting for uses Scriptable camera position to lock the player’s camera when they are modifying the rotation/position of stuff using drag handles. Now every time they do this, the camera position will reset back to being behind them. I have tried to store the camera position in a variable and set it again after changing the CameraType to custom, but for some reason I am also complete unable to set the position of the player’s camera until they move it on their own. This happens every time it is set to Scriptable and back to Custom.

Expected behavior

I expect the camera position to stay in the spot it was in. This is how it has worked for years and it does not appear like there is a way for me to get around this issue.

33 Likes

Same issue on my game, people aren’t able to use abilities because it snaps their camera backwards. Started being reported around 24~12 hours ago

6 Likes

Bump. Broken for me too. Same problems.

2 Likes

Same issue here. In my game you often have to toggle lock-on off to stop yourself from doing the special attacks in a combo (think of DMC) but now your camera is jarringly set behind you.

2 Likes

Massive issue and hope staff gets on it quick. Running into the same issue with something I’m working on and it doesn’t seem there’s anything I can do to get around it.

4 Likes

ahhh. I have been having this issue today as well, hopefully it is fixed quickly.

3 Likes

Same issue here, the only way I was able to fix it was by saving the cframe and waiting a frame before resetting the camera to that position, but it doesn’t feel good in-game.

2 Likes

I am not sure if it changed at some point in the past few days. My solution has been to maintain the Custom camera type and just lock the camera by setting up a function in RunService:BindToRenderStep() to lock the camera in place. However, when I was testing other fixes, even just waiting a frame was not working out. In my testing, it did not matter how long I waited before setting the camera position after returning to CameraType.Custom. It depended on whether or not tthe player manually moved their camera or not yet. If the player did not move their camera yet, I would be entirely unable to set the position of it. So unfortunately, for now, RunService is my solution.

2 Likes

Roblox please fix this immediately :sob:
My players are suffering

2 Likes

Same issue here, i was working on my module for make the camera go back to is original position smoothly but it end up getting reset because of this:

but i found a solution, for anyone looking for a fix, here how you can currently fix this issue:

11 Likes

Yoooo! Thanks :3
I will try that

3 Likes

Roblox, hire this man! He knows how to fix your issues!

3 Likes

This is an issue in Pizza Place as well. Players are having a hard time playing.

3 Likes

I’m also dealing with this issue with In Plain Sight 2. It would be much appreciated if this change could be rolled back until a new fix is made.

3 Likes

Lol I thought I was going crazy with this new behavior

2 Likes

I am having the same issue… bump

I even went to edit my script, and try and simulate how roblox determines where to put the camera after setting it to cameraType custom

only problem is, its like 2 degrees off for some reason I cannot understand.
anyways now i feel like i just wasted several minutes

3 Likes

I thought there was something wrong with my code. Just a glitch of the camera.

1 Like

A temporary solution

-- When restoring
local cameraCFrame = workspace.Camera.CFrame
workspace.Camera.CameraType = Enum.CameraType.Custom
RunService.RenderStepped:Wait()
workspace.Camera.CFrame = cameraCFrame

I have noticed this bug as well and it is very annoying. I think many games including my own were designed around the CFrame remaining unchanged after changing the camera from custom to scriptable and then back to custom. This did not happen before and it needs to be fixed.

that’s great, didn’t think you could even change those scripts!