Viewport Character not being positioned properly

characterClone:SetPrimaryPartCFrame(CFrame.new(0, 0, 0)*CFrame.Angles(0, math.rad(90), 0))

playerIcon.CurrentCamera = camera
camera.CFrame = CFrame.new(characterClone.PrimaryPart.Position)

The model is incredibly large in the frame. Thought if position the model at 0, 0, 0, the camera would automatically be point at 0, 0, 0


Bottom right

So, I’m immediately thinking that what is happening is that the camera is inside the model, it’s not that it is incredibly large.
I think you should still use the CFrame.lookAt(at, lookAt) constructor to look at the character in the viewport frame from an exterior point. Right now, you are just using CFrame.new(position).
In fact, you should probably look at the available CFrame constructors on the wiki to see how each one works.

What’s the goal for the viewportframe to look like?