PopcornFX v2.12 is released!

PopcornFX v2.12 banner

The PopcornFX v2.12 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.




Check out the PopcornFX 2.12 release highlights livestream, where a few members of the dev team dive into some of the new features:

Changelog 2.12.3

Builds (May 12th 2022)

  • Fixed #10333: Crash when setting negative values in atlas div count
  • Fixed #10331: Nodegraph: Crash when cutting link while the node has dangling pin (typically in spatial layer nodes)
  • Fixed #10329: Crash when two editors are opened with the same animtrack backdrop
  • Fixed #10327: UnrealEngine: Flickering particles when looking at certain angles and shadow casting is enabled on PopcornFXSceneActor
  • Fixed #10360: Unity: Distortion billboard cause rendering issues
  • Fixed #10328: Unity: custom material not working on URP (probably not only on URP)
  • Fixed #10225: Unity: Expose all shader properties in PKFxRendererBinding UI
  • Fixed #10302: AE: Lost of precision when rendering over some video / layer in 8bpc
  • Fixed #10301: AE: UI to change graphics API is broken
  • Fixed #10299: AE: When reimporting a new effect, the current frame is not re-rendered
  • Fixed #10267: AE: Render discrepency between camera options “Default composition” and “PopcornFX Internal” when no after effects camera is present in composition
  • Fixed #10251: AE: file dialog are not working on Mac
  • Fixed #10058: AE: Canceling Browse Local Files pop the PopcornFX Error: Unable to load effect
  • Fixed #10056: AE: Qt panel doesn’t have the renderers list if it’s open before creating the effect
  • Fixed #10055: AE: QT Panel lock project list from opening on startup
  • Fixed #10054: AE: Overriding a renderer don’t refresh the render
  • Fixed #9167: AE: Add Sound Sampler spectrum sampling
  • Fixed #8031: AE: 16bpc with DX11 is broken


Changelog 2.12.2

Builds (Apr 28th 2022)

  • Fixed #10253: GPU sim: Vectorfield sampler will crash when loading effect when given vectorfields whose dimensions are not multiples of 2 (for F16 format), or 4 (for U8SN formats)
  • Fixed #10161: GPU debugger D3D12: crash when selecting particles using Depth based collisions
  • Fixed #10160: GPU debugger D3D12: random crash when fast re-selecting particles
  • Fixed #8430: Vault: When filesystem scanning takes a long time, vault initially says it’s empty.
  • Fixed #10216: UE5: AnimTrack attribute samplers are disabled
  • Fixed #10241: Unity: Enable Read/Write at mesh import
  • Fixed #10227: Unity: Mesh renderers do not work properly when “Use Mesh instancing” is enabled in URP/HDRP
  • Fixed #10224: Unity: incorrect behavior of opaque ribbon correct deformation render feature
  • Fixed #10221: Unity: Add Diffuse ramp to opaque billboarding shader
  • Fixed #10220: Unity: incorrect behavior of FlipUV render feature
  • Fixed #10219: Unity: Add rendering feature for mesh renderers
  • Fixed #10218: Unity: Emissive support for Billboard, Triangle and ribbon renderer
  • Fixed #10247: AE: some frames are invalid
  • Fixed #4890: AE: Allow overriding effect resources used for rendering or sampling


Changelog 2.12.1

Builds (Apr 14th 2022)

  • Fixed #10138: GPU sim D3D12: some effects do not run properly once baked
  • Fixed #9704: GPU sim D3D12: Debug layer error when using a GPU simulated ribbons on D3D12
  • Fixed #10081: Systematic viewport crash/freeze (device removed) when a D3D12 GPU sim layer is deleted while running
  • Fixed #9844: Random crash when opening an effect editor window and selected graphics API is D3D12
  • Fixed #8544: Mesh viewer: Normals & Tangents are not skinned when previewing animations
  • Fixed #10145: Mesh viewer: Stopping or resetting animation when playback is paused does not update viewport to first frame of animation
  • Fixed #10074: Incorrect background rendering with small camera far clipping plane or distant camera position.
  • Fixed #10068: Trying to cancel a package export by closing the export window before it finishes makes the editor crash
  • Fixed #9300: Creating an effect from an existing preset copies out the preset’s description
  • Fixed #9773: Vectorfield viewer: Thumbnails capture rectangle isn’t displayed in the viewport
  • Fixed #10067: GPU debugger: Tries to compile the debug shaders on all the platforms specified in the backend compiler settings, instead of just the current one
  • Fixed #10154: UnrealEngine: UE5.0 support
  • Fixed #10157: UnrealEngine: AnimTrack attribute samplers do not work anymore
  • Fixed #10104: AE: Default camera when creating an effect has wrong values
  • Fixed #10057: AE: Creating a second effect in a layer crashes


Changelog 2.12.0

Builds (Apr 1st 2022)

Assets & core-lib

  • Fixed #9325: Templates: MeshSample template returns incorrect DiffuseColor, ignoring input pCoords


  • #8956: Marketplace: allow viewing packages content
  • #9297: New project dialog: Add ‘Custom’ option where user can configure project paths before creating the project
  • #1171: Content browser: Add thumbnails for audio resources
  • #9354: Sound assets: Auto-generate thumbnails to show audio waveform
  • #9353: Sound assets: Display more useful file infos in thumbnail (ex: audio file duration)
  • #9347: Editor thumbnails: Move auto-generated thumbnails into Editor/Cache instead of Editor/Thumbnails, which should only contain manually-captured thumbnails
  • #9341: Editor thumbnails: Autogenerate texture thumbnails for large textures (ex: >= 1k)
  • Fixed #9913: Editor sometimes freezes after opening project when some vault paths point to network shared folder with very large amount of files or subdirectories
  • Fixed #9908: Crash when clicking on the project thumbnail in the project settings directly from the project launcher
  • Fixed #9394: Project settings IgnoredPaths still displays files and folders that should be ignored
  • Fixed #9888: Creating a project from a package and specifying ‘From Package’ as preset option still displays the paths customization dialog
  • Fixed #10063: Links in project descriptions are not clickable in the project launcher

