- Damage Types, Resistances, Gameplay Tags and Gameplay Effects.by Kaos SpectrumIn this post, I want to discuss ways to deal with Damage Types using Gameplay Tags and Gameplay Effects, how to detect damage types and play the corresponding Gameplay Cue based on the damage that was dealt. We will also cover things like resistances to certain damage types, whilst utilizing as little Attributes as possible.… Read more: Damage Types, Resistances, Gameplay Tags and Gameplay Effects.
- Understanding Gameplay Effect Execution Calculations!by Kaos SpectrumGameplay Effect Execution Calculation is a way to manipulate attributes base value. They are not stateful and can not be predicted (any attribute mutated this way is done so on it’s base value). But they are super powerful!Below I will explain some of the stuff about Gameplay Effect Execution Calculations and how to do general… Read more: Understanding Gameplay Effect Execution Calculations!
- Adjusting Durations/Cooldowns of Active Gameplay Effectsby Kaos SpectrumSo a common question is, how can i increase/decrease cooldowns or duration based effects when they are active. I did some research, and came up with what i think is the nicest way to do it, and it uses GameplayEffects to achieve this. First we need to make a dummy attribute, you can put this… Read more: Adjusting Durations/Cooldowns of Active Gameplay Effects
- Checking if Gameplay Ability is Active.by Kaos SpectrumHere some useful functions for your custom Ability System Component to determine if an ability is Active or not. This is a very short post, and the functions should make some sense just by reading them.
- Gameplay Tag Stack Containerby Kaos SpectrumHere is a very simple container which allows you to have replicated Gameplay Tags as a Stack Count. Useful for say things like Weapon Ammo, Inventory item count, stat points, etc. Here is the header file: And the cpp file part: To use it, simply add a replicated property somewhere, say for example your player… Read more: Gameplay Tag Stack Container
- Native Gameplay Tags (New in 4.27 and UE5)by Kaos SpectrumThis is a quick run down on the new NativeGameplayTags which was added to UE4.27 and UE5. These tags will populate the Editor GameplayTags drop down also (same as my struct version). Though you can also add these tags to your DefaultGameplayTags.ini just fine, as the engine will not allow dupes! This class adds the… Read more: Native Gameplay Tags (New in 4.27 and UE5)
- Gameplay Tag Relationshipsby Kaos SpectrumWhen dealing with a lot of abilities, the block and cancel tags can get confusing and hard to keep managed. By using a relationship, we can apply block, cancel and activation tags from a more central location. This allows us to define what ability tags block and cancels what abilities, Example below: This is a… Read more: Gameplay Tag Relationships
- Activating abilities when Granted to ASC (Passive Abilities)by Kaos SpectrumHere is a good way to activate abilities that have been given to the ASC, useful for passive abilities (Abilities that automatically run without triggers/user activation). First we will need to add a custom bool to your custom Gameplay Ability class. And we need to override one function from the GameplayAbility and our custom function… Read more: Activating abilities when Granted to ASC (Passive Abilities)
- Gameplay Ability Set’sby Kaos SpectrumGameplay Ability Sets allow you define a set of abilities and effects which are given to the target ASC, I use these to apply the default generic abilities a player has, and default generic effects each player will have. These can also be used for things like perks, etc. The other benefit is, they can… Read more: Gameplay Ability Set’s
- Adding and using Gameplay Tags in C++by Kaos SpectrumSince UE 5.2 i highly recommend using Native Tags over these. You can find the post here One of the many question i see and get asked, is how do you add/use Gameplay Tags inside C++. Now this is a very good question, and there are many ways you can do this. But Unreal Engine… Read more: Adding and using Gameplay Tags in C++