Media preview
Media thumbnail
Media thumbnail
Media thumbnail
Media thumbnail
Media thumbnail
Media thumbnail
Media thumbnail
Description
Changelog
Reviews (0)

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.

The Statescript demo: projectiles catch fire passing through the bonfire, and a brazier spawns enemies

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#.

A Statescript graph for a toggled shield

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.

A periodic Burning effect in the Inspector

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

  1. Install the asset, keeping Directory.Build.props selected. If you don't want the demos, skip forge_samples together with forge_generated, which only holds the samples' generated attribute sets.
  2. Build the project, then enable Forge Gameplay System under Project Settings → Plugins.
  3. Follow the Quick Start: a character, a campfire that burns and a heal ability in about fifteen minutes.

The Quick Start result

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

License

MIT. Sample sounds are CC0.

Changelog for version v0.5.0

2026-10-18 23:22:55

No changelog provided for this version.

Reviews

Forge Gameplay System has no reviews yet.

Login to write a review.

Consider supporting the creators!

If you enjoyed this asset consider supporting its creator. Follow the link below.