界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

unreal-gamesframework

unreal-gamesframework

【开发与工程】Unreal Engine Gameplay Ability System (GAS) skill for attributes, abilities, and gameplay effects.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: unreal-gamesframework description: Unreal Engine Gameplay Ability System (GAS) skill for attributes, abilities, and gameplay effects. allowed-tools: Read, Grep, Write, Bash, Edit, Glob, WebFetch graph: domains: [domain:gaming] specializations: [specialization:game-development] skillAreas: [skill-area:gameplay-programming, skill-area:game-engines] roles: [role:game-developer]

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

  1. Use tags extensively
  2. Keep abilities modular
  3. Handle prediction properly
  4. Test multiplayer thoroughly
  5. Document ability interactions

References

我的收藏