The PopcornFX v2.25 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.25 release highlights livestream, where a few members of the team dive into some of the new features:

Changelog 2.25.2
Builds (Sep 17th 2026)
- Editor
- Plugins
- UnrealEngine Win/Linux/Mac: UnrealEngine_PopcornFXPlugin_2.25.2_Win64_Linux64_Mac64.7z
- UnrealEngine iOS/Android: UnrealEngine_PopcornFXPlugin_2.25.2_iOS_Android.7z
- Unity Win/Linux/Mac/iOS/Android: Unity_PopcornFXPlugin_v2.25.2_Win_Linux_MacOS_Android_iOS.zip
- Unity Win/Linux/Mac: Unity_PopcornFXPlugin_v2.25.2_Win_Linux_MacOS.zip
- Unity URP: UnityURP_PopcornFXPlugin_v2.25.2.zip
- Unity HDRP: UnityHDRP_PopcornFXPlugin_v2.25.2.zip
- Godot Win/Linux/Mac/iOS/Android: Godot_PopcornFXExtension_v2.25.2_Win64_Linux64_Mac64_Android64_iOS64.zip
- AfterEffects Win: AfterEffects_PopcornFXPlugin_v2.25.2_Win64.exe
- AfterEffects Mac: AfterEffects_PopcornFXPlugin_v2.25.2_Mac64.pkg
- O3DE Gem Win/Linux/Mac: O3DE_PopcornFXGem_v2.25.2_Win64_Linux64_LinuxARM64_Mac64.zip
- Fixed #16074: Simulation: bitshifts by bit counts that are out of range (< 0 or > 31 bits) produce different results on different platforms, and sometimes different results on the same platform
- Fixed #16088: Rendering: Rendering freeze when using trimmed screen aligned billboards with CPU billboarding.
- Fixed #16020: Unreal Engine: RHI crash in UE 5.8 when setting a Render Target for a grid attribute sampler
- Fixed #16107: Unreal Engine: skeletal mesh attribute samplers only skin in the editor
- v2.24.6 LTS fixes
- #16098: ARM NEON: Various small performance improvements.
- Fixed #16069: Micro-updates always active on ARM
- Fixed #16071: AssetBaker / Effect compiler: Rare random crash between parallel baking tasks
- Fixed #16079: FBX Importer: Temporary directories are not cleaned up on linux and mac
- Fixed #16097: ARM NEON builds: doing a float -> float3 .x00 swizzle in a particle sim is broken, returns incorrect values.
- Fixed #16099: ARM: Sampling float2 curves in anything but ‘Exact’ mode produce sampling artefacts
- Fixed #16101: ARM: NEON SIMD bug causing buggy results in the following: Or+Not operators in the particle graphs, Wavelet image density sampling, Capsule shape sampling, and scene.orientation() in a rare degenerate case.
- Fixed #16103: NEON builds accidentally always use the software scalar fp16 <-> fp32 converters, never the vectorized or HW one.
- #16095: AssetBaker: Add a ‘CacheHashSalt’ string property to the BakeConfig ParticleCompiler objects, allowing to hash the shader compiler version alongside the rest of the shader so the compile-caches get properly rebuilt
- Fixed #16078: Editor: Rare random freeze when opening a project using procedural textures
- Fixed #16084: AssetBaker: Some of the baked assets diff depending on if they were baked on an Intel or AMD CPU
- Fixed #16085: AssetBaker: baked effects containing GPU-sim layers contain a couple of bytes that come from uninitialized memory and get random values on each bake, causing the baked effects to diff from one run to the next.
- Fixed #16052: Node Editor: horizontal backward wires are (nearly) invisible
- Fixed #16100: ARM AssetBaker: Baking LA16F textures with mipmap generation enabled produces broken mipmaps
- Fixed #16093: Unreal Engine: some grid attribute samplers read/write functions don’t read/write in the correct component
- Fixed #16094: Unreal Engine: grid attribute samplers using a render target don’t rebuild when their height has changed
- Fixed #16096: Unreal Engine: cloth sampling is broken
Changelog 2.25.1
Builds (Aug 20th 2026)
- Editor
- Plugins
- UnrealEngine Win/Linux/Mac: UnrealEngine_PopcornFXPlugin_2.25.1_Win64_Linux64_Mac64.7z
- UnrealEngine iOS/Android: UnrealEngine_PopcornFXPlugin_2.25.1_iOS_Android.7z
- Unity Win/Linux/Mac/iOS/Android: Unity_PopcornFXPlugin_v2.25.1_Win_Linux_MacOS_Android_iOS.zip
- Unity Win/Linux/Mac: Unity_PopcornFXPlugin_v2.25.1_Win_Linux_MacOS.zip
- Unity URP: UnityURP_PopcornFXPlugin_v2.25.1.zip
- Unity HDRP: UnityHDRP_PopcornFXPlugin_v2.25.1.zip
- Godot Win/Linux/Mac/iOS/Android: Godot_PopcornFXExtension_v2.25.1_Win64_Linux64_Mac64_Android64_iOS64.zip
- AfterEffects Win: AfterEffects_PopcornFXPlugin_v2.25.1_Win64.exe
- AfterEffects Mac: AfterEffects_PopcornFXPlugin_v2.25.1_Mac64.pkg
- O3DE Gem Win/Linux/Mac: O3DE_PopcornFXGem_v2.25.1_Win64_Linux64_LinuxARM64_Mac64.zip
- Fixed #16027: Content browser: Various bugs with assets that have the same name (Ex: Textures & Atlases)
- Fixed #16041: Editor: Crash when an asset’s .pkcf file is empty or still being written by another application
- v2.24.6 LTS fixes
- Fixed #15984: Editor: Crash when ungrouping twice the physics node content without altering the selection
- Fixed #16061: Curve editor: Cursor coordinates display in toolbar is broken
- Fixed #16062: Content-browser: Details view: When sorted on a column in descending order, sort order gets randomly reset by any change in a file of that folder (Ctrl+S in an opened effect, asset changed on-disk, etc)
- Fixed #16063: Nodal editor: Wire portal creation shortcut (Ctrl+Alt) is broken
- v2.24.5 LTS fixes
- #16033: Compiler: Reduce optimizer passes count because of 2 ICB optimizations fighting each other
- Fixed #16026: Compiler: fast rcp produces full-range in value-range-propagation
- Fixed #16032: Editor: Crash when opening an effect that uses a texture that fails to load in the graphics API (for ex because it’s too big, like a 32k-wide texture)
- Fixed #16038: Editor: Crash reporter window no longer shows up (Qt6 regression)
- Fixed #16044: GPU sim D3D11: Using the scene wind in the GPU sim, causes shader compilation errors in D3D11, and fallback to CPU sim
- #15412: Godot: Implement Sound Renderers
Changelog 2.25.0
Builds (Jul 29th 2026)
- Editor
- Plugins
- UnrealEngine Win/Linux/Mac: UnrealEngine_PopcornFXPlugin_2.25.0_Win64_Linux64_Mac64.7z
- UnrealEngine iOS/Android: UnrealEngine_PopcornFXPlugin_2.25.0_iOS_Android.7z
- Unity Win/Linux/Mac/iOS/Android: Unity_PopcornFXPlugin_v2.25.0_Win_Linux_MacOS_Android_iOS.zip
- Unity Win/Linux/Mac: Unity_PopcornFXPlugin_v2.25.0_Win_Linux_MacOS.zip
- Unity URP: UnityURP_PopcornFXPlugin_v2.25.0.zip
- Unity HDRP: UnityHDRP_PopcornFXPlugin_v2.25.0.zip
- Godot Win/Linux/Mac/iOS/Android: Godot_PopcornFXExtension_v2.25.0_Win64_Linux64_Mac64_Android64_iOS64.zip
- AfterEffects Win: AfterEffects_PopcornFXPlugin_v2.25.0_Win64.exe
- AfterEffects Mac: AfterEffects_PopcornFXPlugin_v2.25.0_Mac64.pkg
- O3DE Gem Win/Linux/Mac: O3DE_PopcornFXGem_v2.25.0_Win64_Linux64_LinuxARM64_Mac64.zip
Templates & Corelib
- #15721: Templates: self.properties & parent.properties helper nodes
- #16011: Corelib: Event multiplier node’s ‘OnDeath’ output event does not copy the parent event contents, triggers a naked event with no payload
- #16014: Corelib: Don’t force multiplier nodes to always run on CPU now that there is experimental events support in the D3D12 GPU-sim backend
- Fixed #15917: Corelib: shape.disassembleParametricCoords: Disassembling a mesh volume PCoord does not work, gives wrong UV values, W & tetra ID are correct.
- Fixed #16007: grid.safeRead & grid.safeReduce: the ‘OutsideValue’ input pin accepts any wire, including event wires. Should be limited to float-float4/int-int4 like the ‘Value’ input
Simulation & Compiler
- #15954: New Localized-Pages mode using effect instances
- #12744: Add a ‘getchannel’ builtin to extract a specific component of a vector, with a dynamic ID
- #12745: Add a ‘setchannel’ builtin to write a specific component of a vector, with a dynamic ID
- #15601: Optimizer: Replace select by xor when selecting between two opposite bools
- Fixed #13375: Editor: meshes renderers bounding box are degenerated in GPU simulation
- Fixed #16019: GPU Sim: spawn-transform is ignored when only the translation is set
Rendering
- #1267: Rendering: Implement texture trimming
- #14561: Support for vertex billboarding for ribbons
- Fixed #16009: Editor: Particle shaders often do not get properly updated when upgrading to a new version, require manually clearing the shader cache
- Fixed #15927: AlphaMask UVs are incorrect with correct deformation & vertex billboarding
Nodal Editor
- #4595: Nodal editor: Allow binding custom shortcuts to drop nodes in the graph
- #15343: Allow playing back offline simulations in PopcornFX: Generate simulation caches from Houdini .json files
- #15687: Attribute drag: Shift-drag drops directly in evolve
- #15652: Nodegraph: Allow searching vector & RGBA build & split using “make” and “break” search keywords
- #15906: Texture sampling density profiles: Add “Invert” option to build the density-sampling lookup of the inverted image
- #15971: Editor: Add Align Vertical and Align Horizontal Commands to Nodegraph
- #15983: Editor: Add Distribute Vertical and Distribute Horizontal Commands to Nodegraph
- #15986: Editor: Add Straighten connections command to Nodegraph
Editor
- #15653: Texture & VectorField generators: Some graphs that use fences will not behave correctly for larger textures or vectorfields (> 512×512 or > 64x64x64), due to internal sub-tiling. Expose a ‘NoSubTiling’ advanced option.
- #15964: Project Launcher: By default open project with latest patch that matches the project minor version, add an option in the user settings to launch with the closest patch instead.
- #16022: Content browser: New atlas: Unusable, always creates a 2×2 atlas. Allow specifying U/V grid atlas dimensions.
- #16008: EcoMode: Add option to enable power throttling at OS level
UnrealEngine Plugin
- Fixed #3950: Unreal Engine: Attributes reset/break very often when inside a Blueprint
- #15930: Unreal Engine: allow to read/write attribute sampler properties more easily in Blueprint graphs
- #15934: Unreal Engine: allow the creation of attribute samplers as custom UE assets to make them reusable between emitters
- #15923: Unreal Engine: place and rotate effects better in the effect editor
- #15979: Unreal Engine: improve and simplify attribute sampler shape transform options
Unity Plugin
- #14132: Unity: New FrameCollector support
v2.24.5 LTS fixes
- Fixed #15989: GPU Sim: Texture sampling with atlas yields a shader backend error on d3d12
- Fixed #15988: Editor: Unable to right click a node if it is contained in a currently selected annotation
- #15697: Unreal Engine: add support for 5.8
- Fixed #15990: Unreal Engine: asset depencencies of effects draw calls are empty if the asset dep is imported for the first time during the asset import.
- Fixed #16015: Unreal Engine: crash when you select an emitter with an effect of a different PopcornFX version than your plugin
- #15981: Godot: Curve Attribute Sampler
- Fixed #15980: Godot: transform mode property isn’t shown on PKEmitter3D
- Fixed #15968: LOD (box and sphere queries) always returns zero on Retail builds
