ASA Quick Note: Detecting a Vanilla Shoulder Buff Without Remapping

ModsArkASAQuickNotesBlueprints

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

  • BuffDamageCauser was 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 PrimalGameData does not actually reference the ModDataAsset, the default buffs will look like they are not working.
  • Additional Default Buffs only solves new spawns and respawns. If already-living survivors also need the detector, add a server singleton through ModDataAsset -> ServerExtraWorldSingletonActorClasses and apply the player buff there when it is missing.

Easy Things To Forget

  • If the detector buff is not actually on the player, NotifyOther will 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.