用途:在 C++ 中实现或调试虚幻引擎的 Gameplay Ability System(GAS),涵盖 UAbilitySystemComponent、UGameplayAbility、UGameplayEffect、UAttributeSet、UAbilityTask 与 Gameplay Cues。目标引擎为 UE 5.8,接口以 5.8 头文件为准,旧写法标注为“Deprecated — do not use”。
主要能力:文档按主题划分——ASC 归属与初始化(初始化顺序、重生、复制模式)、Gameplay Abilities(激活、消耗、冷却、策略)、Ability Tasks、Gameplay Effects(伤害、增益、堆叠、执行计算、免疫)、Attribute Sets(属性浮点、钳制、复制)、Tags 在 GAS 中的用法,以及 Gameplay Cues 与项目设置。
必要用法:GAS 以 GameplayAbilities 插件形式提供(Engine/Plugins/Runtime/GameplayAbilities),属 production-ready,非 Experimental。需在 .uproject 中启用,并在模块 Build.cs 的 PublicDependencyModuleNames 中加入 "GameplayAbilities"、"GameplayTags"、"GameplayTasks"。若存在 .agents/ue-project-context.md 应先阅读(模块名、约定、已启用插件、GAS/网络设置),缺失时不要中断。任何拥有或暴露 ASC 的 Actor 都应实现 IAbilitySystemInterface。InitAbilityActorInfo(OwnerActor, AvatarActor) 必须同时在服务器与客户端执行:pawn 归属的 ASC 在 BeginPlay 用 (this, this);PlayerState 归属的 ASC 在服务器 PossessedBy、客户端 OnRep_PlayerState,用 (PlayerState, Character)。复制模式有 Minimal、Mixed、Full,混合模式适合玩家角色,Minimal 不适用于玩家拥有的 ASC。技能构造函数设置 InstancingPolicy、NetExecutionPolicy、NetSecurityPolicy 与标签;CommitAbility 应用消耗与冷却,失败则需 EndAbility。
适用场景:玩家/AI 角色能力系统、伤害与增益效果、属性生命/法力、网络预测与技能标签门控等 C++ 实现与调试。
限制:仅在资料范围内提供 5.8 的 API 与示例,未提供更早引擎版本的兼容细节;部分主题(完整任务工厂签名、自定义任务模板、效果组件完整列表、属性钳制的完整 .cpp)被指向未在本次资料中展开的引用文件,故未在此展开。标签定义与容器匹配语义归 ue-gameplay-tags-messaging,复制线上开销归 ue-networking-replication,本资料未提供其内容。