Skip to content

Custom Action Functionality

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

Important

The best way to learn how to produce custom push actions is to look at the included _BP actions

Caution

You can create custom push actions in both BP and C++ however for performance reasons C++ is highly recommended

Tip

The blueprint version is identical in terms of functionality and is a great preview for how to extract data and work with it!
It also provides examples of functionality you can add such as playing a push montage, or a get pushed montage

Context

For the data you work with to be properly predicted it needs to be sent as a payload. Retrieving the data from within the ability is not predicted and can result in de-sync.

Retrieving Data

Extract Data Nodes

image

Process Data Nodes

Note

These nodes exist based on PushPawn's out-of-the-box design
You may want to create your own

UnrealEditor-Win64-DebugGame_2025-03-22_17-53-07

Example

image

Cached Data

When inheriting any of the existing Push Actions you can generally use the data already cached by the parent provided you call Super (the parent function).

UnrealEditor_2025-03-21_17-08-01

Tip

Same is true with the C++ Abilities

Functionality

Important

These are shown based on Blueprint implementation for ease of viewing but C++ is recommended for implementation

Push Force

This force is responsible for the soft collision feel, where other characters feel spongy to walk into. You can modify, replace, or remove this to your heart's content.

image

Root Motion Pushed Montage

We could use a root motion montage to replace the push force altogether for an entirely different collision system!

UnrealEditor-Win64-DebugGame_2025-03-22_17-56-04

Tip

If you want a simple cosmetic montage that doesn't drive the movement, or you want the pusher to play a cosmetic montage, see this section on Push Animations instead

Clone this wiki locally