Make sure the script is a local script in StarterGUI, and do Enum.CameraType.Scriptable in order to script the camera. And also make sure that the CFrame part is facing the character not the world. (CFrame cameras will only show the Front face.)
Anyway,
there isn’t really much information to help, the only info provided is a simple while wait() do loop and images, like:
Which way is the Part Facing?
Although you said it, Are you sure its facing the Correct way?
Why are you Setting the CameraType to Fixed?
Setting the CameraType to Fixed will not help you here, both Scriptable and Fixed are pracically the same thing with the only difference being that Fixed cant be scripted.
Also, you shouldn’t constantly set the Camera’s CFrame if its going to stay in the same place, Just make sure that the game (or Part) has properly loaded in before setting the CFrame, also check if the Part is anchored.
That’s because CFrame requires both Position and Orientation to function CFrame doesnt just have the LookVector, It is dependent on the Position and Orientation of the Instance