Custom shader support for particles#1736
Merged
Merged
Conversation
C-Core
reviewed
Dec 8, 2025
Particles can now be rendered with custom shaders. In the particle "quad" or "trail" type, select "Custom Material". For the custom particle material, create a custom shader, either through the shader template, or via visual shaders (VSE). Important: On the material asset set the "Asset Filter Tag" to "QuadParticle" or "TrailParticle", to be able to pick the material in the asset browser as a custom particle material. Using a custom shader you can create more advanced rendering effects. In VSE there are a particle specific nodes for input and output. VSE currently only supports quad particles (no trails), but that would be trivial to add, as well. Also fixed a few issues in VSE. The same texture can now be sampled multiple times with different UVs by using the texture 2D node with the same name multiple times. Also removed the hard coded "BaseTexture" and other nodes. Also added a "ScreenCoord" node for sampling the screen textures. Currently there is only a single sample, the "CustomParticleShader" material in the Testing Chambers project.
70a2953 to
8b475e4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Particles can now be rendered with custom shaders. In the particle "quad" or "trail" type, select "Custom Material". For the custom particle material, create a custom shader, either through the shader template, or via visual shaders (VSE). Important: On the material asset set the "Asset Filter Tag" to "QuadParticle" or "TrailParticle", to be able to pick the material in the asset browser as a custom particle material. Using a custom shader you can create more advanced rendering effects. In VSE there are a particle specific nodes for input and output. VSE currently only supports quad particles (no trails), but that would be trivial to add, as well.
Also fixed a few issues in VSE. The same texture can now be sampled multiple times with different UVs by using the texture 2D node with the same name multiple times. Also removed the hard coded "BaseTexture" and other nodes. Also added a "ScreenCoord" node for sampling the screen textures.
Currently there is only a single sample, the "CustomParticleShader" material in the Testing Chambers project.
Custom shader:
In particle editor:
In use: