Description
Changelog
Reviews (0)

InputForge

A UE5-inspired Enhanced Input System for Godot 4 (C#). InputForge replaces scattered _Input handlers and hard-coded key checks with a structured, Inspector-driven pipeline: physical input sources are described as resources, transformed through modifiers, gated by triggers, and delivered to typed callbacks.

Godot's built-in input map is action-based but flat — an action is either pressed or not, and context-switching (gameplay vs. menu vs. vehicle) is left to your own code. InputForge adds the layer that's missing.

Features

  • Context stack — push/pop InputMappingContext resources at runtime. The same physical key can mean different things depending on what the player is doing; the topmost context wins. Optional PreventFallbackContext for modal states.
  • Unified InputKey — keyboard, gamepad, mouse buttons, analog axes, mouse delta, and absolute pointer position, all from one Inspector-configured resource.
  • Modifier pipeline — deadzone, invert, normalize, scale, swizzle, and pointer-space transforms, composable per binding and applied in order.
  • Trigger system — decide when an action fires: on press, on release, on change, continuously, or pulsed — independently of the input source.
  • Source-aware callbacks — when one action is driven by several inputs (e.g. WASD and mouse), the callback can tell which physical source fired.
  • Type-safe callbacks — bind Action<bool>, <float>, <Vector2>, <Vector3>, or the full ContextualInputEvent. Multiple subscribers per action.
  • No Godot InputMap dependency — bypasses hard-coded action strings entirely.
  • Inspector-driven — actions, mappings, contexts, modifiers, and triggers are all resources. No custom editor UI, no code required for the wiring.

Performance

InputForge pays Godot's native _Input dispatch cost once per event, then fans out in-process to all subscribers — so it scales better than N separate _Input overrides as handler count grows. Full benchmark tables and methodology are in the documentation.

Requirements

  • Godot 4.7+.NET / Mono (C#) build
  • .NET 8 SDK or newer

Links

  • Documentation: https://pandoraoyun.github.io/InputForge.Docs/
  • Source & issues: https://github.com/Pandoraoyun/InputForge
  • License: MIT

Enable under Project → Project Settings → Plugins → InputForge; the EnhancedInputSystem autoload is registered automatically.

Changelog for version v0.2.3

No changelog provided for this version.

Reviews

InputForge has no reviews yet.

Login to write a review.