Grid attribute samplers
Available properties
The plugin allows you to modify the following properties of your grid sampler:

-
Use an existing asset grid asset to write to and read from. The asset grid must be an UE render target
The target will only be readable/writable when using GPU simulated particles.
It can still be used with CPU simulated particles to use the render target’s dimensions for the grid’s setup. -
Grid order: one, two or three dimensional. You can only edit this on external samplers
-
The size of every axis: X, Y and Z, according to the grid order
-
The data type used by the grid. You can only edit this on external samplers.
Unreal only allows us to use the following data types for the given grid orders:
| 1D and 2D | 3D |
|---|---|
|
|
Asset grid mode
When using the Asset grid mode, you can specify the following properties:
-
sRGB: if true, render target has its sRGB flag force enabled (or disabled if false).
Enable this if writes into the grid in the source effect(s) are not linear. -
Render target asset: a 2D or volume (= 3D) render target.

Available Blueprint functions
-
ReadGridValues: Reads the grid CPU sim data and outputs it in an array of the corresponding type.- In Grid
-
The grid attribute sampler to read from
- Data Type
-
Data type of the grid. It determines the type of the output array
- Out values
-
Array of the given data type containing the CPU data read from the grid
- Return value
-
true if the read was successful, false otherwise
-
WriteGridValues: Writes an input array into the grid CPU sim data. The data type must match what the grid uses.- In Grid
-
The grid attribute sampler to write into
- Data Type
-
Data type of the grid. It determines the type of the input array
- In values
-
Array of the given data to write into the grid
- Return value
-
true if the write was successful, false otherwise
When starting/restarting an effect, PopcornFX spawn nodes (both read and write) are evaluated during the current frame. You need to wait for the next one to see their result in your grid. To wait for the next frame, you can use a Delaynode with a duration of 0.0.