# GASDocumentation
My understanding of Unreal Engine 5's GameplayAbilitySystem plugin (GAS) with a simple multiplayer sample project. This is not official documentation and neither this project nor myself are affiliated with Epic Games. I make no guarantee for the accuracy of this information.
The goal of this documentation is to explain the major concepts and classes in GAS and provide some additional commentary based on my experience with it. There is a lot of 'tribal knowledge' of GAS among users in the community and I aim to share all of mine here.
The Sample Project and documentation are current with **Unreal Engine 5.1**. There are branches of this documentation for older versions of Unreal Engine, but they are no longer supported and are liable to have bugs or out of date information.
[GASShooter](https://github.com/tranek/GASShooter) is a sister Sample Project demonstrating advanced techniques with GAS for a multiplayer FPS/TPS.
The best documentation will always be the plugin source code.
<a name="table-of-contents"></a>
## Table of Contents
> 1. [Intro to the GameplayAbilitySystem Plugin](#intro)
> 1. [Sample Project](#sp)
> 1. [Setting Up a Project Using GAS](#setup)
> 1. [Concepts](#concepts)
> 4.1 [Ability System Component](#concepts-asc)
> 4.1.1 [Replication Mode](#concepts-asc-rm)
> 4.1.2 [Setup and Initialization](#concepts-asc-setup)
> 4.2 [Gameplay Tags](#concepts-gt)
> 4.2.1 [Responding to Changes in Gameplay Tags](#concepts-gt-change)
> 4.3 [Attributes](#concepts-a)
> 4.3.1 [Attribute Definition](#concepts-a-definition)
> 4.3.2 [BaseValue vs CurrentValue](#concepts-a-value)
> 4.3.3 [Meta Attributes](#concepts-a-meta)
> 4.3.4 [Responding to Attribute Changes](#concepts-a-changes)
> 4.3.5 [Derived Attributes](#concepts-a-derived)
> 4.4 [Attribute Set](#concepts-as)
> 4.4.1 [Attribute Set Definition](#concepts-as-definition)
> 4.4.2 [Attribute Set Design](#concepts-as-design)
> 4.4.2.1 [Subcomponents with Individual Attributes](#concepts-as-design-subcomponents)
> 4.4.2.2 [Adding and Removing AttributeSets at Runtime](#concepts-as-design-addremoveruntime)
> 4.4.2.3 [Item Attributes (Weapon Ammo)](#concepts-as-design-itemattributes)
> 4.4.2.3.1 [Plain Floats on the Item](#concepts-as-design-itemattributes-plainfloats)
> 4.4.2.3.2 [`AttributeSet` on the Item](#concepts-as-design-itemattributes-attributeset)
> 4.4.2.3.3 [`ASC` on the Item](#concepts-as-design-itemattributes-asc)
> 4.4.3 [Defining Attributes](#concepts-as-attributes)
> 4.4.4 [Initializing Attributes](#concepts-as-init)
> 4.4.5 [PreAttributeChange()](#concepts-as-preattributechange)
> 4.4.6 [PostGameplayEffectExecute()](#concepts-as-postgameplayeffectexecute)
> 4.4.7 [OnAttributeAggregatorCreated()](#concepts-as-onattributeaggregatorcreated)
> 4.5 [Gameplay Effects](#concepts-ge)
> 4.5.1 [Gameplay Effect Definition](#concepts-ge-definition)
> 4.5.2 [Applying Gameplay Effects](#concepts-ge-applying)
> 4.5.3 [Removing Gameplay Effects](#concepts-ga-removing)
> 4.5.4 [Gameplay Effect Modifiers](#concepts-ge-mods)
> 4.5.4.1 [Multiply and Divide Modifiers](#concepts-ge-mods-multiplydivide)
> 4.5.4.2 [Gameplay Tags on Modifiers](#concepts-ge-mods-gameplaytags)
> 4.5.5 [Stacking Gameplay Effects](#concepts-ge-stacking)
> 4.5.6 [Granted Abilities](#concepts-ge-ga)
> 4.5.7 [Gameplay Effect Tags](#concepts-ge-tags)
> 4.5.8 [Immunity](#concepts-ge-immunity)
> 4.5.9 [Gameplay Effect Spec](#concepts-ge-spec)
> 4.5.9.1 [SetByCallers](#concepts-ge-spec-setbycaller)
> 4.5.10 [Gameplay Effect Context](#concepts-ge-context)
> 4.5.11 [Modifier Magnitude Calculation](#concepts-ge-mmc)
> 4.5.12 [Gameplay Effect Execution Calculation](#concepts-ge-ec)
> 4.5.12.1 [Sending Data to Execution Calculations](#concepts-ge-ec-senddata)
> 4.5.12.1.1 [SetByCaller](#concepts-ge-ec-senddata-setbycaller)
> 4.5.12.1.2 [Backing Data Attribute Calculation Modifier](#concepts-ge-ec-senddata-backingdataattribute)
> 4.5.12.1.3 [Backing Data Temporary Variable Calculation Modifier](#concepts-ge-ec-senddata-backingdatatempvariable)
> 4.5.12.1.4 [Gameplay Effect Context](#concepts-ge-ec-senddata-effectcontext)
> 4.5.13 [Custom Application Requirement](#concepts-ge-car)
> 4.5.14 [Cost Gameplay Effect](#concepts-ge-cost)
> 4.5.15 [Cooldown Gameplay Effect](#concepts-ge-cooldown)
> 4.5.15.1 [Get the Cooldown Gameplay Effect's Remaining Time](#concepts-ge-cooldown-tr)
> 4.5.15.2 [Listening for Cooldown Begin and End](#concepts-ge-cooldown-listen)
> 4.5.15.3 [Predicting Cooldowns](#concepts-ge-cooldown-prediction)
> 4.5.16 [Changing Active Gameplay Effect Duration](#concepts-ge-duration)
> 4.5.17 [Creating Dynamic Gameplay Effects at Runtime](#concepts-ge-dynamic)
> 4.5.18 [Gameplay Effect Containers](#concepts-ge-containers)
> 4.6 [Gameplay Abilities](#concepts-ga)
> 4.6.1 [Gameplay Ability Definition](#concepts-ga-definition)
> 4.6.1.1 [Replication Policy](#concepts-ga-definition-reppolicy)
> &n
没有合适的资源?快使用搜索试试~ 我知道了~
UE5 Gameplay Ability System demo: GASDocumentation
共354个文件
uasset:257个
cpp:27个
h:27个
需积分: 0 2 下载量 153 浏览量
2023-01-01
18:26:09
上传
评论
收藏 111.56MB ZIP 举报
温馨提示
github有时打不开,特传一份
资源推荐
资源详情
资源评论
收起资源包目录
UE5 Gameplay Ability System demo: GASDocumentation (354个子文件)
GDAttributeSetBase.cpp 13KB
GDPlayerState.cpp 11KB
GDHeroCharacter.cpp 10KB
GDCharacterBase.cpp 9KB
GDAT_PlayMontageAndWaitForEvent.cpp 8KB
GDGA_FireGun.cpp 5KB
AsyncTaskCooldownChanged.cpp 5KB
GDMinionCharacter.cpp 5KB
GDCharacterMovementComponent.cpp 4KB
GDDamageExecCalculation.cpp 4KB
GDPlayerController.cpp 3KB
GASDocumentationGameMode.cpp 3KB
GDGA_CharacterJump.cpp 3KB
AsyncTaskEffectStackChanged.cpp 3KB
AsyncTaskAttributeChanged.cpp 2KB
GDAT_WaitReceiveDamage.cpp 1KB
GDGameplayAbility.cpp 822B
GDProjectile.cpp 577B
GDAssetManager.cpp 569B
GDAbilitySystemComponent.cpp 306B
GASDocumentation.cpp 213B
GDEngineSubsystem.cpp 211B
GDHeroAIController.cpp 144B
GDDamageTextWidgetComponent.cpp 80B
GDFloatingStatusBarWidget.cpp 78B
GDBlueprintLibrary.cpp 67B
GDHUDWidget.cpp 64B
GASDocumentation.Build.cs 569B
GASDocumentationEditor.Target.cs 412B
GASDocumentation.Target.cs 398B
.gitattributes 66B
.gitignore 1KB
GDAttributeSetBase.h 7KB
GDCharacterBase.h 6KB
GDAT_PlayMontageAndWaitForEvent.h 5KB
GDPlayerState.h 4KB
GDHeroCharacter.h 3KB
GDCharacterMovementComponent.h 3KB
AsyncTaskCooldownChanged.h 2KB
GDHUDWidget.h 2KB
AsyncTaskAttributeChanged.h 2KB
AsyncTaskEffectStackChanged.h 2KB
GDPlayerController.h 2KB
GDGA_FireGun.h 1KB
GDGameplayAbility.h 1KB
GDGA_CharacterJump.h 1KB
GDMinionCharacter.h 1KB
GASDocumentation.h 1KB
GDAT_WaitReceiveDamage.h 1KB
GDAbilitySystemComponent.h 802B
GDProjectile.h 747B
GDFloatingStatusBarWidget.h 609B
GASDocumentationGameMode.h 531B
GDDamageExecCalculation.h 530B
GDDamageTextWidgetComponent.h 459B
GDAssetManager.h 418B
GDEngineSubsystem.h 354B
GDBlueprintLibrary.h 325B
GDHeroAIController.h 290B
DefaultEngine.ini 18KB
DefaultInput.ini 17KB
DefaultGameplayTags.ini 2KB
HoloLensEngine.ini 1KB
DefaultGame.ini 276B
DefaultEditor.ini 246B
DefaultEditorPerProjectUserSettings.ini 70B
LICENSE 1KB
README.md 308KB
gameplayabilityworldreticle.png 772KB
gameplaydebugger.png 684KB
showdebugpage3.png 635KB
showdebugpage1.png 611KB
showdebugpage2.png 606KB
attributeschange.png 255KB
gcfromga.png 116KB
derivedattribute.png 105KB
gestackchange.png 93KB
setbycaller.png 83KB
abilitytask.png 69KB
gecontainersetbycaller.png 67KB
attributechange.png 63KB
costmmc.png 47KB
gameplaytageditor.png 44KB
cooldownmmc.png 43KB
calculationmodifierbackingdataattribute.png 42KB
calculationmodifierbackingdatatempvariable.png 41KB
batchabilityactivate.png 37KB
abilityflowchartcomplex.png 37KB
cooldownchange.png 31KB
abilityflowchartsimple.png 26KB
gcfromge.png 18KB
cooldownsbc.png 18KB
scalablefloats.png 16KB
UE4_Mannequin_occlusion_Mobile.uasset 9.74MB
T_ML_Aluminum01.uasset 8.35MB
T_JaggedRock_01_D.uasset 7.78MB
T_JaggedRock_D.uasset 7.13MB
T_ML_FineRubber.uasset 6.06MB
T_ML_Rubber_Blue_01_D.uasset 5.25MB
UE4_Mannequin__normals.uasset 5.23MB
共 354 条
- 1
- 2
- 3
- 4
资源评论
weixin_44685120
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功