Babysitter unreal-gamesframework
Unreal Engine Gameplay Ability System (GAS) skill for attributes, abilities, and gameplay effects.
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/game-development/skills/unreal-gamesframework" ~/.claude/skills/a5c-ai-babysitter-unreal-gamesframework && rm -rf "$T"
manifest:
library/specializations/game-development/skills/unreal-gamesframework/SKILL.mdsource content
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
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
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
- Use tags extensively
- Keep abilities modular
- Handle prediction properly
- Test multiplayer thoroughly
- Document ability interactions