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

Simple State Machine First Person Controller

An asset by Jeheno
The page banner background of a mountain and forest
Simple State Machine First Person Controller thumbnail image
Simple State Machine First Person Controller thumbnail image
Simple State Machine First Person Controller thumbnail image
Simple State Machine First Person Controller hero image

Quick Information

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

*All informations are in the Github repository page !A simple 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 HUDA 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.He works on Godot 4.4, 4.3, and 4.2. I didn't test it in Godot 4.1 and Godot 4.0, but it should work just fine.-------------------------------------------------------------------------------------------Features :- 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)- Camera tilt- Camera bob- Custom FOV- Reticle- Properties HUD-------------------------------------------------------------------------------------------Quick update : -add correct link for the showcase video-resolution camera basis movement

Supported Engine Version
4.4
Version String
1.3
License Version
MIT
Support Level
community
Modified Date
3 days ago
Git URL
Issue URL

A simple state machine first person controller asset made in Godot 4

README Asset logo

General

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.

He works on Godot 4.4, 4.3, and 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 asset features :

Features

  • 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)

  • Camera tilt

  • Camera bob

  • Custom FOV

  • Reticle

  • Properties HUD

Purpose

At start, i just wanted to rework my FPS controller template, make an alternate version of it, closer to the finite state machine approach.

But while i was working on it, i said to myself "why not share it with the community, when it's ready ?".

And so here we go !

How to use

It's an asset, which means you can add it to an existing project without any issue.

Simply download it, add it to your project, get the files you want to use.

You will see for the player character script (and in the camera script) a keybinding variables group,

you need to create a input action in your project for each action, and then type the exact same name into the corresponding input action variable

(for example : name your move forward action "moveForward", and then type "moveForward" into the variable "moveForwardAction").

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

Godot Theme prototype Textures, by PiCode : https://godotengine.org/asset-library/asset/2480

*All informations are in the Github repository page !


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

He works on Godot 4.4, 4.3, and 4.2. I didn't test it in Godot 4.1 and Godot 4.0, but it should work just fine.

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

Features :

- 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)

- Camera tilt
- Camera bob
- Custom FOV

- Reticle
- Properties HUD

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

Quick update :
-add correct link for the showcase video
-resolution camera basis movement

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
Simple State Machine First Person Controller icon image
Jeheno
Simple State Machine First Person Controller

*All informations are in the Github repository page !A simple 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 HUDA 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.He works on Godot 4.4, 4.3, and 4.2. I didn't test it in Godot 4.1 and Godot 4.0, but it should work just fine.-------------------------------------------------------------------------------------------Features :- 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)- Camera tilt- Camera bob- Custom FOV- Reticle- Properties HUD-------------------------------------------------------------------------------------------Quick update : -add correct link for the showcase video-resolution camera basis movement

Supported Engine Version
4.4
Version String
1.3
License Version
MIT
Support Level
community
Modified Date
3 days 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