CameraType never gets set to Custom when CameraSubject has been changed beforehand

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

2 Likes

Thanks for the report! We’ll follow up when we have an update for you.

2 Likes