Camera Snaps when I change characters

Hello,
So I have been trying to make a sort of change-character system, where the player’s model can change really quickly. A little problem is my solution is kind of held together terribly. Whenever I ‘morph’ my player the camera awkwardly snaps into a straight back-facing camera. There would definitely be better ways to do this, such as maybe only changing the Player’s model.

local oldPlayer = player.Character
local newPlayer = propTransform:Clone()

local oldCFrame = oldPlayer:GetPrimaryPartCFrame()

player.Character = newPlayer
newPlayer.Parent = workspace
newPlayer.Name = player.Name
newPlayer:SetPrimaryPartCFrame(oldCFrame)
oldPlayer:Destroy()

Thanks for anyone who helps, B

When ‘morph’ function is triggered - first send an event to stop the client’s camera in place and when the change is completed trigger an event to release the camera.

Now how would I go about doing that, exactly??