#CommonGAS (W.I.P)

1 messages · Page 1 of 1 (latest)

lilac cave
#

## First Entry (W.I.P) Default Character Data
DCD is a data asset that hold information related to a character. DCD holds information about what ability sets a character will have, what abilitytag relationship mapping a character will have, what gameplay tags a character will hold and what InputMappingData a character will use for input-related data

#

Why do we need to use Default Character Data

  1. In my game, i define what a character can do by using DCD. If a character is going through possession for example for a Death and Respawn system, upon death we just need to give remove some part of DCD like the AbilitySet,InputMapping and Relationship mapping and give a GameplayTag.State.Death to enter the death state. Upon Respawning, we can just give back the default CharacterData so we dont have to tell what this character do again.
#

2.Another example is for something like a mount system.Traditionally, we would use the Possess() and Unposess() function to possess a certain character to gain control to it.In the possessed character blueprint, we must define what the mount will behave and what abilities will it has manually. By using DCD, we can go the route of Data Driven way with defining the data first then applying to the character so we can easier do possession between different characters .

#

How does it work
The design for DCD is for it to be data driven.We define the Character Data with populating what abilitysets,relationshipmapping,gameplaytags and inputmapping it will have then populating those data assets so the DCD can apply those interactions to the character it will applying

By default, a character will hold a Default Character Data that defines what it do under CommonGAS->Data->CharacterData.

#
  1. A designer will need to define a character data by Miscellaneous->DataAsset->DefaultCharacterData.
  2. A designer will need to define a ability set by Miscellaneous->DataAsset->CommonAbilitySet.
  3. A designer will need to define a abilitytagrelationshipmapping by Miscellaneous->DataAsset->CommonAbilityTagRelationshipMapping.
  4. A designer will need to define a inputmappingdata by Miscellaneous->DataAsset->InputMappinmgData.
#

Lastly, in character bp, we just apply the character data we finish populating at CommonGAS->Data->CharacterData
## Input Mapping Data

IMD is a data asset that will define InputMappingContext and its priority a character will have. This data asset will be replacing the CommonAbilityInputBinding Component and its functionality will be partly placed inside IMD and the rest will be moving into CommonExtensionComponent``
How does it work

  1. First, a designer need to define Input Mapping Data by Miscellaneous->DataAsset->InputMappinmgData
  2. Next, they need to define an InputMappingContext a character will have by Input->InputMappingContext aloongside the corresponding InputActions by Input->InputMappingContext
  3. Lastly, the designer need to go to DefaultCharacterData and set the populated InputMappingData into the Input->InputMappingData
#

Now, if we want to switch a character IMC, we just have to manipulate this data asset and the rest will be updated by itself.