UGAS is an open, engine-agnostic specification for gameplay attributes, tags, abilities, and effects — defined once as data, runnable across Unreal, Unity, Godot, and AI world models.
3D models, audio, and animation are interchangeable formats. The rules that govern stats, abilities, status effects, and world state are not — they're rewritten by hand, tightly coupled to one engine, and prone to "spaghetti" where a single health change must manually notify UI, audio, and the network.
Logic lives inside character classes. State changes are scattered. Multiplayer prediction is bespoke per project. Switching engines means a full rewrite.
An Ability System Component is the authoritative state container; the actor is just an avatar. Every mutation is data, every change is an event, and the same definition drives any runtime.
Numeric state, semantic state, behavior, and the single mechanism allowed to change them.
Numeric state on a dual-value pattern — a persistent Base Value and a computed Current Value — run through a deterministic modifier pipeline.
01Hierarchical semantic labels like State.Debuff.Stunned.Magic that gate logic through parent-child queries instead of booleans.
02Asynchronous, stateful action units with a rigorous lifecycle and Ability Tasks that sleep until temporal, input, event, or spatial triggers fire.
03The only authorized way to mutate attributes or tags — so every change is tracked, predicted, and replicated. Costs and cooldowns are just effects.
04Two complementary skills turn the spec into working game definitions, and the whole corpus is published as a single context file an LLM can ingest in one shot.
gameplay-creator-assistantGenre-first scaffolding. Discovers the packs, helps you pick one, loads its entities as a base, and scaffolds all four pillars plus a Gameplay Controller — guided Q&A or one-shot from a brief.
ugas-schema-authorAuthoring, review, balancing, and simulation for one ability, effect, or attribute at a time. The two compose — the creator delegates each entity's YAML to the author.
# point any model at the machine-readable entry points curl https://ugas.jbltx.com/llms.txt # index of every resource curl https://ugas.jbltx.com/llms-full.txt # spec + schemas + examples + packs, one file # every entity is $schema-tagged and validates $schema: ".../schemas/gameplay_effect.json" durationPolicy: "Instant" # permanent Base Value change
Additive packs that extend — never replace — the core spec, each with schema-conformant template entities you can load directly.
Damage buckets, itemization, and stat scaling — seeded by the ARPG case study.
open →Biome-based traction, downforce, and tuning — Forza-style vehicle simulation.
open →Coyote time, variable jumps, and power-ups — platformer-led action mechanics.
open →Ammo economy, accuracy channels, and hit resolution for FPS/TPS gunplay.
open →→ Browse the full pack index and the non-normative genre taxonomy.
Start with the four pillars in the latest draft, rendered from AsciiDoc.
Validate your data against the six core schemas/*.json — attribute, effect, ability, tag, set, controller.
Copy a pack's entities/ directory and extend it additively as your base.
Hand llms-full.txt + a skill to a model and scaffold a whole game from a brief.
UGAS is developed in the open. Read the source, file issues, and contribute genre packs or engine implementations.
github.com/jbltx/ugas ↗