local Cam = game.Workspace.CurrentCamera
local part = workspace.camPart -- name of the part
Cam.CameraType = Enum.CameraType.Scriptable
Cam.CameraSubject = part
Cam.CFrame = game.Workspace.Intro.Part.CFrame
My experience with camera manipulation is that you typically have to wait a frame to make any changes. If you make changes immediately, the default camera script will either not see your changes or overwrite them as it sets itself up. Throwing a wait() at the top
is the conventional hack that has never let me down.