Skip to content

Patterns

This section covers the design patterns that experienced GAS developers have landed on after shipping games. These aren't the only way to do things, but they represent well-tested approaches that work across a range of project types.

Patterns vs Recipes

Patterns explain the design -- the why, the trade-offs, and the architecture. Recipes are the step-by-step procedures for implementing specific things. Patterns link to recipes where applicable.

In This Section

Common Abilities

Implementation patterns for abilities that show up in nearly every action game: stun/CC, sprint, aim-down-sights, lifesteal, critical hits, interaction systems, passive abilities, and toggle abilities.

Damage Pipeline

The end-to-end flow of damage from source to target: GE spec creation, ExecCalc with armor/resistance/crits, meta attributes, PostGameplayEffectExecute for health subtraction and death checks. Full code example included.

Buff/Debuff System

Duration effects with tags, stacking policies, UI representation, cleansing/dispelling, buff categories, and immunity to specific debuff types.

Tag Architecture

Namespace design principles, a 21-namespace starter preset, loading tags from .ini files, and governance strategies for teams.

C++ vs Blueprint

What must be C++, what should be C++, what works best in Blueprint, and how the split changes with project scale. Includes a table mapping every GAS asset type to its recommended creation location.

Naming Conventions

Prefix conventions for assets (GA_, GE_, GC_), class naming (A/U prefixes), tag naming patterns, and Content Browser folder structure.