Supported features
Overview
The aim of the plugin is to eventually implement all the feature set of PopcornFX. However due to the rapidly evolving state of PopcornFX and Unreal Engine, some features are still missing. The table below summarizes the current state of the plugin.
General feature set
Simulation |
Status |
Notes |
Raycasts / Sphere sweeps |
✓ |
Contact surface types & properties are retrieved from physical materials. Implemented in PhysX and Chaos. |
Broadcasted events |
✓ |
|
Audio sampling |
✓ |
An interface is exposed for feeding audio waveform/spectrum data but no default implementation is available yet |
GPU particles |
✓ |
GPU particles are currently only supported on PC, with D3D11 or D3D12 RHI |
Emitters |
|
|
Emitter time scale |
✓ |
|
Emitter visibility |
✓ |
|
Emitter prewarm |
✓ |
|
Attributes |
|
|
Int |
✓ |
|
Float |
✓ |
|
Bool |
✓ |
|
Quaternion |
✓ |
|
Attribute samplers |
|
|
Shape (Primitives) |
✓ |
|
Shape (Static meshes) |
✓ |
|
Shape (Skeletal meshes) |
✓ |
Shape attribute sampler details |
Image |
✓ |
Image attribute sampler details |
Animation track |
✓ |
Animation track attribute sampler details |
Vectorfield |
✓ |
Vector field attribute sampler details |
Grid |
✓ |
|
Text |
✓ |
|
Curves |
✓ |
|
Sound |
⨉ |
Supported renderers
Renderer |
CPU simulation |
GPU simulation |
Notes |
Billboard |
✓ |
✓ |
GPU (vertex shader) billboarding is on by default, CPU billboarding is still available but might be removed in future versions (advanced rendering features like raytracing rely on vertex shader billboarding) |
Ribbon |
✓ |
⨉ |
CPU billboarding is on by default (GPU billboarding is not implemented) |
Triangle |
✓ |
⨉ |
CPU billboarding is on by default (GPU billboarding is not implemented) |
Mesh |
✓ |
✓ |
CPU billboarding is on by default (the vertex shader still processes some data but mesh instance matrices are built on CPU) |
Sound |
✓ |
⨉ |
Emits Unreal Engine audio system audio sources |
Light |
✓ |
⨉ |
Emits Unreal Engine simple lights (simple point lights that cannot cast shadows) |
Decal |
✓ |
⨉ |
Renderer feature set
Make sure to check the material parameter table to see how renderer constants & per particle values are exposed to the material graph. Some of the features below are not present in the default materials (.pkma) and require creating custom .pkma/.pkri files to expose these features to the renderers/graph.
Rendering feature |
Billboard |
Ribbon |
Triangle |
Mesh |
Notes |
Transparent |
✓ |
✓ |
✓ |
✓ |
PremultipliedAlpha and AdditiveNoAlpha are emulated. Meshes only support Unlit Additive and AlphaBlend materials. |
Opaque |
✓ |
✓ |
✓ |
✓ |
|
Diffuse |
✓ |
✓ |
✓ |
✓ |
|
Atlas |
✓ |
✓ |
✓ |
✓ |
|
Distortion |
✓ |
✓ |
✓ |
✓ |
|
Alpha Remap |
✓ |
✓ |
✓ |
✓ |
|
Soft Particles |
✓ |
✓ |
✓ |
✓ |
|
Flip UVs |
✓ |
✓ |
✓ |
✓ |
|
Lit |
✓ |
✓ |
✓ |
✓ |
Metalness/roughness maps & constants are ignored. |
LegacyLit |
✓ |
✓ |
✓ |
✓ |
|
Normal Wrap |
⨉ |
⨉ |
⨉ |
⨉ |
|
Normal Bend |
✓ |
✓ |
✓ |
⨉ |
|
Diffuse Ramp |
✓ |
✓ |
✓ |
✓ |
Currently, v-axis ramp sampling is not supported |
Emissive |
✓ |
✓ |
✓ |
✓ |
|
Emissive Ramp |
⨉ |
⨉ |
⨉ |
⨉ |
Currently, v-axis ramp sampling is not supported |
Double Sided |
⨉ |
⨉ |
⨉ |
⨉ |
Currently all materials are double sided, implementing this would require to duplicate all default materials (this option can’t be set from code). |
Texture Repeat |
⨉ |
⨉ |
⨉ |
⨉ |
This setting needs to be changed on the texture asset directly. |
Transform UVs |
⨉ |
⨉ |
⨉ |
⨉ |
|
Basic Transform UVs |
✓ |
✓ |
✓ |
⨉ |
|
Tint |
⨉ |
⨉ |
⨉ |
⨉ |
|
Correct Deformation |
⨉ |
✓ |
⨉ |
⨉ |
|
Custom Texture U |
⨉ |
✓ |
⨉ |
⨉ |
|
Texture UVs |
✓ |
✓ |
✓ |
⨉ |
|
Mesh Atlas |
⨉ |
⨉ |
⨉ |
✓ |
|
Use Vertex Colors |
⨉ |
⨉ |
⨉ |
⨉ |
|
ShaderInput0 |
⨉ |
⨉ |
⨉ |
✓ |
DynamicParameter0 is reserved for Billboard, Ribbon & Triangle materials. |
ShaderInput1 |
✓ |
✓ |
✓ |
✓ |
|
ShaderInput2 |
✓ |
✓ |
✓ |
✓ |
|
ShaderInput3 |
✓ |
✓ |
✓ |
✓ |
|
Mesh LOD |
⨉ |
⨉ |
⨉ |
✓ |
|
Six Way Lightmap |
✓ |
⨉ |
⨉ |
⨉ |
|
Volumetric Fog |
✓ |
✓ |
✓ |
✓ |
|
Skeletal Animation |
⨉ |
⨉ |
⨉ |
✓ |
|
Skeletal Animation Interpolate |
⨉ |
⨉ |
⨉ |
✓ |
|
Skeletal Animation Interpolate Tracks |
⨉ |
⨉ |
⨉ |
✓ |
|
VAT Rigid |
⨉ |
⨉ |
⨉ |
✓ |
|
VAT Fluid |
⨉ |
⨉ |
⨉ |
✓ |
|
VAT Soft |
⨉ |
⨉ |
⨉ |
✓ |
|
VAT Normalized Data |
⨉ |
⨉ |
⨉ |
✓ |
|
Raytraced |
✓ |
⨉ |
⨉ |
✓ |
Supported on >= UE5.0 |
AlphaMasked |
⨉ |
⨉ |
⨉ |
⨉ |
|
UVDistortions |
⨉ |
⨉ |
⨉ |
⨉ |
|
Dissolve |
⨉ |
⨉ |
⨉ |
⨉ |
|
FastLit |
⨉ |
⨉ |
⨉ |
⨉ |
-
CPU billboard particles are correctly supported.
-
CPU mesh particles are using the default mesh Vertex Factory: only supports basic mesh materials (cannot use any particle related render features like alpha remap, atlas, particle color…). Mesh atlases are not supported.
The current implementation still requires additional improvements.