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

​

​ Attribute sampler details

Shape (Primitives)

✓

Shape attribute sampler details

Shape (Static meshes)

✓

Shape attribute sampler details

Shape (Skeletal meshes)

✓

Shape attribute sampler details

Also supports cloth simulations

Image

✓

Image attribute sampler details

Can be setup from static images or render targets (for GPU particles)

Animation track

✓

Animation track attribute sampler details

Can be setup from spline components

Vectorfield

✓

Vector field attribute sampler details

Animated vectorfields are not supported

Grid

✓

Grid attribute sampler details

Text

✓

Text attribute sampler details

Curves

✓

Curve attribute sampler details

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.