# Unreal Gamesframework

> Unreal Engine Gameplay Ability System (GAS) skill for attributes, abilities, and gameplay effects.

- Skill: `a5c-ai/unreal-gamesframework` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add a5c-ai/unreal-gamesframework`
- Raw SKILL.md: https://api.skillmd.com/api/skills/a5c-ai/unreal-gamesframework/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: a5c-ai (https://skillmd.com/u/a5c-ai)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/a5c-ai/unreal-gamesframework

---


# Unreal GAS Skill

Gameplay Ability System for Unreal Engine.

## Overview

This skill provides capabilities for implementing complex gameplay systems using Unreal's Gameplay Ability System (GAS).

## Capabilities

### Abilities
- Create Gameplay Abilities
- Handle ability activation
- Manage ability costs
- Implement cooldowns

### Attributes
- Define attribute sets
- Handle attribute modifiers
- Implement derived attributes
- Manage attribute replication

### Gameplay Effects
- Create instant effects
- Implement duration effects
- Handle stacking
- Manage effect removal

### Integration
- Implement ability tasks
- Handle ability events
- Create ability tags
- Manage ability instances

## Prerequisites

- Unreal Engine 5.0+
- GameplayAbilities plugin enabled

## Usage Patterns

### Attribute Set

```cpp
UCLASS()
class UMyAttributeSet : public UAttributeSet
{
    GENERATED_BODY()

public:
    UPROPERTY(BlueprintReadOnly, ReplicatedUsing=OnRep_Health)
    FGameplayAttributeData Health;
    ATTRIBUTE_ACCESSORS(UMyAttributeSet, Health)

    UPROPERTY(BlueprintReadOnly, ReplicatedUsing=OnRep_MaxHealth)
    FGameplayAttributeData MaxHealth;
    ATTRIBUTE_ACCESSORS(UMyAttributeSet, MaxHealth)
};
```

### Gameplay Ability

```cpp
UCLASS()
class UGA_Attack : public UGameplayAbility
{
    GENERATED_BODY()

protected:
    virtual void ActivateAbility(
        const FGameplayAbilitySpecHandle Handle,
        const FGameplayAbilityActorInfo* ActorInfo,
        const FGameplayAbilityActivationInfo ActivationInfo,
        const FGameplayEventData* TriggerEventData) override;
};
```

## Best Practices

1. Use tags extensively
2. Keep abilities modular
3. Handle prediction properly
4. Test multiplayer thoroughly
5. Document ability interactions

## References

- [GAS Documentation](https://docs.unrealengine.com/5.0/en-US/gameplay-ability-system-for-unreal-engine/)

