ASA Quick Note: Detecting a Vanilla Shoulder Buff Without Remapping
If I need to extend a vanilla shoulder creature in ARK: Survival Ascended without remapping its BP, this is the pattern that actually worked here.
Core Idea
Use a player-side detector buff as an event bridge.
- Put the buff on the player through
ModDataAsset -> Additional Default Buffs - Enable
bUseBPNotifyOtherBuffActivated - Enable
bUseBPNotifyOtherBuffDeactivated - Listen for the vanilla mounted shoulder buff on that same player
- When it appears, resolve the creature reference from
BuffDamageCauser - Apply a second custom buff to the creature
- When the vanilla buff goes away, remove the custom buff too
This avoids:
- remaps
- tying the save to a replacement creature
- timer polling
Concrete Use In This Mod
In DrakelingTamedXPMultiplier, the detector listens for:
Buff_ShoulderDragonMounted
From there it applies:
Buff_DrakelingTamedXPMultiplier
That second buff lives on the Drakeling and handles the XP side through BPNotifyExperienceGained.
Details Worth Remembering
BuffDamageCauserwas the useful bridge for resolving the Drakeling from the mounted buff.- The Drakeling-side buff can stay small if it only validates state, filters the exact XP types, and keeps the XP logic on the creature side.
- If
PrimalGameDatadoes not actually reference theModDataAsset, the default buffs will look like they are not working. Additional Default Buffsonly solves new spawns and respawns. If already-living survivors also need the detector, add a server singleton throughModDataAsset -> ServerExtraWorldSingletonActorClassesand apply the player buff there when it is missing.
Easy Things To Forget
- If the detector buff is not actually on the player,
NotifyOtherwill not help because you are listening from the wrong place. - A generic uploader error can come from the icon, not from gameplay code.
Useful Takeaway
If the vanilla creature already applies a mounted buff to the player, that buff is probably a better entry point than trying to start from the creature itself. In this case it worked better to start from the player buff lifecycle and go down to the Drakeling from there.