my local script in starter player scripts:
local cameraHeight = 12
local cameraZOffset = 20
local camera = game.Workspace.CurrentCamera
local player = game.Players.LocalPlayer
CameraSubject = player
local function setupCamera()
camera.CameraType = Enum.CameraType.Scriptable
camera.CFrame = CFrame.new(Vector3.new(0,cameraHeight,cameraZOffset),
Vector3.new(0,cameraHeight,0))
end
setupCamera()
player.CharacterAdded:Connect(setupCamera)

3 comments
You should set the CameraSubject.
What would the CameraSubject be?
I think you don't need to change CameraSubject, just cameraType