Advanced FPS Controller Template
by Jeheno
An advanced FPS Controller Template made in Godot 4
General
This template provides a complete, advanced and fully commented controller, camera, as well as a properties HUD
A template map is provided to test the controller.
The controller use a finite state machine, designed to be easely editable, allowing to easily add, remove and modify behaviours and actions.
He is also very customizable, with a whole set of open variables for every state and for more general stuff. This is the same for the camera.
The template is 100% written in GDScript.
He works on Godot 4.3 and Godot 4.2.
I didn't test it in Godot 4.1 and Godot 4.0, but it should work just fine.
The video showcasing the template features : https://www.youtube.com/watch?v=qdmzIYgVb1E
And the video showcasing the added features of the 2.0 version : https://www.youtube.com/watch?v=3jwx65NFijI
Features
-
Smooth moving
-
Walking
-
Crouching
-
Running
-
Jumping (multiple jump system)
-
Jump buffering
-
Coyote jump/time
-
Air control
-
Sliding (and air slide)
-
Dashing
-
Bunny hopping
-
Wall running
-
Grappling hook (pull type)
-
Knockback
-
Camera tilt
-
Camera bob
-
Custom smooth FOV
-
Pause menu
-
Options menu (keybinding, video, audio)
-
Crosshair
-
Properties HUD
Controls
All keys bindings can be modified
- W, S, A, D (alternatively : up, down, left, right) = move / wall run
- Space = jump
- Left shift = run
- C = crouch / slide
- Left control = dash
- Escape = pause menu
- Left mouse button = grapple hook
- Right click button = knockback tool
Purpose
My main goal with this project was to provide a complete and easy to manage/modify controller for FPS games (It can be apply to first person games in general, even if the movement list has been thinking as an FPS one)
I hope that it will be the case.
How to use
This plugin is a template, which means it's a project that has been designed to be a base of a new project, not an addon to an existing one.
So to correctly use it, you simply have to download it, and then import the project on the Godot app welcome page, and that's all !
Requets
For any bug request, please write on down in the "issues" section.
For any new feature/improvement request, please write it down in the "discussions" section.
Credits
Kenney Prototype Textures, by Kenny, reworked for Godot by Calinou : https://godotengine.org/asset-library/asset/781
Download
Support
If you need help or have questions about this plugin, please contact the author.
Contact Author