The PopcornFX v2.23 build is now available!
Make sure you upgrade your runtime / plugins before switching to this version.
You can also check out the changelog on the wiki, where you’ll find all download links and updated patch nodes.
Note: UE4 & UE5 plugin archives are provided as 7z archives for better compression. They can be extracted using 7zip.
Highlights
Check out the PopcornFX 2.23 release highlights livestream, where a few members of the team dive into some of the new features:

Changelog 2.23.5
Builds (May 7th 2026)
- Editor
- Plugins
- UnrealEngine Win/Linux/Mac: UnrealEngine_PopcornFXPlugin_2.23.5_Win64_Linux64_Mac64.7z
- UnrealEngine iOS/Android: UnrealEngine_PopcornFXPlugin_2.23.5_iOS_Android.7z
- Unity Win/Linux/Mac/iOS/Android: Unity_PopcornFXPlugin_v2.23.5_Win_Linux_MacOS_Android_iOS.zip
- Unity Win/Linux/Mac: Unity_PopcornFXPlugin_v2.23.5_Win_Linux_MacOS.zip
- Unity URP: UnityURP_PopcornFXPlugin_v2.23.5.zip
- Unity HDRP: UnityHDRP_PopcornFXPlugin_v2.23.5.zip
- AfterEffects Win: AfterEffects_PopcornFXPlugin_v2.23.5_Win64.exe
- AfterEffects Mac: AfterEffects_PopcornFXPlugin_v2.23.5_Mac64.pkg
- O3DE Gem Win/Linux/Mac: O3DE_PopcornFXGem_v2.23.5_Win64_Linux64_LinuxARM64_Mac64.zip
- Fixed #15565: Layers using “remapDensity” on image sampler fail to compile on D3D
- Fixed #15419: Mesh Viewer : Debug views are broken with tristrips
- Fixed #15513: Mesh generator: Output mesh bounding box is not properly recomputed
- Fixed #12917: UnrealEngine: Crash when importing or cooking effect containing GPU sim layers sampling local meshes
- Fixed #14512: Unreal Engine: Custom material can be reset after an effect reimport
- Fixed #15183: UnrealEngine: GPU billboards blinking
- Fixed #15186: UnrealEngine: GPU billboards random UV rotation
- Fixed #15469: Unreal Engine: all message boxes are shown as warnings (while some are just info, other are errors)
- #15485: Unity: Add Support for baking .pktx effect dependencies
- Fixed #15494: O3DE: Deprecated PhysX4
- All v2.20.13 LTS fixes
- Fixed #15642: Occasional crash when multiple effects using different spatial layers are loaded into a scene
- Fixed #15468: Random crash when loading/unloading effects with GPU layers on PS5
- Fixed #15406: Incorrect d3d12 binding of mesh attribute samplers when loading from a baked effect. Resulting in broken behaviour when overriding mesh attribute samplers.
Changelog 2.23.4
Builds (Feb 5th 2026)
- Editor
- Plugins
- UnrealEngine Win/Linux/Mac: UnrealEngine_PopcornFXPlugin_2.23.4_Win64_Linux64_Mac64.7z
- UnrealEngine iOS/Android: UnrealEngine_PopcornFXPlugin_2.23.4_iOS_Android.7z
- Unity Win/Linux/Mac/iOS/Android: Unity_PopcornFXPlugin_v2.23.4_Win_Linux_MacOS_Android_iOS.zip
- Unity Win/Linux/Mac: Unity_PopcornFXPlugin_v2.23.4_Win_Linux_MacOS.zip
- Unity URP: UnityURP_PopcornFXPlugin_v2.23.4.zip
- Unity HDRP: UnityHDRP_PopcornFXPlugin_v2.23.4.zip
- AfterEffects Win: AfterEffects_PopcornFXPlugin_v2.23.4_Win64.exe
- AfterEffects Mac: AfterEffects_PopcornFXPlugin_v2.23.4_Mac64.pkg
- O3DE Gem Win/Linux/Mac: O3DE_PopcornFXGem_v2.23.4_Win64_Linux64_LinuxARM64_Mac64.zip
- Fixed #15418: Asset baker do not properly remove editor nodes when baking .pkfx
- Fixed #15390: D3D11 compilation error when using view.distance
- Fixed #15416: Editor: Fails to launch on Linux because libtbb.so.2 is not found
- Fixed #15388: Unreal Engine: GPU spatial layers are not supported
- Fixed #15389: Unreal Engine: GPU billboards crash in UE 5.7 with D3D11
- Fixed #15393: Unreal Engine: SixWayLightmap and VolumetricFog demo effects materials can’t be setup correctly because they’re not considered as legacy
Changelog 2.23.3
Builds (Jan 15th 2026)
- Editor
- Plugins
- UnrealEngine Win/Linux/Mac: UnrealEngine_PopcornFXPlugin_2.23.3_Win64_Linux64_Mac64.7z
- UnrealEngine iOS/Android: UnrealEngine_PopcornFXPlugin_2.23.3_iOS_Android.7z
- Unity Win/Linux/Mac/iOS/Android: Unity_PopcornFXPlugin_v2.23.3_Win_Linux_MacOS_Android_iOS.zip
- Unity Win/Linux/Mac: Unity_PopcornFXPlugin_v2.23.3_Win_Linux_MacOS.zip
- Unity URP: UnityURP_PopcornFXPlugin_v2.23.3.zip
- Unity HDRP: UnityHDRP_PopcornFXPlugin_v2.23.3.zip
- AfterEffects Win: AfterEffects_PopcornFXPlugin_v2.23.3_Win64.exe
- AfterEffects Mac: AfterEffects_PopcornFXPlugin_v2.23.3_Mac64.pkg
- O3DE Gem Win/Linux/Mac: O3DE_PopcornFXGem_v2.23.3_Win64_Linux64_LinuxARM64_Mac64.zip
- Fixed #15372: GPU sim D3D12: using projectPCoords on a Box shape causes the shader to fail compiling
- Fixed #15371: 4D noise returns incorrect results on ARM platforms
- #15341: Unreal Engine: automatically fetch default properties and generate error messages for every attribute sampler
- Fixed #15368: Unreal Engine: Remove FSQCapture warnings
- Fixed #15369: Unreal Engine: calling GetGridAttributeSampler() on an effect being spawned and not started causes a crash
- Fixed #15375: Unreal Engine: D3D11 RHI crashes in UE 5.7
- Fixed #15377: O3DE: Gem does not compile on linux because of freetype
Changelog 2.23.2
Builds (Dec 19th 2025)
- Editor
- Plugins
- UnrealEngine Win/Linux/Mac: UnrealEngine_PopcornFXPlugin_2.23.2_Win64_Linux64_Mac64.7z
- UnrealEngine iOS/Android: UnrealEngine_PopcornFXPlugin_2.23.2_iOS_Android.7z
- Unity Win/Linux/Mac/iOS/Android: Unity_PopcornFXPlugin_v2.23.2_Win_Linux_MacOS_Android_iOS.zip
- Unity Win/Linux/Mac: Unity_PopcornFXPlugin_v2.23.2_Win_Linux_MacOS.zip
- Unity URP: UnityURP_PopcornFXPlugin_v2.23.2.zip
- Unity HDRP: UnityHDRP_PopcornFXPlugin_v2.23.2.zip
- AfterEffects Win: AfterEffects_PopcornFXPlugin_v2.23.2_Win64.exe
- AfterEffects Mac: AfterEffects_PopcornFXPlugin_v2.23.2_Mac64.pkg
- O3DE Gem Win/Linux/Mac: O3DE_PopcornFXGem_v2.23.2_Win64_Linux64_LinuxARM64_Mac64.zip
- Fixed #15362: Editor: Crash on startup in third-party library (since 2.21) on some of the devices that do not support RDTSCP instruction
- Fixed #15348: Nodegraph: Show documentation on shape nodes does not work
- Fixed #15276: Templates are recompiled when effect are baked with KeepSource even if effect is correctly compiled
- #15307: Unreal Engine: show the grid and hide the floor by default in the asset preview viewport
- Fixed #15281: Unreal Engine: VolumetricFog and SixWayLightmap materials + warning emitter and grid sampler icons are only compatible with UE 5.7
- Fixed #15282: Unreal Engine: effects with only private grid attribute samplers fail to package
- Fixed #15339: Unreal Engine: skinned mesh attribute samplers do not update in packaged builds
- Fixed #15284: Unreal Engine: projects can’t package when using the XRBase plugin
- Fixed #15345: Unreal Engine: Blueprint function FindAttributeIndex() can return the wrong index for effects with private attributes in packaged builds
- Fixed #15358: UnrealEngine: GPU meshes don’t compile on linux
- Fixed #13800: Unity: Texture used in sampling failed to import at bake.
Changelog 2.23.1
Builds (Dec 4th 2025)
- Editor
- Plugins
- UnrealEngine Win/Linux/Mac: UnrealEngine_PopcornFXPlugin_2.23.1_Win64_Linux64_Mac64.7z
- UnrealEngine iOS/Android: UnrealEngine_PopcornFXPlugin_2.23.1_iOS_Android.7z
- Unity Win/Linux/Mac/iOS/Android: Unity_PopcornFXPlugin_v2.23.1_Win_Linux_MacOS_Android_iOS.zip
- Unity Win/Linux/Mac: Unity_PopcornFXPlugin_v2.23.1_Win_Linux_MacOS.zip
- Unity URP: UnityURP_PopcornFXPlugin_v2.23.1.zip
- Unity HDRP: UnityHDRP_PopcornFXPlugin_v2.23.1.zip
- AfterEffects Win: AfterEffects_PopcornFXPlugin_v2.23.1_Win64.exe
- AfterEffects Mac: AfterEffects_PopcornFXPlugin_v2.23.1_Mac64.pkg
- O3DE Gem Win/Linux/Mac: O3DE_PopcornFXGem_v2.23.1_Win64_Linux64_LinuxARM64_Mac64.zip
- Fixed #15280: Alpha-blended (new) materials are no longer sorted
- Fixed #15279: Layers using “sign” or “fracSign” fail to compile on GPU
- Fixed #15263: Crash when deleting disabled GPU layer
- Fixed #15134: Increasing the editor backdrop grid’s subdivisions to very high values does not work
- Fixed #15254: Editor: BAT Generator, copy renderer button outputs badly configurated renderer
- Fixed #15267: Effect interface panel: Creating a new attribute using the `New Attribute` button sometimes creates a 2nd ‘General’ category
- Fixed #15265: C++ Plugins: AssetBakerLib Cookery size mismatch
- Fixed #9398: Unity: skinned Mesh sampling is wrong when using ‘Skinned mesh’ option
- Fixed #14098: Unity: Billboards with emissive only don’t work properly.
- Fixed #15266: Unity: Batch Raycast struct size for Unity 6000.2 and forward.
- Fixed #15268: Unity: Emissive map is sampled upside down for billboards
- Fixed #15260: O3DE: Crash in mesh samplers with EMotionFX skinned mesh
- All v2.22.6 fixes
- Fixed #14758: Editor/Shipping discrepancy with effect transforms
- Fixed #15214: Image density profiles: Lattice density lookup with ‘F16’ packing mode is broken, causes crashes when sampling
- Fixed #15188: Grid attribute samplers: Resetting the effect doesn’t clear the grid contents
- Fixed #15206: Animtrack backdrops: At lower framerates, effect start at world origin after reset, before snapping to animtrack location, mostly visible when used to drive trails
- Fixed #15132: Unreal Engine: using FName to search for PopcornFX strings is unsafe
- Fixed #15237: UnrealEngine: Disabled decals keep rendering their last state
- Fixed #15139: Attributes: min and max numeric values are not correctly used for colors and when HasMin or HasMax arent checked
- All v2.20.12 LTS fixes
- Fixed #15230: Undo stack can become frozen and unusable after doing some specific actions
- Fixed #15270: Nodal editor sometimes crashes when doing Ctrl+X to cut nodes out of a graph and the selection contains some passthroughs
- Fixed #15178: Unity: Macos dylib is not correctly signed
Changelog 2.23.0
Builds (Nov 26th 2025)
- Editor
- Plugins
- UnrealEngine Win/Linux/Mac: UnrealEngine_PopcornFXPlugin_2.23.0_Win64_Linux64_Mac64.7z
- UnrealEngine iOS/Android: UnrealEngine_PopcornFXPlugin_2.23.0_iOS_Android.7z
- Unity Win/Linux/Mac/iOS/Android: Unity_PopcornFXPlugin_v2.23.0_Win_Linux_MacOS_Android_iOS.zip
- Unity Win/Linux/Mac: Unity_PopcornFXPlugin_v2.23.0_Win_Linux_MacOS.zip
- Unity URP: UnityURP_PopcornFXPlugin_v2.23.0.zip
- Unity HDRP: UnityHDRP_PopcornFXPlugin_v2.23.0.zip
- AfterEffects Win: AfterEffects_PopcornFXPlugin_v2.23.0_Win64.exe
- AfterEffects Mac: AfterEffects_PopcornFXPlugin_v2.23.0_Mac64.pkg
- O3DE Gem Win/Linux/Mac: O3DE_PopcornFXGem_v2.23.0_Win64_Linux64_LinuxARM64_Mac64.zip
Templates & Corelib
- #14712: view.direction node: Add ‘Scale’ input, like the other view axis nodes
- #14767: Corelib: Add new ‘SpawnOnGeodisk’ placement node, like ‘SpawnOnGeosphere’, but on a disk.
- #15010: Corelib: Remove confusing output sampler pin from sampler nodes, just forwards the input sampler, new users keep thinking it can be used to “modify” the input sampler
- #14833: Mesh generator: Add more UV & Color channels in the generator args & generator outputs nodes
- #14913: shape.intersect: Add Translation/Orientation/Scale input to allow intersecting a shape with dynamic transforms, like in the other shape-related nodes such as shape.sample
- Fixed #14606: EventMultiplierBurst node doesn’t show Random sliders
- Fixed #14673: Triangle renderer node position inputs are messed up: Appear as ‘General.Position*’ instead of ‘Position*’, order between the 3 position inputs is inconsistent, and no pins are visible by default when creating a new renderer
- Fixed #14695: OrientationFromPosition node: Cannot expose ‘AngleOffset’ property as a pin
- Fixed #14768: Corelib: SpawnOnFibonacciSequence & FibonacciSequencePlacement nodes have precision issues and break down with severe visual glitches above a few 10 000s of points
- Fixed #14918: Corelib: The ‘Counter’ template’s output is set to float instead of int
Simulation
- #1838: GPU sim: Add support for events using D3D workgraphs
- #13268: Simulation fences: Allow inter-layer fences
- #14479: GPU sim D3D12: mesh attribute samplers ‘AllSubmeshes’ option support
- #14625: GPU Backend: Implement missing xform functions (local orientation to world and dxformdx)
- #14722: Nodegraph & scripts: Add “safe” ability to extract float4 quaternions from ‘orientation’ values, & build ‘orientation’ values from float4 quaternions: ‘orientation.toQuaternion’ & ‘orientation.fromQuaternion’
- #15210: Texture density sampling profiles: Allow to add a value bracket for per-channel source density data, to allow to pack more than 4 density sources in a single RGBA texture
Rendering
- #9328: Materials: Embed ‘BillboardScreenControls’ helper node into the default billboard material’s rendering adapter graph
- #14700: Materials: Restore ComputeVelocity.PreviousPosition
Compiler & Optimizer
- #12903: Add ‘permute’ node, like the ‘permute’ script builtin
- #13046: Optimizer: ICB is unable to inject operations inside select instructions that select between two constants
- #14781: CPU backend: Optimize float4(x, x, x, y), appears in a lot of color computations in many effects, similar to .111x
- Fixed #15127: Cannot have GPU layer that has only at-spawn instructions
Nodal Editor
- #14568: Shape intersect: Allow to intersect backfaces
- #14611: Nodegraph: Grid array operation helpers
- #14717: Node creation dialog: When typing ‘cylinder’, ‘sphere’, ‘mesh’, … to drop a shape node, pre-set the shape type to the shape type that has been searched
- #14719: Nodegraph: Add new graph usage types on templates: RenderingAdapterGraph, TextureGraph, GeometryGraph & VectorFieldGraph
Effect Editor
- #5991: Effect editor: add 2 more saved cameras to the viewport
- #5992: Editor: allow switching between perspective and orthographic projection
- #14822: Effect interface panel categories: Allow renaming, reordering categories, and creating new attributes inside categories through right-click menu on the category name
- #14823: Effect interface panel: Add category name inputbox to the attribute creation dialog
Asset generators
- #13567: Texture Generator: Ability to pack a sequence of textures into an atlas
- #13585: Texture generator: Add Support for generation through python calls
- #14809: Texture Generator: Generate atlas from font file (.ttf / .otf)
- #13564: Texture Generator: Add Support for BAT generation
- #14832: Mesh generator: Add Cross Planes as possible mesh source type
- #14703: Mesh graph: Add option to auto-generate normals & tangents
- #15037: New Vector-field asset generator
Editor
- #15159: Editor: make the simulation timestep more stable
- #15233: Editor: Custom project setting presets
- Fixed #14747: EXR import: Images with 32 bit floating point numbers above 65504 are replaced with inf, which can cause problems with sampling
- #14399: AssetBaker: Allow to control mipmap generation when baking textures
UnrealEngine Plugin
- #12847: UnrealEngine: Add support for GPU simulated meshes
- #14383: UnrealEngine: Simplify Attributes sampler use
- #14649: Unreal Engine: Improve grids: support more formats, add blueprint functions to read/write, better feedback when the setup is invalid
- #14916: Unreal Engine: Add support for 5.7
- #14917: Unreal Engine: Drop old versions <= 5.4
- Fixed #14796: UnrealEngine D3D12: Compute shaders for particle evolve/kill execute after those dispatched from BatchDrawers




