Input Handling System 1.1.0 Scripts 4.0 Community
Submitted by user soki; MIT; 2026-02-03
This is an easy-to-use Godot input handler that solves many problems you might face while trying to handle user input in your game.
Features:
- Zero Race Conditions: The inputs are handled in predictable order. You control the order and whether you continue parsing the input.
- Modular Design: Each component is a Node, no spaghetti code where multiple inputs are handled in one file. Each component can be disabled.
- Developer Friendly: Easy-to-use and easy-to-integrate design, utilizes familiar built-in features (Scene Tree order, exported properties, Input Map) instead of messy boilerplate code.
How To Use:
1. Download the input_handler.gd and input_subhandler.gd scripts and put them inside your Godot game's Assets directory.
2. Now these will appear as InputHandler and InputSubhandler instances when you go to add a new Node to your game.
3. Add the InputHandler to the game (either directly to the top or inside your player).
4. Add a InputSubhandler and extend its script: image
5. Add your activation actions in the InputSubhandler's properties. The key will be a valid action name from your game's Input Map and the value will be an activation mode, the options are: Just Pressed, Just Released, Pressed Continuous.
6. Override the _on_activate(_event: InputEvent) -> InputHandler.InputHandledState method to your liking. Example method to make sure it works:
extends InputSubhandler
func _on_activate(_event: InputEvent) -> InputHandler.InputHandledState:
print("This is an example InputSubhandler extension.");
return InputHandler.InputHandledState.HANDLED;
View files Download Submit an issue Recent Edits