VFX Handler

The Axiom VFX Handler is a unified framework for defining and triggering all in-game visual effects — including particles, sounds, decals, camera shakes, post-processes, and more — through a single, data-driven system. Artists define effects using modular VFX Actions inside a VFX Data Asset, while engineers trigger them through one consistent interface. The result: faster iteration, cleaner code, and perfectly synchronized visuals across gameplay, animation, and audio.

Real Time

2024

Real Time VFX

VFX Handler

The Axiom VFX Handler is a unified framework for defining and triggering all in-game visual effects — including particles, sounds, decals, camera shakes, post-processes, and more — through a single, data-driven system. Artists define effects using modular VFX Actions inside a VFX Data Asset, while engineers trigger them through one consistent interface. The result: faster iteration, cleaner code, and perfectly synchronized visuals across gameplay, animation, and audio.

Real Time

2024

Real Time VFX

VFX Handler

The Axiom VFX Handler is a unified framework for defining and triggering all in-game visual effects — including particles, sounds, decals, camera shakes, post-processes, and more — through a single, data-driven system. Artists define effects using modular VFX Actions inside a VFX Data Asset, while engineers trigger them through one consistent interface. The result: faster iteration, cleaner code, and perfectly synchronized visuals across gameplay, animation, and audio.

Real Time

2024

Real Time VFX

Introduction - Why We Needed the VFX Handler

Building and synchronizing abilities in Unreal is usually complex.
Designers, animators, engineers, audio, and VFX artists all work in separate Blueprints — each adding timelines, variables, and logic — which quickly leads to duplicated code, bloated graphs, poor reusability, and maintenance issues.

The Axiom VFX Handler solves this by centralizing every visual, audio, and post-process effect into clean, data-driven assets.
Engineers set it up once; from then on, artists and designers trigger effects directly from Gameplay Cues, Blueprints, or AnimNotifies — no installation or manual setup needed.

Running in C++, it’s fast, lightweight, and fully modular, giving artists unified controls for timing, curves, and parameters.
In short, the VFX Handler replaces fragmented Blueprint workflows with a scalable, consistent, and high-performance system that keeps teams aligned and production efficient.

Introduction - Why We Needed the VFX Handler

Building and synchronizing abilities in Unreal is usually complex.
Designers, animators, engineers, audio, and VFX artists all work in separate Blueprints — each adding timelines, variables, and logic — which quickly leads to duplicated code, bloated graphs, poor reusability, and maintenance issues.

The Axiom VFX Handler solves this by centralizing every visual, audio, and post-process effect into clean, data-driven assets.
Engineers set it up once; from then on, artists and designers trigger effects directly from Gameplay Cues, Blueprints, or AnimNotifies — no installation or manual setup needed.

Running in C++, it’s fast, lightweight, and fully modular, giving artists unified controls for timing, curves, and parameters.
In short, the VFX Handler replaces fragmented Blueprint workflows with a scalable, consistent, and high-performance system that keeps teams aligned and production efficient.

Introduction - Why We Needed the VFX Handler

Building and synchronizing abilities in Unreal is usually complex.
Designers, animators, engineers, audio, and VFX artists all work in separate Blueprints — each adding timelines, variables, and logic — which quickly leads to duplicated code, bloated graphs, poor reusability, and maintenance issues.

The Axiom VFX Handler solves this by centralizing every visual, audio, and post-process effect into clean, data-driven assets.
Engineers set it up once; from then on, artists and designers trigger effects directly from Gameplay Cues, Blueprints, or AnimNotifies — no installation or manual setup needed.

Running in C++, it’s fast, lightweight, and fully modular, giving artists unified controls for timing, curves, and parameters.
In short, the VFX Handler replaces fragmented Blueprint workflows with a scalable, consistent, and high-performance system that keeps teams aligned and production efficient.

Implementation

Data-Driven Architecture — Each effect is defined step-by-step through VFX Actions (e.g., spawn Niagara, trigger sound, apply decal, blend post-process).

Separation of Art & Code — Source code stays fixed; artists edit Data Assets to update or expand effects.

Native Integration — Works directly with Unreal Engine’s native systems (Niagara, Audio, Camera, etc.) and supports asynchronous loading and event-based triggers.

Extensible Framework — New custom Action classes can be added without reworking the core system.

