Change character isn't changing camera angle

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    Character change that moves the camera

  2. What is the issue? Include screenshots / videos if possible!
    when I change the character it doesn’t change the camera subject, there are no errors

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I have moved around the script and tried putting it in a server script but it doesn’t work which makes sense
    After that, you should include more details if you have any. Try to make your topic as descriptive as possible, so that it’s easier for people to help you!

--already variabled player to be local player and camera to be camera in workspace
player.Character.Changed:Connect(function()
	wait(1)
	print("Character has changed" .. camera.CameraSubject:GetFullName())
	camera.CameraSubject = player.Character.PrimaryPart
end)

Please do not ask people to write entire scripts or design entire systems for you. If you can’t answer the three questions above, you should probably pick a different category.

Try instead to just get the humanoid:

This doesn’t change anything it just stays in blank space

Are you using Camera or CurrentCamera?

local camera = game.Workspace.CurrentCamera

I’m using workspace.CurrentCamera could that be an issue?

No that is correct camera… is it printing your print statement?

yes, but it printing the old camera subject even if I move it after the camera subject change

I would define your player variable again within the function:

camera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid

Oh then its not performing the change function.

The camera subject has to be a basepart. Also, it is printing the camera subject before it is even changed.

This is not true, you can have a humanoid as the subject.

i tried printing it afterwards and it stays the same

am i supposed to change camera subject in a server script?

No i would keep it local. . . . .

Try posting the rest of the script.

local

local player = game.Players.LocalPlayer

local BTN = script.Parent

local Frame = script.Parent.Parent

local model = game.Workspace.Plushies[Frame.Name]

local Rem = game.Workspace.RemoteEvent

local camera = workspace.Camera

BTN.MouseButton1Click:Connect(function()

local player = game.Players.LocalPlayer

Rem:FireServer(model)

wait()

end)

player.Character.Changed:Connect(function()

local player = game.Players.LocalPlayer

camera.CameraType = Enum.CameraType.Custom

camera.CameraSubject = game.Players.LocalPlayer.Character.PrimaryPart

print("Character has changed" .. camera.CameraSubject:GetFullName())

end)

i changed it to custom which did nothing

Take a look at this thread and solution, i believe this is what you are trying to achieve: