unreal-gas — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited unreal-gas (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
These are the authoritative sources. Reference them for up-to-date API details, as GAS evolves across engine versions:
| Source | URL |
|---|---|
| Epic GAS Landing Page | https://dev.epicgames.com/documentation/en-us/unreal-engine/gameplay-ability-system-for-unreal-engine |
| Understanding GAS (Overview) | https://dev.epicgames.com/documentation/en-us/unreal-engine/understanding-the-unreal-engine-gameplay-ability-system |
| ASC & Attributes | https://dev.epicgames.com/documentation/en-us/unreal-engine/gameplay-ability-system-component-and-gameplay-attributes-in-unreal-engine |
| Gameplay Abilities | https://dev.epicgames.com/documentation/en-us/unreal-engine/using-gameplay-abilities-in-unreal-engine |
| Attributes & Attribute Sets | https://dev.epicgames.com/documentation/en-us/unreal-engine/gameplay-attributes-and-attribute-sets-for-the-gameplay-ability-system-in-unreal-engine |
| Gameplay Effects | https://dev.epicgames.com/documentation/en-us/unreal-engine/gameplay-effects-for-the-gameplay-ability-system-in-unreal-engine |
| Ability Tasks | https://dev.epicgames.com/documentation/en-us/unreal-engine/gameplay-ability-tasks-in-unreal-engine |
| Community GAS Docs (tranek) | https://github.com/tranek/GASDocumentation |
The community docs by tranek are the most comprehensive single resource for GAS. They cover advanced topics (prediction internals, optimization, replication modes, pitfalls) that Epic's official docs do not. Always check them for edge cases and production patterns.
The Lyra Sample Project is Epic's recommended working reference implementation for GAS.
Build.cs: PublicDependencyModuleNames.AddRange(new string[] {
"GameplayAbilities", "GameplayTags", "GameplayTasks"
});UAbilitySystemGlobals::Get().InitGlobalData() in your AssetManager or GameInstance. UE 5.3+ does this automatically.See references/core-classes.md for the full class reference, setup patterns, and C++ code snippets.
System overview:
Actor
+-- UAbilitySystemComponent (ASC) --- manages everything below
+-- UGameplayAbility instances (granted abilities)
| +-- UAbilityTask instances (async execution)
+-- UAttributeSet instances (numeric data)
+-- Active UGameplayEffect specs (modifiers)
+-- FGameplayTag container (status/state)
+-- GameplayCue triggers (cosmetic FX)Key relationships:
GameplayCue.* tagsSee references/effects-and-attributes.md for detailed GE patterns, modifier math, stacking, cooldowns, and attribute handling.
Duration types:
Modifier aggregation: ((Base + Additive) * Multiplicative) / Division
1 + Sum(Mods - 1) -- two +50% multipliers = +100%, not +125%GiveAbility() -> TryActivateAbility() -> CanActivateAbility()
-> ActivateAbility() [override this] -> CommitAbility() [apply cost/cooldown]
-> ... do work (AbilityTasks) ... -> EndAbility()Four activation methods: explicit handle, GameplayEvent, GameplayEffect tags, Input codes.
Instancing policies:
InstancedPerActor -- recommended default; one instance reused per actorInstancedPerExecution -- new instance each activation; simplest but heaviestNonInstanced -- uses CDO; best performance, C++ only, no state/delegates/RPCsSee references/networking.md for replication modes, prediction details, and multiplayer patterns.
Net Execution Policies: LocalPredicted, LocalOnly, ServerOnly, ServerInitiated.
Key rules:
See references/patterns-and-pitfalls.md for implementation recipes and known issues.
Critical pitfalls:
PreAttributeChange clamping does NOT permanently change modifiers -- clamp BaseValue in PostGameplayEffectExecute insteadServer Respects Remote Ability Cancellation causes more trouble than it's worth -- disable itReplication Policy on GameplayAbility is misleadingly named -- do not use itNetUpdateFrequency defaults too low -- increase it or enable Adaptive Network Update FrequencyPlayMontageAndWait AbilityTask, not direct PlayMontage, for replication~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.