Although you marked a solution already, it is likely not your desired solution as the camera will be fixed around the center of the workspace.
Your original issue as described stems from the
CurrentCamera properties being overridden by the built-in camera controller on startup. Adding a simple
wait to the beginning of your code fixes the issue and gives the intended result.
repeat wait() until workspace.CurrentCamera
local camera = workspace.CurrentCamera
camera.CameraType = Enum.CameraType.Scriptable
camera.CFrame = (workspace.cameraLookAt.CFrame + Vector3.new(0, 0, 10))
CameraManipulation.rbxl (18.2 KB)