– UPDATE –
I have figured out the reason as why this script was causing me issues.
Apparently, The player’s movement is defaulted to be set relative to the camera. And since my camera is a top-down view it wouldn’t let me character move. I thank you all for your help though, have a good day!
Hello, thank you for stopping by to assist me. Let’s get to the point.
This script is a LocalScript inside of StarterCharacterScripts, it’s a camera script.
It’s turns the Camera from the normal everyday camera into a top-down view of the player (or where ever I place the CamPart)
Technically the script is working completely as intended BUT for some reason (which is my problem) when I hit the play button I can not move around, I can jump but not actually move. The camera does display the top-down view but again it will not let me move around.
Try putting the script in StarterCharacterScripts, especially if the error is “Camera Controller did not select a module”
Edit: Sorry don’t listen to what I said lol, the warning thing i said is only if you try to edit the camera asap by using :GetPropertyChangedSignal() (which is extremely useful if you want the camera to be changed upon joining)
Does CameraType.Watch sink movement? It is a stationary camera so if you apply that, the camera scripts for the player might disable movement there silently.
Also you don’t need to wait on player.CharacterAdded:Wait(), since your script is in starter character scripts (Character is script.Parent)
I think the CameraType Enum you’re looking for is Scriptable. Watch (afaik) can’t be set every frame because by nature it is constantly mutating before any player movement is interpreted. Locking the camera to an idle position every frame with said CameraType will result in some wonky movement results (like your idling)!
Scriptable isolates the CurrentCamera and player controls so the character should be able to freely walk in that state.