Forge is a structured, data-driven gameplay framework for Godot C#, inspired by Unreal's Gameplay Ability System. A burning floor, a dash with a cooldown, a shield that drains mana, an enemy that chases and attacks: you build them from Inspector data and visual graphs, so they stay readable as your game grows.

Features
- Attributes: Health, Mana, Speed or anything else, as integer stats with modifiers and min/max. Write the set in C#, or define it in the Inspector and the class is generated for you.
- Effects: instant, timed, infinite and periodic, with stacking, requirements, immunities and custom executions. A damage-over-time is a resource, not a script.
- Abilities: costs, cooldowns, triggers, tags and instancing, granted and activated from code or from data.
- Statescript: a visual, state-based graph editor for ability behavior, with variables and subgraphs.
- Gameplay tags: hierarchical tags (
cue.burn,cooldown.skill.dash) that drive requirements, cooldowns and cue routing, with a dedicated Tags dock that edits several source files and repairs broken references. - Events: gameplay events that abilities and graphs can trigger on and listen to.
- Cues: presentation kept apart from rules. Ready-made handlers play particles, sounds, animations, camera shake and hit stop.
- Godot-native nodes:
ForgeEntity, effect areas, ray casts, shape casts and projectiles, for both 2D and 3D.
Abilities as graphs
This is the shield from the samples: commit the mana cost, apply damage reduction, show the bubble, pay again on every hit, and drop when mana runs low or the key is pressed again. No C#.

Built-in nodes move bodies, query physics, spawn scenes, navigate, play animations and sounds, and listen to input, events and attributes, so a dash, a projectile or a spawner can be authored rather than coded. When you need more, write your own nodes in C#.
Gameplay data in the Inspector
Effects, abilities, cues and attribute sets are resources. A damage-over-time effect is a few fields: a modifier, a duration, a period.

Nodes that fit Godot
Add a ForgeEntity to any node to give it attributes, tags, effects and abilities. EffectArea2D/3D, EffectRayCast2D/3D, EffectShapeCast2D/3D and ForgeProjectile2D/3D apply effects through physics, and cue handlers react when an effect says so.
Samples
The optional forge_samples folder holds four playable demos. Open forge_samples/Main.tscn and pick one from the hub:
- Quick Start: the finished result of the Quick Start guide.
- Real-Time 3D: a character with dash, projectile, shield and reflect, enemies, and fire, water and regen areas, with every ability written in C#.
- Statescript: the same demo rebuilt with every ability and the enemy AI as Statescript graphs, plus enemy waves, spreading fire, sounds and juice.
- Turn-Based 2D: the same effects on a board where time only moves when you do.
The samples use their own tag source. Add it once from the Tags dock with Find Sources.
Getting started
- Install the asset, keeping
Directory.Build.propsselected. If you don't want the demos, skipforge_samplestogether withforge_generated, which only holds the samples' generated attribute sets. - Build the project, then enable Forge Gameplay System under Project Settings → Plugins.
- Follow the Quick Start: a character, a campfire that burns and a heal ability in about fifteen minutes.

Requirements
- Godot 4.7+ .NET (the C# build of the editor)
- .NET 8 SDK or later
- C# only. GDScript is not supported.
Project status
Forge is under active development and its API may still change between releases.
Available: attributes, effects, tags, abilities, events, cues, Statescript with its editor and Godot node library, attribute set definitions, effect areas, casts and projectiles, the cue handler library, and the tags editor.
Planned: multiplayer, with network replication for all systems, and more samples.
Documentation and support
- Documentation: installation, nodes, resources, Statescript and its node library, tags and attribute sets
- Core Forge documentation: the engine-agnostic concepts behind it all
- Report a bug or request a feature
- Release notes
License
MIT. Sample sounds are CC0.
Changelog for version v0.5.0
2026-10-18 23:22:55
No changelog provided for this version.