Skip to content

Ability Parameters

Jared Taylor edited this page Mar 22, 2025 · 6 revisions

Important

Here you will learn how to customize PushPawn Behaviour

Scan

Note

My Pawn scans for Other Pawns

The scan ability determines how we search for nearby pawns that can push us away.

There are many parameters that can be understood either by their name or by reading the tooltip that won't be covered.

Radius

ScanRadiusScalar determines how far we search for someone to push us (a pusher). PusheeRadiusScalar changes how large we assume the pusher to be. There are equivalent properties that we use while under Acceleration that allows us to shift these priorities based on whether we're idle or not.

RadiusVelocityScalar modifies PusheeRadiusScalar based on our own Velocity (not theirs). By default when we're moving faster we consider them to be bigger.

Rate

ScanRate is an important property to understand because a low rate is less performance intensive because it can trigger push actions less often, but if its too low and we're moving fast we can pass through our target before a push action triggers, or when we're past their center point resulting in a push in the other direction. Changing ScanRate can also result in a different feel altogether.

Net Sync [ Advanced ]

PushPawn eventually becomes out of sync between server and client. PushPawn automatically re-syncs itself. Read the tooltips to understand how the parameters affect this. Good defaults have been dialed in for you already.

Action

Note

My Pawn requests the Other Pawn to push away My Pawn

By default PushPawn will apply a force over time that moves us away from our Pusher.

Duration controls how long this force is continuously applied for.

VelocityToStrengthCurve determines how strong this force is upon each application (tick) based on our current velocity. By default, the faster we're moving, the harder we're pushed away. This means the push force counteracts our attempt to move through our target.

Tip

This provides a soft organic collision feel which is satisfying and feels like you're really trying to shove your way past.

StrengthScalar scales the result of the VelocityToStrengthCurve to make tuning easier. It is also the direct strength value if VelocityToStrengthCurve is null.

In some cases you might not want the center-point of a character to be traversal or for characters to run too far inside each other, especially if you have a large boss-type monster. DistanceToStrength curve is well-suited to this use-case.

Tip

By default DistanceToStrength curve is not used but you may want this, its very useful!
The included CV_PushPawn_DistanceToStrength will make the pusher a lot firmer near the center if you assign it to PushParams in your push action ability

Clone this wiki locally