local runService = game:GetService('RunService')
local function waitForCamera()
repeat runService.RenderStepped:Wait() until workspace.CurrentCamera
return currentCamera
end
local camera = waitForCamera()
camera.CameraType = Enum.CameraType.Scriptable
camera.CameraSubject = workspace.OpeningSceneCamera
If not, it’s likely because the CameraSubject property of cameras don’t work when set to scriptable.
Custom is the default one and allows things like spectating.
Maybe try :BindToRenderStep? That’s what most devs use for camera manipulation IIRC.
local runService = game:GetService('RunService')
local function keepScriptable()
workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable
end
runService:BindToRenderStep('KeepScriptable', Enum.RenderPriority.Camera.Value + 1, keepScriptable)