Implementation

Data-Driven Architecture — Each effect is defined step-by-step through VFX Actions (e.g., spawn Niagara, trigger sound, apply decal, blend post-process).

Separation of Art & Code — Source code stays fixed; artists edit Data Assets to update or expand effects.

Native Integration — Works directly with Unreal Engine’s native systems (Niagara, Audio, Camera, etc.) and supports asynchronous loading and event-based triggers.

Extensible Framework — New custom Action classes can be added without reworking the core system.

Implementation

Data-Driven Architecture — Each effect is defined step-by-step through VFX Actions (e.g., spawn Niagara, trigger sound, apply decal, blend post-process).

Separation of Art & Code — Source code stays fixed; artists edit Data Assets to update or expand effects.

Native Integration — Works directly with Unreal Engine’s native systems (Niagara, Audio, Camera, etc.) and supports asynchronous loading and event-based triggers.

Extensible Framework — New custom Action classes can be added without reworking the core system.

Key Advantages:

  • Unified Workflow: One consistent process for every type of effect.

  • Artist Empowerment: New effects require no engineering time.

  • Synchronization: Visuals, audio, and camera events remain perfectly in sync.

  • Performance & Scalability: Proven in production with soft async loading.

  • Clean Code: Minimizes communication overhead between art and engineering.

Key Advantages:

  • Unified Workflow: One consistent process for every type of effect.

  • Artist Empowerment: New effects require no engineering time.

  • Synchronization: Visuals, audio, and camera events remain perfectly in sync.

  • Performance & Scalability: Proven in production with soft async loading.

  • Clean Code: Minimizes communication overhead between art and engineering.

Key Advantages

Unified Workflow:
One consistent process for every type of effect.

Artist Empowerment: New effects require no engineering time.

Synchronization: Visuals, audio, and camera events remain perfectly in sync.

Performance & Scalability: Proven in production with soft async loading.

Clean Code: Minimizes communication overhead between art and engineering.

System Architecture

The Axiom VFX Handler Component is the core of the framework. Each Data Asset contains multiple groups of VFX Actions. Each Action performs one single task, such as spawning a Niagara, modifying a material, or triggering audio events.

Example: DA_VFX_Dash may contain groups such as Dash Cast, Dash Start Loop, Dash End Loop, Dash Sword Attack, and Dash AOE. Each group consists of several VFX Actions that define the complete effect.

This architecture ensures modularity, consistency, and cross-department synchronization across gameplay, animation, and sound.

System Architecture

The Axiom VFX Handler Component is the core of the framework. Each Data Asset contains multiple groups of VFX Actions. Each Action performs one single task, such as spawning a Niagara, modifying a material, or triggering audio events.

Example: DA_VFX_Dash may contain groups such as Dash Cast, Dash Start Loop, Dash End Loop, Dash Sword Attack, and Dash AOE. Each group consists of several VFX Actions that define the complete effect.

This architecture ensures modularity, consistency, and cross-department synchronization across gameplay, animation, and sound.

System Architecture

The Axiom VFX Handler Component is the core of the framework. Each Data Asset contains multiple groups of VFX Actions. Each Action performs one single task, such as spawning a Niagara, modifying a material, or triggering audio events.

Example: DA_VFX_Dash may contain groups such as Dash Cast, Dash Start Loop, Dash End Loop, Dash Sword Attack, and Dash AOE. Each group consists of several VFX Actions that define the complete effect.

This architecture ensures modularity, consistency, and cross-department synchronization across gameplay, animation, and sound.

Pool VFX Handler Component

The Pool VFX Handler Component extends the system by maintaining a pool of reusable VFX Handler Components. It is ideal for scenarios with multiple concurrent or stateful effects, such as complex characters or destructible systems.

It keeps a list of slots, each slot managing a VFX Handler Component. Slots are defined with names, Data Assets, and an array of states (e.g., active/inactive). This enables easy triggering and stopping of effects without blueprint clutter.

Example: The Chracter Body Parts VFX uses a Pool VFX Handler to manage effects for each body part (Torso, Arms, Legs). Instead of spawning separate handlers, each slot corresponds to one part, simplifying control and performance.

Pool VFX Handler Component

The Pool VFX Handler Component extends the system by maintaining a pool of reusable VFX Handler Components. It is ideal for scenarios with multiple concurrent or stateful effects, such as complex characters or destructible systems.