Nodal editor

  • Fixed #9780: Editor: crash when converting local curve node to Attribute
  • Fixed #9327: Image samplers: UVs are not properly clamped/wrapped when ‘UseAtlas’ is enabled
  • Fixed #5668: Wrong event payloads displayed when hovering event wires
  • Fixed #9388: Dangling attribute sampler nodes are left in effects files when auto-created/deleted from the Effect Interface
  • Fixed #9387: Attribute sampler nodes are corrupt when auto-created from attribute nodes in the graph
  • Fixed #8880: Constant nodes: display values above any type of constant node

Effect editor

  • #4733: Ability to edit a curve3d directly in the editor’s viewport
  • #9183: GPU debugger: allow to debug selected particles only
  • #9184: GPU debugger: display currently debugged particle with red wireframe
  • #9304: Propertygrid: More user-friendly dropdown to pick materials, instead of having to browse a .pkma file by hand in the project
  • #7543: Attributes: allow binding editor render target to texture attribute samplers
  • Fixed #5827: Viewport: GPU-sim billboards billboarded in VertexShader are not displayed on the wireframes debug view
  • Fixed #9705: GPU sim layers leave dangling particles following certain nodegraph actions
  • Fixed #9963: Systematic viewport crash/freeze (device removed) when a D3D12 GPU sim layer is compiled
  • Fixed #9962: Crash when closing effect editor after viewport crashed


  • #7694: Triangle renderer: Optimize CPU billboarding
  • Fixed #8373: Editor HDRI map processing: Weird noise in lower-blurred mips
  • Fixed #9385: Material: Using ‘bendNormals’ is adding both normals and tangents shader inputs even if they are not used

GPU simulation

  • #9194: GPU sim: expose GBuffer sampling capabilities
  • #5352: GPU sim: add support for depth-based collisions in editor
  • Fixed #9982: GPU sim: layers with Depth based collisions enabled fallback to CPU sim in Editor mode
  • Fixed #9708: GPU sim: layers fallback to CPU if it contains an image sampler without a valid texture
  • Fixed #9706: GPU sim D3D11: Editing some sampler properties in editor has no effect
  • Fixed #9386: GPU sim D3D12: crash when a layer containing attribute samplers not present in the Effect Interface is toggled on in the nodegraph
  • Fixed #9344: GPU sim: texture sampling with an atlas incorrectly clamps SubUVs
  • Fixed #9334: GPU sim D3D12: Layers fallback to CPU if they contain more than one attribute sampler
  • Fixed #9329: GPU sim D3D12: Crash when a texture used by a texture sampler is hot reloaded
  • Fixed #9326: GPU sim: Attribute sampler node default values aren’t taken into account
  • Fixed #9311: GPU sim D3D12: Curve attribute samplers do not work
  • Fixed #9310: GPU sim D3D12: Mesh attribute samplers do not work
  • Fixed #9309: GPU sim D3D12: Mesh attribute samplers do not support scaling
  • Fixed #9265: GPU sim D3D12: crash when marking local sampler as attribute sampler
  • Fixed #9259: GPU sim D3D12: random crash when using shape sampler
  • Fixed #8403: GPU sim: Using ‘effect.velocity’ causes a fallback to CPU sim

Graph compiler & optimizer

  • #3142: vrand(): Optimize common cases to use faster evaluation
  • Fixed #9889: Optimizer: Missed optimization: converting (a – a * k) to (a * (1 – k)). Already exists for (a + a * k) -> (a * (1 + k))

Plugins & Third-Party

AfterEffects plugin

  • #6985: AE: Plugin Installer
  • #6534: AE: Mac support
  • Fixed #9915: AE: PopcornFX Panel is flickering when opened for the first time
  • Fixed #8982: AE: Inconsistent crash when closing After Effects

O3DE plugin

  • #9016: O3DE: Content example project
  • #9906: O3DE: Optimize first instantiation of effect when the effect is preloaded

UnrealEngine plugin

  • #9012: UnrealEngine: Provide a github access
  • #9015: UnrealEngine: Content examples project
  • #9335: UnrealEngine: Add support for Texture Atlases when used with D3D12 GPU sim attribute samplers
  • Fixed #9419: UnrealEngine: crash when re-importing effect with GPU simulated billboards
  • Fixed #9324: UnrealEngine: Particle events GetEventPayload functions ‘ApplyGlobalScale’ is incorrectly applied
  • Fixed #9323: UnrealEngine: Particle events do not work anymore
  • Fixed #9332: UnrealEngine: Some effects do not show any particles once loaded in packaged builds
  • Fixed #9331: UnrealEngine: Attribute samplers do not work in cooked games

Unity plugin

  • #9013: Unity: Provide a github access
  • #9018: Unity: Content example project
  • Fixed #9886: Unity: effects import list don’t take into account ignoredPath from projectSettings
  • Fixed #9417: Unity: Crash with VATs and multiples cameras
  • Fixed #9416: Unity: Image sampler breaks in Standalone builds
  • Fixed #9400: Unity: Attribute color gets reset when using color picker.
  • Fixed #9396: Unity: Curve from sampler gets reset when setting other curve values


  • v2.12.0.12548: Corelib fixes (#9325)