Overview: This project is an Unreal Engine 5 plugin that demonstrates compute shader integration with the Niagara particle system. I hope that this repo is a good place to start playing with UE5 graph builder.
Temaran has produced an awesome resource to learn compute shaders and I suggest checking it out if you havent already UnrealEngineShaderPluginDemo
- Overview:
- Demonstrates the use of Graph Builder to setup and run compute shaders through a boids example as part of the PreRender pass
GEngine->GetPreRenderDelegateEx
- Examples:
- Example1: Structured Buffer -> Niagara
- Example2: Structured Buffer -> Render Target -> Niagara
- Example3: Structured Buffer -> Instanced Static Meshes (WIP AND PRIVATISED)
- Overview:
- Demonstrates the use of Graph Builder to setup and run compute shaders through a boids example as part of a custom pass
ENQUEUE_RENDER_COMMAND
- Examples:
- Example1: Structured Buffer -> Niagara
- Overview:
- Demonstrates the use of Graph Builder to setup and run compute shaders through a boids example as part of a custom pass through legacy methods of binding shader paramaters
ENQUEUE_RENDER_COMMAND
- Examples:
- Example1: Structured Buffer -> Niagara
- Overview:
- A boids system implemented entirely within Niagara without compute shaders and using the Particle Attribute Reader instead.
- Overview:
- A shared module that provides default shader settings and utilities, ensuring consistency and efficiency across all modules.
- Unreal Engine 5.4.3
- C++ Project for generating binaries and intermediate folders
- Basic understanding of Unreal Engine and its plugin system.
To integrate this plugin into your Unreal Engine project:
- Clone the repository to your local machine.
- Copy the plugin folder into the
Plugins
directory of your Unreal Engine project. - Rebuild project files from your .uproject
- Enable the plugin within your project settings via the Plugins menu.
- Open Maps/M_TestLab (persistent map)
- Toggle examples by activating/deactivated sub levels from the persistent level. All examples are always loaded by default.
- Configure boids parameters through Compute Example Settings inside Project Settings. Please assign the niagara systems as follows.
- Enjoy. You can play with the compute example settings even in runtime. :)
Contributions to this project are welcome. Please follow the standard GitHub workflow for submitting pull requests.
This project is licensed under the MIT License. See the LICENSE file for details.