It keeps a list of slots, each slot managing a VFX Handler Component. Slots are defined with names, Data Assets, and an array of states (e.g., active/inactive). This enables easy triggering and stopping of effects without blueprint clutter.

Example: The Chracter Body Parts VFX uses a Pool VFX Handler to manage effects for each body part (Torso, Arms, Legs). Instead of spawning separate handlers, each slot corresponds to one part, simplifying control and performance.

Pool VFX Handler Component

The Pool VFX Handler Component extends the system by maintaining a pool of reusable VFX Handler Components. It is ideal for scenarios with multiple concurrent or stateful effects, such as complex characters or destructible systems.

It keeps a list of slots, each slot managing a VFX Handler Component. Slots are defined with names, Data Assets, and an array of states (e.g., active/inactive). This enables easy triggering and stopping of effects without blueprint clutter.

Example: The Chracter Body Parts VFX uses a Pool VFX Handler to manage effects for each body part (Torso, Arms, Legs). Instead of spawning separate handlers, each slot corresponds to one part, simplifying control and performance.

Key Advantages:

  • Efficient resource reuse

  • Cleaner blueprints

  • Centralized VFX logic

  • Easier state transitions

  • Extensible through blueprint inheritance

Key Advantages:

  • Efficient resource reuse

  • Cleaner blueprints

  • Centralized VFX logic

  • Easier state transitions

  • Extensible through blueprint inheritance

Key Advantages:

  • Efficient resource reuse

  • Cleaner blueprints

  • Centralized VFX logic

  • Easier state transitions

  • Extensible through blueprint inheritance

Assets and Concepts

A full VFX usually consists of one or more of the following actions:

Assets and Concepts

A full VFX usually consists of one or more of the following actions:

Assets and Concepts

A full VFX usually consists of one or more of the following actions:

  • Spawn Niagara systems,

  • Make material instance dynamics and animate their parameters,

  • Spawn meshes with a stencil value,

  • Swap materials with a smooth transition,

And much more…

  • Spawn Niagara systems,

  • Make material instance dynamics and animate their parameters,

  • Spawn meshes with a stencil value,

  • Swap materials with a smooth transition,

And much more…

  • Spawn Niagara systems,

  • Make material instance dynamics and animate their parameters,

  • Spawn meshes with a stencil value,

  • Swap materials with a smooth transition,

And much more…

We call these individual actions VFX Action.

We can affirm that a full VFX is a Group of VFX Actions.

Usually, we don't have VFX isolated from each other. For instance, it would make sense to have all the VFX associated with a Dash Attack in a single asset.

Therefore, we have three levels:

  1. A VFX Action, which executes a single action (single responsibility principle) like changing a material, spawning a Niagara asset, and so on.

We call these individual actions VFX Action.

We can affirm that a full VFX is a Group of VFX Actions.

Usually, we don't have VFX isolated from each other. For instance, it would make sense to have all the VFX associated with a Dash Attack in a single asset.

Therefore, we have three levels:

  1. A VFX Action, which executes a single action (single responsibility principle) like changing a material, spawning a Niagara asset, and so on.

We call these individual actions VFX Action.

We can affirm that a full VFX is a Group of VFX Actions.

Usually, we don't have VFX isolated from each other. For instance, it would make sense to have all the VFX associated with a Dash Attack in a single asset.

Therefore, we have three levels:

  1. A VFX Action, which executes a single action (single responsibility principle) like changing a material, spawning a Niagara asset, and so on.

  1. A Group of VFX actions that define a full VFX In the below screenshot, the Group of VFX Actions that describes the full VFX associated to Dash AOE:

  1. A Group of VFX actions that define a full VFX In the below screenshot, the Group of VFX Actions that describes the full VFX associated to Dash AOE:

  1. A Group of VFX actions that define a full VFX In the below screenshot, the Group of VFX Actions that describes the full VFX associated to Dash AOE:

  1. A Collection of Groups of VFX Actions, which contains all the VFX related to a specific aspect (for instance, all the Dash VFX). It stores in a Data Asset.

  1. A Collection of Groups of VFX Actions, which contains all the VFX related to a specific aspect (for instance, all the Dash VFX). It stores in a Data Asset.

  1. A Collection of Groups of VFX Actions, which contains all the VFX related to a specific aspect (for instance, all the Dash VFX). It stores in a Data Asset.

