How-To: Override Values Per Attack

Goal: change one number for a single attack without authoring a near-duplicate profile that differs only by that number.

Prerequisites
A working warp, as built in Quick Start.

1. Use the node's override pins

Crimson Warp To Target grows an Advanced input pin for every profile property tagged for exposure, seeded with the chosen asset's own value. Touch one and only that value changes for this activation; leave it alone and the pin is skipped entirely at compile time, so the asset stays the source of truth and a later change to the profile is not shadowed by a stale baked value.

PinTypical reason to override
Scale BandThis one attack reaches a little further
Too Far PolicyThis one should block rather than whiff
Contact OffsetThis attack swings with a longer weapon
Arrival ToleranceThis one should commit even when nearly touching
Max Turn SecondsThis one snaps onto the target harder
Overrides never touch the asset
A profile is a shared asset - one object serves every actor in the world - so the node writes onto a throwaway copy made for that activation. Overriding a value in one ability can never re-tune every other attack using the same profile.
Verify
Set Max Turn Seconds on the node to something obviously different from the profile's value and attack. The dev tool's Resolve tab reports the overridden value, and the profile asset on disk is unchanged.

2. Expose a different property

The pins come from reflection, so the exposed set is not fixed in code. Tag a property with the ExposeOnWarp metadata and it becomes a pin - including a property you add on a Blueprint subclass of UCrimsonWarpProfile, which needs no C++ at all.

Create a Blueprint subclass of CrimsonWarpProfile and add your own variables to it. Use that subclass for your profile assets. Blueprint variables cannot carry C++ metadata, so a new pin for them requires the C++ tag below - but every property already tagged on the base class is available on your subclass's assets.

Verify
Assign a profile of the new class to the node and refresh it. The new property appears as an Advanced pin, seeded with the asset's value.

See also

  • How-To: Tune Reach and Standoff
  • How-To: Control Turn Speed
  • API Reference