How can I make my camera face the player?

Hello. I’ve been struggling with making my camera face the player as of late. Note: All code works, the positioning is just off.

camera.CameraSubject = game.Workspace
camera.CameraType = "Scriptable"
camera.CFrame =,100,0)
menuGUI.Enabled = true

	menuGUI.Enabled = false
	local CCE ="ColorCorrectionEffect")
	CCE.Parent = camera
	local fadeTweenInfo =,Enum.EasingStyle.Linear, Enum.EasingDirection.Out,0,false,0)
	local fadeTweenGoal = {TintColor =,0,0)}
	local playFadeTween = tweenService:Create(CCE, fadeTweenInfo, fadeTweenGoal)
	local unfadeTweenInfo =,Enum.EasingStyle.Linear, Enum.EasingDirection.Out,0,false,0)
	local unfadeTweenGoal = {TintColor =,1,1)}
	local playUnfadeTween = tweenService:Create(CCE, unfadeTweenInfo, unfadeTweenGoal)
--	Player screen fades to Black. Once done, teleports the player before setting the camera to look at the player.
		local playerCoords = game.ReplicatedStorage.Remotes.newGameTeleport:InvokeServer()
		camera.CFrame = --Need help here.
1 Like

Could you include an image showing what’s actually off about it?

Nothing is ‘Off’ about it. I’m just wondering as to how I can automatically make my camera face the player.

If you want the camera to face the player from it’s current position, you can do this:
workspace.CurrentCamera.CFrame =, character.HumanoidRootPart.CFrame.Position)

It does this:

I presume you are using runservice alongside that?

Pretty much, use RunService.RenderStepped.

Yup, I use BindToRenderStep at priority Enum.RenderPriority.Camera.Value - 1. This is much smoother than heartbeat or renderstepped as it updates right before the camera updates, so as soon as the camera updates, the cframe will already be changed making tracking perfect.