The VFX Artist makes a data asset whose type is XVActionGroupDataAsset that represents a collection of full VFX.

Each row in the above figure is a full VFX, that means a Group of Actions. Each group of action is a sequence of actions to trigger the full VFX

From the programmer’s point of view, it’s straightforward to integrate a full VFX. Just call the Trigger method with the VFX's name.

The VFX Artist makes a data asset whose type is XVActionGroupDataAsset that represents a collection of full VFX.

Each row in the above figure is a full VFX, that means a Group of Actions. Each group of action is a sequence of actions to trigger the full VFX

From the programmer’s point of view, it’s straightforward to integrate a full VFX. Just call the Trigger method with the VFX's name.

The VFX Artist makes a data asset whose type is XVActionGroupDataAsset that represents a collection of full VFX.

Each row in the above figure is a full VFX, that means a Group of Actions. Each group of action is a sequence of actions to trigger the full VFX

From the programmer’s point of view, it’s straightforward to integrate a full VFX. Just call the Trigger method with the VFX's name.

Or using an AnimNotify:

Or using an AnimNotify:

Or using an AnimNotify:

Or executing a GameplayCue from Gameplay Ability System:

Or executing a GameplayCue from Gameplay Ability System:

Or executing a GameplayCue from Gameplay Ability System:

VFX Actions Library

Each VFX Action executes a specific function, such as spawning visual components, changing materials, or playing audio. Common examples include:

VFX Actions Library

Each VFX Action executes a specific function, such as spawning visual components, changing materials, or playing audio. Common examples include:

VFX Actions Library

Each VFX Action executes a specific function, such as spawning visual components, changing materials, or playing audio. Common examples include:

Actions can be Instant, Timed, Reversed, Looping, Ping-Pong, or Infinite, allowing fine control over timing, synchronization, and animation of parameters.

Actions can be Instant, Timed, Reversed, Looping, Ping-Pong, or Infinite, allowing fine control over timing, synchronization, and animation of parameters.

Actions can be Instant, Timed, Reversed, Looping, Ping-Pong, or Infinite, allowing fine control over timing, synchronization, and animation of parameters.

VFX Action

Description

VFX Action

Description

VFX Action

Description

Ak Event

Post an Audio Kinetic event

Ak Event

Post an Audio Kinetic event

Ak Event

Post an Audio Kinetic event

Camera Shake

Execute a camera shake

Camera Shake

Execute a camera shake

Camera Shake

Execute a camera shake

Change Mesh

Change the mesh asset of a mesh component

Change Mesh

Change the mesh asset of a mesh component

Change Mesh

Change the mesh asset of a mesh component

Change Skeletal Animation

Change the anim asset of a skeletal mesh component

Change Skeletal Animation

Change the anim asset of a skeletal mesh component

Change Skeletal Animation

Change the anim asset of a skeletal mesh component

Debug

Outputs a text on the screen

Debug

Outputs a text on the screen

Debug

Outputs a text on the screen

Detach Component

It detaches a primitive component from its parent

Detach Component

It detaches a primitive component from its parent

Detach Component

It detaches a primitive component from its parent

Dissolve VFX

It executes a full dissolving VFX

Dissolve VFX

It executes a full dissolving VFX

Dissolve VFX

It executes a full dissolving VFX

Force Feedback

Posting a haptic effect to the controller

Force Feedback

Posting a haptic effect to the controller

Force Feedback

Posting a haptic effect to the controller

Material Parameter Collection

It sets and animates parameters in a MPC

Material Parameter Collection

It sets and animates parameters in a MPC

Material Parameter Collection

It sets and animates parameters in a MPC

Material Params Lerp

It does a linear interpolation in a material dynamic instance

Material Params Lerp

It does a linear interpolation in a material dynamic instance

Material Params Lerp

It does a linear interpolation in a material dynamic instance

Material

It changes materials, makes material instance dynamics, animates parameters and more

Material

It changes materials, makes material instance dynamics, animates parameters and more

Material

It changes materials, makes material instance dynamics, animates parameters and more

Niagara User Parameters

It sets and animates user parameters

Niagara User Parameters

It sets and animates user parameters

