Actually good first person controller for the Godot Engine.
MIT License (credit Colormatic Studios)
This first person controller was made because there aren't many first person controllers for Godot, and the ones that do exist are pretty bad.
It is highly customizable and comes with many features, QOL, and clean code.
Some parts came from StayAtHomeDev's FPS tutorial. You can find that here.
Move with WASD, space to jump, shift to sprint, C to crouch.
FEATURES:
If you make a cool game with this addon, I would love to hear about it!
To start out, you should probably remap all of the movement keys to your own control set.
You can make this a super basic controller by just disabling everything.
How to add controller/GamePad support
handle_head_rotation
function, there is another block of commented code that says the same thing. Uncomment that too.Slope/staircase:
Credit to @roberto-urbani23
In the character inspector, you can uncheck Stop on Slope and set the max angle to 89 (for some reason, 90 will make the player stuck). Also Snap Length to 1 otherwise your character will not remain attached to stairs if you sprint while going downstairs.
How to change settings:
Click on the character node and there should be settings in the "Feature Settings" group.
How to add animations for a mesh:
_physics_process
to call it every frame.input_dir
as a boolean (it is actually a Vector2
) to know if the player is walking.state
member variable to tell if the player is sprinting or crouching.is_on_floor
function to tell if the player is standing or falling.How to change reticles (crosshairs):
Change the "Default Reticle" setting to your reticle file.
During runtime:
Use the change_reticle
function on the character.
How to create a new reticle:
How to use the editor tools:
CharacterBody
node