Niagara Compute Shader Integration
Overview
There are several different methods to achieve this, each has its own module.
I have provided an easy-to-configure boids example for each method.
I hope that this repo is a good place to start playing with UE5 graph builder.
Modules
Compute Core
A shared module that provides default settings and utilities, ensuring consistency and efficiency across all modules.
Niagara Example
A boids system implemented entirely within Niagara without compute shaders and using the Particle Attribute Reader instead.
Compute RP SUB Example
Demonstrates how to extend ComputeRPExample to pass shader data into materials by hooking into the scene buffer.
Examples
- Structured Buffer -> Material
Compute RP Example
Runtime Module.
Demonstrates the use of Graph Builder to setup and run compute shaders.
Examples
- Structured Buffer -> Niagara
- Structured Buffer -> Render Target -> Niagara
Compute RP Legacy Example
Demonstrates the use of manual management over the compute pipeline to setup and run compute shaders.
Examples
- Structured Buffer -> Niagara
Getting Started
Estimated Completion Time:
5 minutes.
Installing
If you installed outside of the Epic Launcher; add the following to your “Plugins” array in your .uproject
{ "Name": "ST_NiagaraCSIntegration", "Enabled": true, "MarketplaceURL": "https://www.fab.com/listings/85c5b409-a153-4ab9-9f1b-b6bef092b572" }
When you arrive into the editor. Navigate to ProjectSettings / ShaderTech.
Check each modules settings;
- ST Compute RP Example Settings
- ST Compute RP Legacy Example Settings
- ST Compute RP SUB Example Settings
- ST Niagara Example Settings
The settings should be auto-populated with the base configurations stored in the plugin’s Config folder.
If it did auto-populated you will need to import them manually. Do so by choosing “Import…” on the top right.
Import the file “BaseST_NiagaraCSIntegration.ini” for the 4 modules’ settings.
Proceed to the next section where we can try an example.
Try An Example
If you can’t see the Plugins section in the Content Browser (CB). Click “Settings on the right of the CB and then “Show Plugin Content”.
You configure this from the Levels panel. if you don’t see it you can open it from Window / Levels.
Location The Configuration Settings
- M_TestLab_Niagara | ST Niagara Example Settings
- M_TestLab_RP_Drawing | ST Compute RP Example Settings
- M_TestLab_Niagara | ST Niagara Example Settings
- M_TestLab_RP_Emitting | ST Compute RP Example Settings
- M_TestLab_RP_Legacy_Emitting | ST Compute RP Legacy Example Settings
- M_TestLab_RP_Material_Emitting | ST Compute RP SUB Example Settings
Location The Configuration Settings
Boid Constant Parameters values are accessed once when the compute shader is initialised and cannot be modified in runtime.
Boid Dynamic Parameters values can be modified in runtime.
Mission Complete!
License
MIT
Creative Commons Attribution (CC BY 4.0)
If you have purchased this free plugin on the Fab marketplace, this project is licensed under the Attribution 4.0 International deed. See the LICENSE deed for details.
Release Notes
Version 1.2 (23/05/2025)
Improvement | Fab marketplace prep
Supports: UE 5.5.x
Supports: UE 5.6.x
Version 1.1 (13/11/2024)
Improvement | General Refactor
Bug FIx | Correctly dispose of buffers
Feature | Structured Buffer -> Material
Supports: UE 5.5.x (13/11/2024)
Supports: UE 5.4.x (01/09/2024)
Version 1.0 (11/05/2024)
The beginning of Time.
Supports: UE 5.3.x