Niagara User Parameters

It sets and animates user parameters

Niagara User Parameters Lerp

It does a linear interpolation in a Niagara

Niagara User Parameters Lerp

It does a linear interpolation in a Niagara

Niagara User Parameters Lerp

It does a linear interpolation in a Niagara

Physical Surface Switcher

It executes another VFX Action depending on the physical surface

Physical Surface Switcher

It executes another VFX Action depending on the physical surface

Physical Surface Switcher

It executes another VFX Action depending on the physical surface

Postprocess

It posts and animates the parameters of a postprocess material. It handles by a custom PP actors cheaper based on layers

Postprocess

It posts and animates the parameters of a postprocess material. It handles by a custom PP actors cheaper based on layers

Postprocess

It posts and animates the parameters of a postprocess material. It handles by a custom PP actors cheaper based on layers

Precondition Switcher

It executes an action group or others depending on some conditions

Precondition Switcher

It executes an action group or others depending on some conditions

Precondition Switcher

It executes an action group or others depending on some conditions

Predefined Dissolve

It executes a full dissolving VFX described in a data asset

Predefined Dissolve

It executes a full dissolving VFX described in a data asset

Predefined Dissolve

It executes a full dissolving VFX described in a data asset

Render Settings

It changes some render settings in a primitive component

Render Settings

It changes some render settings in a primitive component

Render Settings

It changes some render settings in a primitive component

SPSS

Scattering particles on screen space

SPSS

Scattering particles on screen space

SPSS

Scattering particles on screen space

Set Stencil

It changes the stencil values of a mesh component

Set Stencil

It changes the stencil values of a mesh component

Set Stencil

It changes the stencil values of a mesh component

Spawn

Spawn almost anything actors, lights, niagaras, skeletal and static meshes and more

Spawn

Spawn almost anything actors, lights, niagaras, skeletal and static meshes and more

Spawn

Spawn almost anything actors, lights, niagaras, skeletal and static meshes and more

Stamp Skinned Decal

It stamps a skinned decal on a skeletal mesh component

Stamp Skinned Decal

It stamps a skinned decal on a skeletal mesh component

Stamp Skinned Decal

It stamps a skinned decal on a skeletal mesh component

Meta VFX Actions

To stop, resume, trigger another group ost anything actors, lights, niagaras, skeletal and static mshes and more

Meta VFX Actions

To stop, resume, trigger another group ost anything actors, lights, niagaras, skeletal and static mshes and more

Meta VFX Actions

To stop, resume, trigger another group ost anything actors, lights, niagaras, skeletal and static mshes and more

Integration and Timing

Custom AnimNotifies, Blueprint nodes, and GameplayCues allow effortless triggering of VFX Handler Components directly from animation sequences, scripts, or gameplay events — ensuring tight synchronization between animation, gameplay logic, and visuals.

Integration Methods

Anim Notifies – trigger from animation timelines.

Gameplay Cues – integrated with Gameplay Ability.

Blueprint Function Library – trigger from logic or scripts.

Pool VFX Handler – handle multiple concurrent effects.

Spawn Policy

Spawn if not exist — Reuse existing tagged component if available.

Spawn always — Always create a new handler.

Reuse previous — Only triggers if existing component with tag is found.

Destroy Policy

Keep — The component remains after VFX ends.

Destroy after actions end — Destroys after all actions complete.

Destroy immediately — Removes component when timed event ends.

Behavior at End

Do Nothing — No change at the end.

Stop — Stops all active actions.

Trigger Another Group — Starts a new action group on completion.

Trigger Latent Action — Wakes latent actions waiting to be triggered.

Integration and Timing

Custom AnimNotifies, Blueprint nodes, and GameplayCues allow effortless triggering of VFX Handler Components directly from animation sequences, scripts, or gameplay events — ensuring tight synchronization between animation, gameplay logic, and visuals.

Integration Methods

Anim Notifies – trigger from animation timelines.

Gameplay Cues – integrated with Gameplay Ability.

Blueprint Function Library – trigger from logic or scripts.

Pool VFX Handler – handle multiple concurrent effects.

Spawn Policy

Spawn if not exist — Reuse existing tagged component if available.

Spawn always — Always create a new handler.

Reuse previous — Only triggers if existing component with tag is found.

Destroy Policy

