How would I go about creating a character controller

Thanks for the reply, the video does help with how to modify the movement but it seems that some parts of it are outdated.

1 Like

Thanks for the breakdown, also whats the most common or effective force to use for movement? And can I ask you about more specific questions as to how to achieve those steps as Im sure that my method to do them won’t be the most effective.

1 Like

Of course, now to answer your question I believe body force would be a good choice for the movement, you would have to pair it with something like Camera.CFrame.lookVector

or maybe

Humanoid:Move(Camera.lookVector * movez + Camera.rightVector * movex, true)

3 Likes

Which parts?

Also, I suggest you take a look into the Humanoid:Move() function.

2 Likes

Alright thanks, as for my other question, I’ve seen that other people’s character controllers use multiple scripts from different places, I would assume that its possible to accomplish those steps in 1 script, can you explain why I would need different scripts? From the character controllers i’ve seen they use replicated storage, server script service, and starter player.

1 Like

Well the control script from the video isn’t there anymore, its split into other scripts that I don’t really understand so I can’t follow the rest of the video.

1 Like

Server script services is a place to run server scripts aka scripts the whatever is run in them will be replicated across all clients, StarterPlayer, this is where I’d recommend adding the movement, as it only concerns the current client. Replicated storage, well I guess you can run local scripts here too, but it is mostly used for storing things that need to be cloned by the client and/or remote events/functions.

For the movement part of the character control system, you should be able to use only one script.

Really the only thing that you would care about showing to all players is probably the animations, but maybe the movement as well, not really 100% sure

2 Likes

So basically I would need to use serverscriptservice to replicate the animations to all clients and starter player to script the movement? But what about replicated storage, what would I need to store there for a character controller?

1 Like

I’m sorry if I’m not very helpful right now, I am on mobile and can’t test anything or make a demo

1 Like

No its fine, I appreciate your replies, Im just still a bit confused on how to execute those steps that you previously mentioned.

1 Like

I think what we actually need is:

StarterPlayer for a local script to detect key presses, ServerScriptService for a movement script that fires on remote event fire, and the remote event it self in replicated storage

1 Like

I agree body force is a good option since it’s a pure force and highly customizable.

I made a example controller with it’s alternative vector force:

2 Likes

So basically a starter player script checks for a key press and if there is one it fires an event to the server script to move the player? Also how would the server script move the player that pressed the key?

1 Like

Remote events automatically get a player parameter passed through them, use that to get the character and apply the body force in the desired direction

1 Like

I see, thanks for the information I’ll test it out but I’m most likely going to run into an issue along the way, can I message you? Or should I just put it here.

2 Likes

Do what you want, this would probably serve a better purpose for other people that need the help!

1 Like

Alright, also can I use context action service(so i can make the game mobile compatible) or should I use user input service.

Either or, as long as you can get the direction to travel in

Well with context action service i cant bind a key without an action, and since the action is in a server script does that mean i can’t use context action service here?

You can bind the action to a function that calls the remote event, maybe.