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.7

Builds (Jul 07th 2022)

  • Fixed #11210: When project has customized Editor/AnimationTracks folder path, default corelib animation tracks are not seen as part of the corelib and do not pop warning messagebox when trying to modify them.
  • Fixed #11154: Vault & Marketplace hide all files under ‘Library’ folder, should only hide PopcornFXCore
  • Fixed #11203: SampleCDF is broken in shipping when used with simple curves
  • Fixed #11169: UnrealEngine: Pooled vertex & index buffers used for particles rendering leak when a PopcornFXSceneActor is destroyed


Changelog 2.12.6

Builds (Jun 23rd 2022)

  • Fixed #10489: MacOS: some files have invalid permissions in the installer package
  • Fixed #11036: Nodal editor: In a template, categories with no visible property are displayed empty when first selecting the node. Disappear when clicked.
  • Fixed #10477: Nodal editor: Wires in 90-degrees display mode do not hover properly
  • Fixed #11034: Lighting is broken on animated mesh backdrops
  • Fixed #10476: Setting the effect loop delay in the viewport toolbar and Ctrl+Z-ing does not update the value in the toolbar
  • Fixed #8053: Texture viewer: wrong texel value displayed for any BGR8 image (mostly .jpg files)
  • Fixed #10556: Editor happily restores autosave backups even if they are corrupt, therefore corrupting the effect with no way to undo the damage.
  • Fixed #10519: Project details panel: “Import in project” and “Create new project” buttons are active even if package is not downloaded locally. No feedback as to why it doesn’t work.
  • Fixed #8433: Create project from package: Clicking “Cancel” on the dialog listing all files that will be imported still leaves the new project in the project list
  • Fixed #10504: Project launcher: Project & marketplace package descriptions are truncated if they are longer than the available UI space
  • Fixed #10502: Login dialog occasionally pops up even when ‘Remember Me’ is checked
  • Fixed #10484: Marketplace: package content preview tab displays ‘Import in project’ and ‘Create new project’ buttons even if current license level does not permit downloading the package
  • Fixed #10505: Marketplace package details view: Treeview tooltips do not display file size and folder infos
  • Fixed #10552: Marketplace package details view: Hitting ‘prev’ and ‘next’ mouse buttons on top of the asset treeview selects the asset instead of doing the prev/next action
  • Fixed #10455: UnrealEngine: extremely long bounds computation time on the main thread
  • Fixed #10454: UnrealEngine: AlphaBlended ribbons do not support Lit or LegacyLit rendering features
  • Fixed #10487: O3DE: Make the gem compatible with both O3DE 21.11 and 22.05
  • Fixed #10486: O3DE: Gem dependencies not working with O3DE installer 22.05.0
  • Fixed #11033: AE: Fix the hard to read text in PopcornFX panel
  • Fixed #10485: AE: Crash with D3D12 Api following a device removed
  • Fixed #10483: AE: Multiple memory leaks in the plugin
  • Fixed #10453: AE: Crash when exiting AfterEffects when using D3D11 API
  • Fixed #10106: AE: QT combo box windows is offset

The PopcornFX plugin for After Effects can now be installed using an installer on Windows.


Changelog 2.12.5

Builds (Jun 2nd 2022)

  • Fixed #10427: When compiled in shipping, some effects using ribbons produce visual glitches where all ribbons are connected together.
  • Fixed #10457: Content browser does not show texture asset warnings
  • Fixed #10428: Layergraph passthrough layer removal does not have an upper limit, will perform connection-map rewires even if it means thousands of rewires. Should be limited to a reasonable value
  • Fixed #10437: GPU sim D3D12: Sampling a mesh attribute sampler makes the layer fallback to CPU sim if Geometry Attribute was manually created
  • Fixed #10433: GPU sim: shape samplers scale is applied twice when sampling positions on a mesh
  • Fixed #10448: Editor rendering: triangle renderer is sometimes not drawn in Vulkan
  • Fixed #10426: ARM-NEON: Random generators return incorrect values, differs from x86-SSE values, slightly lower quality distribution
  • Fixed #10446: On Mac-M1, baking vectorfield assets in U8SN mode is broken, all positive components of the vectors get truncated to zero.
  • Fixed #10449: Baking cubemap textures and rewriting then as DDS crashes
  • Fixed #10450: Baking textures and rewriting them to an unsupported format asserts in debug but otherwise does not log any warning.
  • Fixed #10447: AE: Crash when exiting AfterEffects
  • Fixed #10384: AE: Since after effects 2022, the plugin can crash while rendering with several effects
  • Fixed #10303: AE: Audio backdrop support


Changelog 2.12.4

Builds (May 19th 2022)

  • Fixed #10430: Some layergraph templates fail to compile properly
  • Fixed #10361: Scrubbing the cubemap backdrop blur slider is not smooth on some GPUs/drivers
  • Fixed #10419: GPU sim PS5: incorrect bounds
  • Fixed #10420: GPU sim PS5: crash when using external vector field sampler (.fga) having non-uniform grid size
  • Fixed #10423: GPU sim PS5: assert when several texture samplers are using the same texture
  • Fixed #10422: GPU sim PS5: assert when layer has empty spawn or evolve
  • Fixed #10421: AE: Layer deletion is not catch by the plugin, leaving outdated informations on rendering panel
  • Fixed #10307: AE: potential crash when reimporting an effect because of wrong effect lifetime management
  • Fixed #10306: AE: Potential crash when reimporting an effect because of the simulation still running
  • Fixed #10105: AE: Setting a renderer override collapses the renderer treeview


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)