Keep — The component remains after VFX ends.

Destroy after actions end — Destroys after all actions complete.

Destroy immediately — Removes component when timed event ends.

Behavior at End

Do Nothing — No change at the end.

Stop — Stops all active actions.

Trigger Another Group — Starts a new action group on completion.

Trigger Latent Action — Wakes latent actions waiting to be triggered.

Integration and Timing

Custom AnimNotifies, Blueprint nodes, and GameplayCues allow effortless triggering of VFX Handler Components directly from animation sequences, scripts, or gameplay events — ensuring tight synchronization between animation, gameplay logic, and visuals.

Integration Methods

Anim Notifies – trigger from animation timelines.

Gameplay Cues – integrated with Gameplay Ability.

Blueprint Function Library – trigger from logic or scripts.

Pool VFX Handler – handle multiple concurrent effects.

Spawn Policy

Spawn if not exist — Reuse existing tagged component if available.

Spawn always — Always create a new handler.

Reuse previous — Only triggers if existing component with tag is found.

Destroy Policy

Keep — The component remains after VFX ends.

Destroy after actions end — Destroys after all actions complete.

Destroy immediately — Removes component when timed event ends.

Behavior at End

Do Nothing — No change at the end.

Stop — Stops all active actions.

Trigger Another Group — Starts a new action group on completion.

Trigger Latent Action — Wakes latent actions waiting to be triggered.

Audio Integration

The Ak Event VFX Action allows triggering Wwise audio events within the same unified framework. It supports Play/Stop logic, attachment to skeletal components, and timed or instant execution modes.

Audio Integration

The Ak Event VFX Action allows triggering Wwise audio events within the same unified framework. It supports Play/Stop logic, attachment to skeletal components, and timed or instant execution modes.

Audio Integration

The Ak Event VFX Action allows triggering Wwise audio events within the same unified framework. It supports Play/Stop logic, attachment to skeletal components, and timed or instant execution modes.

Advanced use cases include:

  • Cage Mode – Posts AkEvents for multiple vertices (e.g., arrow impacts).

  • Variants – Posts different events based on tags.

  • Preconditions – Conditional playback rules.

Advanced use cases include:

  • Cage Mode – Posts AkEvents for multiple vertices (e.g., arrow impacts).

  • Variants – Posts different events based on tags.

  • Preconditions – Conditional playback rules.

Advanced use cases include:

  • Cage Mode – Posts AkEvents for multiple vertices (e.g., arrow impacts).

  • Variants – Posts different events based on tags.

  • Preconditions – Conditional playback rules.

The Axiom VFX Handler System provides a single, extensible framework for managing all gameplay, animation, and audio effects. Its modular architecture, pooling system, and integration tools streamline VFX development while keeping code clean and maintainable.

Unified, scalable, and data-driven — the VFX Handler defines how Axiom builds synchronized, performant effects across all projects.


The Axiom VFX Handler System provides a single, extensible framework for managing all gameplay, animation, and audio effects. Its modular architecture, pooling system, and integration tools streamline VFX development while keeping code clean and maintainable.

Unified, scalable, and data-driven — the VFX Handler defines how Axiom builds synchronized, performant effects across all projects.


The Axiom VFX Handler System provides a single, extensible framework for managing all gameplay, animation, and audio effects. Its modular architecture, pooling system, and integration tools streamline VFX development while keeping code clean and maintainable.

Unified, scalable, and data-driven — the VFX Handler defines how Axiom builds synchronized, performant effects across all projects.


Let's work
together

Let's create something beautiful together! At AXIOM VFX, we believe in collaboration to bring your unique vision to life. Get in touch and let's get started!

Let's work
together

Let's create something beautiful together! At AXIOM VFX, we believe in collaboration to bring your unique vision to life. Get in touch and let's get started!

Let's work
together

Let's create something beautiful together! At AXIOM VFX, we believe in collaboration to bring your unique vision to life. Get in touch and let's get started!

Headquarters

Austin, Texas (USA)

Valencia (ESP)

©2023 AXIOM VFX, INC
PRIVACY POLICY

Headquarters

Austin, Texas (USA)

Valencia (ESP)

©2023 AXIOM VFX, INC

Headquarters

Austin, Texas (USA)

Valencia (ESP)

©2023 AXIOM VFX, INC