Reproduction Steps
Reproduction:
- Open a new place file
- Insert a LocalScript into StarterPlayerScripts with the code below
- Play Solo
LocalScript code:
workspace.CurrentCamera.CameraSubject = workspace.Baseplate
This code will set Camera.CameraSubject
before whatever part of the engine is responsible for setting Camera.CameraType
to Enum.CameraType.Custom
actually does it (which I think happens around the time of the first time your character spawns).
Expected Behavior
Camera.CameraType
should be changed to Enum.CameraType.Custom
regardless of what the CameraSubject has been changed to. Or at least it should behave reasonably if the CameraSubject is set to the player’s character.
Actual Behavior
Camera.CameraType
does not get changed to Enum.CameraType.Custom
, and hence the camera is effectively broken for the player’s entire session (it is stuck on Enum.CameraType.Fixed
). (Changing camera settings will fix it temporarily, but when the character respawns the issue will reoccur.)
This is particularly egregious when you are setting the CameraSubject to the player character’s Humanoid i.e. it is functionally no different from the default camera configuration, yet the bug occurs solely due to the timing.
This issue will completely break the camera scripts for the session, as you can test by respawning your character, changing CameraSubject, etc.
Workaround
Manually setting Camera.CameraType
to Enum.CameraType.Custom
, or avoiding setting CameraSubject before the CameraType has been set for the first time.
Issue Area: Engine
Issue Type: Display
Impact: Moderate
Frequency: Constantly