Advanced FPS Controller Template

by Jeheno

42

An advanced FPS Controller Template made in Godot 4

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.

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

Version

2.0

Engine

4.2

Category

Templates

Download

Version2.0
Download Now

Support

If you need help or have questions about this plugin, please contact the author.

Contact Author