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