Check out our latest project ✨ OpenChapter.io: free ebooks the way its meant to be 📖

Advanced State Machine First Person Controller

An asset by Jeheno
The page banner background of a mountain and forest
Advanced State Machine First Person Controller thumbnail image
Advanced State Machine First Person Controller thumbnail image
Advanced State Machine First Person Controller thumbnail image
Advanced State Machine First Person Controller thumbnail image
Advanced State Machine First Person Controller thumbnail image
Advanced State Machine First Person Controller image holder but it is empty

Quick Information

0 ratings
Advanced State Machine First Person Controller icon image
Jeheno
Advanced State Machine First Person Controller

All the informations are on the Github repository page !An advanced and complete state machine first person controller asset, made in Godot 4.-------------------------------------------------------------------------------------------This asset provides a simple, fully commented, finite state machine based controller, camera, as well as a properties HUD.A test 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.Each state has his own script, allowing to easly filter and manage the communication between each state.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 asset is 100% written in GDScript, and respect the GDScript convention.He works perfectly on Godot 4.5 and Godot 4.4, and should also works well on the others 4.x versions (4.3, 4.2, 4.1, 4.0), but you will have to remove the uid files.-------------------------------------------------------------------------------------------Features : - Finite state machine based controller - Smooth moving - Ability to move on slopes and hills - Walking - Crouching (continious and once pressed input) - Running (continious and once pressed input) - Jumping (multiple jump system) - Jump buffering - Coyote jump/time - Air control (easely customizable thanks to curves) - Bunny hopping (+ auto bunny hop) - Dashing (multiple dash system) - Sliding (on flat surfaces and on slopes) - Flying - Camera FOV management - Camera tilt (forward and side tilt) - Camera bob - Camera lean - Camera zoom - Reticle - Properties HUD

Supported Engine Version
4.5
Version String
3.0
License Version
MIT
Support Level
community
Modified Date
1 day ago
Git URL
Issue URL

An advanced FPS Controller Template made in Godot 4

README Template logo

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.

I didn't found any bug during the last tests, but i probably missed out a few, so if you find out a bug, feel free to tell me in response to my comment in the showcase video.

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 !

All the informations are on the Github repository page !

An advanced and complete state machine first person controller asset, made in Godot 4.

-------------------------------------------------------------------------------------------

This asset provides a simple, fully commented, finite state machine based controller, camera, as well as a properties HUD.

A test 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.

Each state has his own script, allowing to easly filter and manage the communication between each state.

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 asset is 100% written in GDScript, and respect the GDScript convention.

He works perfectly on Godot 4.5 and Godot 4.4, and should also works well on the others 4.x versions (4.3, 4.2, 4.1, 4.0), but you will have to remove the uid files.

-------------------------------------------------------------------------------------------

Features :

- Finite state machine based controller
- Smooth moving
- Ability to move on slopes and hills
- Walking
- Crouching (continious and once pressed input)
- Running (continious and once pressed input)
- Jumping (multiple jump system)
- Jump buffering
- Coyote jump/time
- Air control (easely customizable thanks to curves)
- Bunny hopping (+ auto bunny hop)
- Dashing (multiple dash system)
- Sliding (on flat surfaces and on slopes)
- Flying

- Camera FOV management
- Camera tilt (forward and side tilt)
- Camera bob
- Camera lean
- Camera zoom

- Reticle
- Properties HUD

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
Advanced State Machine First Person Controller icon image
Jeheno
Advanced State Machine First Person Controller

All the informations are on the Github repository page !An advanced and complete state machine first person controller asset, made in Godot 4.-------------------------------------------------------------------------------------------This asset provides a simple, fully commented, finite state machine based controller, camera, as well as a properties HUD.A test 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.Each state has his own script, allowing to easly filter and manage the communication between each state.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 asset is 100% written in GDScript, and respect the GDScript convention.He works perfectly on Godot 4.5 and Godot 4.4, and should also works well on the others 4.x versions (4.3, 4.2, 4.1, 4.0), but you will have to remove the uid files.-------------------------------------------------------------------------------------------Features : - Finite state machine based controller - Smooth moving - Ability to move on slopes and hills - Walking - Crouching (continious and once pressed input) - Running (continious and once pressed input) - Jumping (multiple jump system) - Jump buffering - Coyote jump/time - Air control (easely customizable thanks to curves) - Bunny hopping (+ auto bunny hop) - Dashing (multiple dash system) - Sliding (on flat surfaces and on slopes) - Flying - Camera FOV management - Camera tilt (forward and side tilt) - Camera bob - Camera lean - Camera zoom - Reticle - Properties HUD

Supported Engine Version
4.5
Version String
3.0
License Version
MIT
Support Level
community
Modified Date
1 day ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers