UE5 Gameplay Ability System case study: “We had a plain FPS. Within four months every ability and weapon ran on GAS, and it landed early.”
A multiplayer first-person shooter in Unreal Engine 5.7 had guns, movement and nothing else. This case study, told from the client's side, covers how a full Gameplay Ability System foundation went in underneath it: elemental powers, a GAS weapon system, a working HUD and a guide the team extends without calling anyone.
- 12GAS abilitiesPowers, melee and weapon actions
- 3–4MonthsPlain FPS to full GAS foundation
- ~27.7kLines of C++121 files in one plugin
- 32+Doc sectionsPlus 6 step-by-step editor guides
NDA notice
Client name, buyer name and project title are withheld under mutual NDA. Figures are counted from the delivered plugin at handoff. The engagement was delivered end to end by Reignance Studios. The narrative is written in the client's voice.
An Independent UE5 Multiplayer FPS Team
We're an independent team building a competitive multiplayer first-person shooter in Unreal Engine 5.7, networked over Steam. Our gameplay is Blueprint-driven on top of a C++ foundation, which means designers do most of the daily work and engineering time is the scarcest thing we have. We knew what we wanted the game to feel like. We didn't have the in-house GAS depth to build the systems that would get it there.
A Plain FPS With No Ability System
We had a plain FPS. Shoot, reload, move, respawn. It played fine, and it played the same way every match.
The friction was specific:
- No ability layer at all. Every new mechanic meant new code on the character class, new variables, new replication. Nothing was reusable.
- Weapons lived outside any shared system. Fire, reload and aim each had their own logic, so gating one against another, like blocking a power mid-reload, had no clean place to live.
- No single source of truth for state. Health, resources and status were scattered, so the HUD had nothing reliable to bind to.
We wanted elemental powers, combos and a weapon system that could all talk to each other. On our old structure, each one was a rewrite.
Why We Needed the Gameplay Ability System
The design doc for dynamic combat landed and we tried to scope it. Dual-hand powers, a separate resource per hand, pickups, combining two powers into a third, AI that uses the same powers the player does. We counted nine interlocking features, and every one of them assumed an ability framework we didn't have.
Unreal's Gameplay Ability System was the obvious answer. Getting GAS right the first time in a multiplayer game was not. Choosing the wrong owner for the Ability System Component, or the wrong replication mode, is the kind of mistake you find six months later, in a playtest, with no way back. We decided to bring in someone who had already made those mistakes elsewhere, and Reignance's GAS migration case study showed exactly that.
Why Reignance for GAS Implementation
Three reasons. Reignance Studios works only on UE5 Gameplay Ability System and multiplayer engineering, so there was no ramp-up on the framework itself. One senior engineer, one point of contact, no hand-offs between people. The first conversation was about our architecture, not a sales deck: where the ASC should live, how respawn would treat it, what should replicate to whom. And we were promised documentation as a deliverable, not an afterthought. A system only one contractor can extend is a liability. We wanted one our own team could own.
The GAS Implementation, Step by Step
The full Gameplay Ability System implementation shipped as one self-contained Unreal plugin, built in dependency order so the game stayed playable at every step.
- 01 · GAS foundation. Ability System Component and attribute set owned by the Player State, so abilities and stats survive respawn. Mixed replication for players. Health plus a separate mana pool for each hand, with change delegates the UI binds to.
- 02 · Tag taxonomy. 137 gameplay tags covering input, states, cooldowns, damage types and cues. Every later system speaks this vocabulary.
- 03 · Data-driven powers. A
PowerDataasset per power: damage, cost, cooldown, range, projectile, status effect. Designers add powers without touching C++. - 04 · Elemental abilities. Fire (projectile with splash, burning damage-over-time and fire pools) and Earth (tap for a wall, hold for a launchable boulder), plus power melee.
- 05 · GAS weapon system. Fire, reload, aim-down-sights and melee rebuilt as gameplay abilities, so a reload blocks powers through tags instead of special cases.
- 06 · Dual-hand inventory. Power orb pickups, enemy drops, hand swapping, power combination and weapon-size gates.
- 07 · Damage pipeline. One execution calculation that resolves resistances and weaknesses by tag.
- 08 · Functional UI. Health and per-hand mana bars, power slot icons, cooldown feedback, an equip menu and interaction prompts, all driven by GAS events.
- 09 · Documentation. A 1,900-line implementation guide in 32+ numbered sections, a quick-start, extension guides for new powers, attributes, damage types and projectiles, and 6 step-by-step editor guides.
Result: 12 GAS Abilities in 3–4 Months
We went from zero abilities on a plain FPS to 12 GAS ability classes running on one replicated Gameplay Ability System framework, weapons included, in 3–4 months and ahead of the agreed milestones.
The number matters because of what sits underneath it. Those 12 classes share one attribute set, one damage execution, one input path and 137 tags. That's roughly 27,700 lines of C++ across 121 files, and none of it lives on our character class. Adding the second elemental power cost a fraction of the first, because the first one built the road.
We also got a scoped plan for all nine combat features, each with named files, server-side validation rules and a verification checklist, so nothing on the roadmap is a guess anymore. If you are budgeting a similar build, Reignance's GAS implementation cost breakdown is where we started.
Our Day-to-Day on GAS Now
- New powers are a data task. Create a
PowerDataasset, a Blueprint ability and a cue. The quick-start checklist covers it in six steps. - Designers own tuning. Damage, cost and cooldown live in assets and gameplay effects, not code reviews.
- Bugs have a first stop. The guide's common-issues section answers most “why isn't this activating” questions before anyone opens Visual Studio.
- Systems stop fighting each other. Reload, aim and powers resolve through tags, so new interactions are rules, not patches.
- Multiplayer is the default. Replication was decided once and written down, so new abilities inherit it.
Awesome work, he delivered the project changes early and communicated updates frequently.
— Client lead, multiplayer FPS project (name and role withheld under NDA)
What's Next
The foundation is in. Next on our list is content: more elements on the same PowerData pipeline, more combination recipes, and more AI that picks up and uses powers the way players do. After that, balance passes driven by playtests rather than engineering time. The architecture no longer decides what we can build. The design does.