Back to anouncements
Released Sep 17th 2020. (preview-1 released Sep 10th 2020)
make sure you upgrade your runtime / plugins as well before switching to this version.
|! IMPORTANT ! After upgrading a project to 2.7.0, make sure you clear your shader-cache by doing 'Edit > Clear shader cache' !|
- 1 Release highlights
- 2 Download
- 3 Changelog 2.7.6 patch
- 4 Changelog 2.7.5 patch
- 5 Changelog 2.7.4 patch
- 6 Changelog 2.7.3 patch
- 7 Changelog 2.7.2 patch
- 8 Changelog 2.7.1 patch
- 9 Changelog 2.7.0
|Effect instance time-scaling||Atlases/Sub-UVs for decal renderer||Color-picker improvements||Multi-selection dropdowns for custom nodes|
|64-bits Windows build||MacOS build||Linux-64 build|
Changelog 2.7.6 patch
Builds (Jan 07th 2021)
- Windows: PopcornFX-Editor_v220.127.116.1156_x64.exe
- macOS: PopcornFX-Editor_v18.104.22.16856_x64.pkg
- Linux: PopcornFX-Editor_v22.214.171.12456_x64.tgz
- Fixed #6021: Content browser: Crash when hitting Ctrl+F2 to rename an effect file whose filename is a number
- Fixed #6001: Editor: Occasional crash when opening effect editor
- Fixed #6020: 'Clamp' node behaves unreliably when NaN values are passed in.
- Fixed #5983: GPU Sim D3D12: Occasional crash when killing particles
- Fixed #6005: Incorrect bounds computed for planar-aligned billboards
- Fixed #6325: Curve editor: Some operations do not produce an undo/redo entry.
- Fixed #6326: Curve editor: Setting the curve interpolation mode to "Spline", when it is already set to "Spline", resets the tangents
- Fixed #6207: Editor still consumes a lot of CPU resources even when minimized or out of focus, even when the "CPU Saving Mode" setting is set to focus lost.
- Fixed #6198: Asset dependency report will report missing dependencies twice: Once as "runtime dependencies", and a second time as "static dependencies"
- Fixed #6196: Content browser: Effect resource dependency checks should ignore the resource type if there are no registered extensions for that resource type in the project settings (quickfix for wwise)
- Fixed #6187: Saving some type of assets will not properly check for read-only status, will always force-write it, and will call version-control command-lines with relative paths instead of absolute paths
- Fixed #6071: Color picker: alpha is reset to one when reopening the color-picker.
- Fixed #5948: Annotation nodes get selected as soon as a rectangle-selection touches any part of their area, not just the active region in the titlebar.
- Fixed #5843: Editor: cannot capture thumbnails with Metal graphics API
- Fixed #6234: UE4: Prompt to patch VAT textures and meshes is displayed whenever we reimport the effect even if textures/meshes are correctly setup for VATs
Changelog 2.7.5 patch
Builds (Dec 10th 2020)
- Windows: PopcornFX-Editor_v126.96.36.19997_x64.exe
- macOS: PopcornFX-Editor_v188.8.131.5297_x64.pkg
- Linux: PopcornFX-Editor_v184.108.40.20697_x64.tgz
- Fixed #5844: Editor sometimes corrupts files, making them un-bakeable and un-loadable in the editor.
- Fixed #5902: Editor: default purple mesh isn't displayed anymore when mesh renderer is incorrectly setup
- Fixed #5856: Nodal editor: Constant nodes cannot be given the 'Angle' semantic
- Fixed #5817: Nodegraph: the warning 'The pin ... is plugged but is not present in the material ...' persists even after unplugging it
- Fixed #5801: Unchecking a renderer's 'Enabled' property doesn't remove the renderer from the final graph
- Fixed #5795: Editor: incorrect resource load failures printed in editor log file when effects are reindexed
- Fixed #5794: Editor: crashes when effects are being analyzed async and resources are being modified on disk and hot-reloaded
- Fixed #5789: Editor: crash when mesh used by an effect as mesh backdrop is auto-reimported or manually imported
- Fixed #5755: Editor: crash when opening effect with corrupt timeline track
- Fixed #5754: Editor: Package importer doesn't correctly handle paths with mismatching casing
- Fixed #5744: Crash when using using 'remapDensity' with NaN input UVs and no texture atlas
- Fixed #5731: Using the 'scene.sweepSphereExt()' function does not work, produces a backend linkage error.
- Fixed #5728: Compiler: Optimizer hangs in storage optimization pass, freezes asset baking and asset analysis of some effects
- Fixed #5659: Compiler: VRP pass incorrectly computes output range of 'select' operation where selector is a scalar but selected values are vectors
- Fixed #5832: Compiler: Long compilation-time when a layer contains a physics-node with low-drag and a trail
- Fixed #5709: GPU sim: layer containing several turbulence samplers fallback to CPU sim
- Fixed #5751: Nodegraph: Spawn nodes with 'Exec Frequency' set to 'Low' or other color the nodes while they should keep the spawn color
- Fixed #5747: When a debug.assert/error/warning/info is triggered at particle spawn, the editor never shows it, and there's no way to know it was triggered.
- Fixed #5746: Using debug.assert/error/warning nodes with a dynamic input condition that does not vary per-particle (but instead per-wave) causes the assert/warning/error to be ignored
- Fixed #5748: In-editor sphere sweeps: Sometimes return incorrect normals
- Fixed #5732: In-editor sphere sweeps: scene.sweepSphereExt() does not return correct distances
- Fixed #5729: Crash when trying to select particles when a layer has backend compilation errors
- Fixed #5606: Editor: assets being checked out in perforce get analyzed even though they were not modified yet
- Fixed #5406: Editor: light particles debug/wireframe view doesn't work anymore
- Fixed #5178: Editor: 3D viewports become grey after changes in editor layout
- Fixed #5804: Editor, MacOS: instant crash when opening any effect on Mac
- Fixed #5806: Editor, MacOS: some shortcuts do not work in the effect editor viewport on Mac
- Fixed #5842: Editor, MacOS: grey viewport when opening an effect editor and Metal graphics api is selected
- Fixed #5825: Editor, MacOS: Metal graphics API cannot be used unless XCode is installed
- Fixed #5805: Editor, MacOS: default graphics API on Mac is OpenGL instead of Metal
- Fixed #5840: Editor, MacOS: graphics APIs unsupported on current OS are displayed first in list
- Fixed #5890: Editor, MacOS: hovering displayed draw calls doesn't work on Mac
- Fixed #5809: Editor, MacOS: crash when selecting a new cubemap on Mac when Metal is selected as a graphics API
- Fixed #5781: AssetBaker: Allow remapping graph execution frequencies (ex: Force all layers to run at most a "High" rate max, instead of "Full" rate max)
- Fixed #5680: UE4: When PopcornFXSceneActor settings are set to 'GPU if possible', the plugin tries to load all layers on GPU, generating tons of errors in output log
- Fixed #5679: UE4: Particles do not render correctly when Instanced Stereo is enabled in a VR project
- Fixed #5678: UE4: Particles are incorrectly rendered in both eyes in VR
- Fixed #5677: UE4: Crash when quitting VR preview
- Fixed #5674: UE4: Plugin doesn't compile on linux
- Fixed #5613: UE4: Distortion billboard particles are culled when billboarding mode is ScreenAligned or AxisAlignedCapsule
- Fixed #5681: AE: Handle copy pasting emitters
Changelog 2.7.4 patch
Builds (Nov 19th 2020)
- Windows: PopcornFX-Editor_v220.127.116.1182_x64.exe
- macOS: PopcornFX-Editor_v18.104.22.16882_x64.pkg
- Linux: PopcornFX-Editor_v22.214.171.12482_x64.tgz
- Fixed #5626: Installer: doesn't install 'vulkan-1.dll' dependency, prevents the editor from launching on machines where vulkan has not been previously installed.
- Fixed #5619: Editor: Occasional hangs when opening a project
- Fixed #5627: Bad upgrade @ 126.96.36.1996: corrupts effects that were using physics surface types
- Fixed #5585: Importing a package resets project's global constants to the ones defined in the package
- Fixed #5584: Nodal editor: Passthrough nodes are very hard to pick
- Fixed #5582: Color picker: HDR screen color pick from texture viewer shows HDR color when hovering, but lowers to LDR when clicking to pick the final color
- Fixed #5580: Color picker: Cannot pick HDR screen color from a curve-editor window.
- Fixed #5431: Crash reporter: Restart PopcornFX Editor doesn't do anything
- Fixed #5638: Crash reporter: Cannot cleanly skip sending crash reports
- Fixed #5592: Crash when closing effect editor with pending changes after having renamed the effect in explorer while the window was opened.
- Fixed #5408: UE4: Add support for 4.26 preview
- Fixed #5635: UE4: Distortion particles do not affect scene
- Fixed #5612: UE4: Crash when an effect using a triangle renderer is started
- Fixed #5631: AE: UI displays not updating correctly
- Fixed #5629: AE: First frame is black when launching after effects
- Fixed #4784: AE: "Reset" on attribute needs to get the default value set in pkfx editor, not 0
- #5622: AE: Added reset button for Backdrop Mesh and Environnement Map
- #5621: AE: Added Button to reset attribute to default value.
- #5620: AE: Changed baked effect extension to 'pkfx'
Changelog 2.7.3 patch
Builds (Nov 5th 2020)
- Windows: PopcornFX-Editor_v188.8.131.526_x64.exe
- macOS: PopcornFX-Editor_v184.108.40.2066_x64.pkg
- Linux: PopcornFX-Editor_v220.127.116.116_x64.tgz
- Fixed #5557: Crash when querying spatial layers at spawn in a GPU-sim layer
- Fixed #5563: D3D11 GPU sim: Crash when resetting scene with multiple GPU effect instances
- Fixed #5570: Crash when opening a layer of an effect opened after some of its dependencies have been patched following an asset move/rename
- Fixed #5566: Effect doesn't run when opened after some of its dependencies have been patched (after moving textures or meshes it used and telling the editor to patch the dependencies)
- Fixed #5554: Crash when unfocusing the annotation text edit window.
- Fixed #5561: Occasional crash when opening assets with the PopcornFX editor from the explorer
- Fixed #5558: Occasional crash when copying nodes
- Fixed #5555: Rare crash when opening a graph containing a curve node
- Fixed #5526: Capturing a thumbnail causes the write to happen after the call to the file-write "end transaction", when source-control transactions are configured.
- Fixed #5525: Cannot force the capture of a thumbnail if the thumbnail file is read-only
- Fixed #5519: Export to package: Sometimes ignores some asset dependencies and does not package them
- Fixed #5515: Asset paths with multiple contiguous slashes or backslashes as directory separators will cause the asset-dependency scanning of the editor to fail.
- Fixed #5508: AssetBaker: Add $(BakeKey) as a recognized token in command lines, allowing integration code to specify -Fe option to GPU simulation bake config command lines
- Fixed #5152: File watcher does not pickup notifications through symbolic links
- Fixed #5549: Debugger shows wrong values from spatial layers Nth-neighbor query
- Fixed #5059: Scripts: multi-linecomments "/* ... */" mess-up debug line mappings
- Fixed #5575: UE4: Crash on linux when loading a scene containing a medium collection and GPU simulation is contained in the plugin
- Fixed #5548: UE4: Performance spikes when world is shifted
Changelog 2.7.2 patch
Builds (Oct 22nd 2020)
- Windows: PopcornFX-Editor_v18.104.22.1688_x64.exe
- macOS: PopcornFX-Editor_v22.214.171.1248_x64.pkg
- Linux: PopcornFX-Editor_v126.96.36.1998_x64.tgz
- Fixed #5478: Effect editor: crash when removing an attribute sampler in an effect containing several attribute samplers and D3D12 GPU sim is enabled
- Fixed #5432: Effect editor: crash when disabling a layer in an effect containing several attribute samplers and D3D12 GPU sim is enabled
- Fixed #5480: Effect editor: removing an attribute sampler in an effect containing several ones messes other attribute sampler instances (CPU sim)
- Fixed #5328: Effect editor: When first opening an effect, the effect editor sometimes spawns it multiple times, leading to 5 to 10 times the number of particles, until Ctrl+R is hit
- Fixed #5402: Effect editor: Viewport memory stats do not work anymore
- Fixed #5416: Nodal editor: Annotations: When the annotation edit window auto-closes, the text is lost if it hasn't explicitly been applied before
- Fixed #5505: Cannot drag & drop assets from the content-browser or OS explorer onto the asset-picker widget
- Fixed #5420: Occasional crash when closing asset windows
- Fixed #5412: GPU sim: crash when a texture sampler uses an atlas texture (D3D12)
- Fixed #5411: GPU sim: Some view.axis*() functions are not implemented in the GPU sim
- Fixed #5410: GPU sim: view.axis*() functions are flipped on some axis systems
- Fixed #5407: Importing a package will pick-up the wrong package version if it had been previously downloaded with a more recent editor version
- Fixed #3868: Allow controlling viewport camera rotation sensitivity
- Fixed #5417: Content browser: Selecting multiple assets and showing their dependencies only shows the dependencies of the last clicked asset, not of the entire list of selected assets
- Fixed #5403: Sample effects baked with D3D12 GPU simulation on desktop are massive
- Fixed #5245: Timeline: Timeline & prev/next buttons are not disabled when the debugger is active
- Fixed #2967: Compiler: IR's constant storage never get compacted by removing unused entries, leaves overhead in final compiled IRs and baked effects
- Fixed #5375: Materials: ShaderInput1.Input1 particle pin does not work in integration code
- Fixed #5392: Project constants: Adding a new constant while an effect is opened recompiles the effect as many times as there are constants.
- Fixed #5507: Hitting 'Esc' on the save confirmation dialog when closing an window with pending changes doesn't cancel the closing of the window, instead, does as if the 'No' button was clicked
- Fixed #5496: Trying to use "select" or "if" nodes on non-numeric values does not show any error in the graph, even though it is not a legal operation
- Fixed #5485: UE4: Game/editor sometimes freezes when GPU simulation is enabled & game is stopped, or PopcornFXSceneActor is destroyed
- Fixed #5374: UE4: Dynamic Parameter nodes do not work anymore since UE4.23
- Fixed #3389: UE4: Effect preview viewport queues emitter restarts indefinitely when UseLessCPUWhenInBackground is actived, leading to crashes
- Fixed #5359: UE4: crash when unloading scene & D3D11 GPU sim is enabled
Changelog 2.7.1 patch
Builds (Oct 8th 2020)
- Windows: PopcornFX-Editor_v188.8.131.523_x64.exe
- macOS: PopcornFX-Editor_v184.108.40.2063_x64.pkg
- Linux: PopcornFX-Editor_v220.127.116.113_x64.tgz
- Fixed #5329: When a layer uses an attribute sampler and doesn't compile, editor crashes after making it compile again
- Fixed #5279: script function 'scene.ea_from_orientation()' is broken, returns 'orientation' instead of returning 'float3' (broken since 2.0.0)
- Fixed #5269: User settings shortcuts: Cannot bind some keys to shortcuts (for example the "Return" key)
- Fixed #5319: Color-picker: Slider are not clamped in the [0,1] range, annoying when you want to bump a slider to max range
- Fixed #5311: Resource nodes: Don't show the "Asset > Show in Explorer" or "Asset > Show in Content Browser" menu on resource nodes that have no assets (for example curves)
- Fixed #5321: Nodal editor: Allow setting curve preset by right-clicking on curve node directly
- Fixed #5322: Propertygrid: When multiple curve nodes are selected, setting a curve preset using the right-click menu on the inline curve widget only updates the first selected curve node
- Fixed #5326: Mesh backdrop: Animation stops when the effect instance dies, even if 'Mesh Backdrop Follows Instances' is unchecked
- Fixed #5327: Mesh backdrop: Seeking back in the timeline with the effect paused messes up the backdrop animation
- Fixed #5335: Mesh backdrop: Seeking back in the timeline with a mesh backdrop skeletal animation is super slow, even slower with multiple instances of an effect
- Fixed #5336: Skinned mesh backdrop bound as attribute sampler: When backdrop is scaled, normals are also scaled. They should not.
- Fixed #5297: GPU sim: editing turbulence sampler Global scale, Strength, .. does not refresh simulation until a graph rebuild is triggered
- Fixed #4329: GPU sim: D3D11 shader compilation failing: max sampler register index
- Fixed #5364: Nodegraph compiler: regression in discretization path detection: 'TriggerOnce' template is broken
- Fixed #5350: UE4: Various crashes when UE garbage collect is forced using gc.CollectGarbageEveryFrame
- Fixed #5316: UE4: Shadow rendering artefacts when billboards are generated on GPU, and stateless collect is disabled
- Fixed #5315: UE4: Shadows flicker when billboard particles are generated on CPU and stateless collect is disabled
- Fixed #5313: UE4: PopcornFX stats are unreadable when bRecordProfileMarkers is enabled for project
- Fixed #5369: Upgrader: Upgrade v18.104.22.168 unnecessarily clone shaders when pins from different pkri share the same name
Builds (Sep 17th 2020)
- Windows: PopcornFX-Editor_v22.214.171.1249_x64.exe
- macOS: PopcornFX-Editor_v126.96.36.1999_x64.pkg
- Linux: PopcornFX-Editor_v188.8.131.529_x64.tgz
Assets & core-lib
- #5207: New "IsInEditor" node, which tells whether or not the effect is running inside the editor. Useful to switch off things used for debugging purposes.
- #5070: 'Color' node: Add "AlphaShift", "AlphaVar", and "AlphaBias"
- #5005: 'ShapeSample' node: Add outputs for all possible 'Color' and 'UV' channels
- #5255: 'Projection' node: Hard to use, requires using explicit discretization nodes on Position and Velocity outputs to have something usable
- #5004: Add a 'RandomStartFrame' checkbox to the 'Flipbook' node
- #4816: Add missing 'view.velocity' node
- #4561: Add 'VersionTest' node returning true/false
- #4279: Add layergraph 'Version' node to block events based on the build version
- Fixed #5065: 'SmallPointAA' node doesn't work properly if a value evaluated at spawn is wired into its 'Position' input.
- Fixed #4068: 'self.age' template doesn't work properly if forced at evolve
- Fixed #4793: 'Trail' node: 'Color' input does not have the color semantic
- #5079: Display previews on resource (sampler) nodes
- #5038: When double-clicking on a Sampler/Resource node, open an asset viewer on the corresponding asset
- #5153: When hovering a wire or a pin, highlight the entire wire across multiple nodes, allows to quickly see where the value originates from and where it goes to
- #5257: Export input nodes: Allow setting up dropdowns as "multi-selection" / "bitfield" dropdowns
- #5258: Export input nodes: Allow auto-populating dropdowns with project constants
- #5263: Annotations: Detect & auto-expand builtin tags "$(Graph.Description)" and "$(Graph.Name)"
- Fixed #5244: Node creation menu: Node names which are larger than the popup cause a broken horizontal scrollbar to appear
- Fixed #5184: Script editor: Syntax highlighting isn't properly refreshed when the input list is changed
- Fixed #5183: Template pin rules work for output pins, but the "Visible Outputs" category in the propertygrid is still populated with all checkboxes of all outputs, regardless of the pin rules.
- Fixed #5222: Annotations do not support rich-text formatting available in node & pin description tooltips
- Fixed #5221: Node creation dialog does not properly format template descriptions in the tooltips.
- Fixed #5159: Scripts: Editing existing pins when multiple scripts are selected does not apply the change to all selected nodes (same goes for spatial layer storage & timeline track payloads)
- Fixed #5158: Selecting multiple EventPayloadExtract nodes removes the "PayloadName" dropdown and converts it to a regular text field
- Fixed #5157: Selecting multiple nodes of the same type hides some properties
|Display previews on resource nodes (4 min 52 sec)|
Graph compiler & optimizer
- #3757: Renderers: remove them completely in the final effect when the pin 'enabled' gets constant-folded to false
- #5021: dxdt node: Implement analytical time-based derivative of 'effect.position'
- #5018: dxdt node: Implement analytical time-based derivative of 'view.position'
- Fixed #5072: Optimizer VRP: Replace 'clamp' by 'max' or 'min' if the range of the input is proven to not intersect the upper or lower bounds, respectively
- Fixed #5071: Optimizer VRP: Bad VRP collapse of 'clamp' : Not equivalent to individual 'min' and 'max' collapses
- Fixed #5185: 'dxdF(effect.age())' is not expanded to 'scene.dt'
- #5229: Per-effect instance time-scaling ("time dilation", speedup, slowdown or pause specific effect instances)
- #5154: Detect and handle when an effect has been teleported, to allow cutting-off things like trail distance-based emission, to avoid spawning zillions of particles when teleporting effects across a level
- #4976: Spatial layers: Add "Min" and "Max" queries
- #3090: DxDt: add support of XForm nodes: Allows having proper cubic interpolation in trails with most effects
- Fixed #5231: Spatial layer 'sumKernel' query: If all neighbors sample the kernels at a location where it equals zero, query returns inf instead of zero
- Fixed #5217: shape.buildPCoordsCone() : 'height' input is inconsistent between surface and volume pcoords: Flipped when building volume pcoords, treated as '1 - height' compared to surface pcoords
- #4989: Sim interfaces: GPU sim support
- Fixed #5197: GPU sim: scene.lodBias() always returns 0
- #5057: Sort by camera distance instead of camera direction
- #4924: Triangle renderer: Add support for vertex shader billboarding (DrawInstanced)
- #5260: Automatically process IBL environment maps to allow user to specify non prefiltered cubemaps in latlong / cubemap format, in LDR or HDR
- #5208: Texture atlas / sub-UVs for decal renderers
- Fixed #4048: Differences in generated tangents/normals in GPU and CPU billboarding implementations
- Fixed #5235: One side of ribbons has shifted color values.
- Fixed #4983: Emissive decals do not work properly
- Fixed #5142: Using AlphaRemap & Atlas on billboards makes (some) billboards invisible with Geometry Shader & D3D12 rendering
- #5261: Open assets in external applications
- #5107: Associate all PopcornFX file extensions during editor installation
- #5256: Project settings: New "Project constants" list, which can be referenced from nodes. Old physics surface types & collision filters moved to this global constant list.
- Fixed #5181: Package import: Importing a package with different project paths (ex: different corelib path) does not auto-unselect conflicting items, will force-overwrite all existing items by default.
- Fixed #5169: macOS editor: Assert window is unreadable, has black text on dark background
- Fixed #5140: Project settings: Crash when adding a new build version while an effect editor is opened
- Fixed #5133: Color picker: Custom colors do not support alpha
- Fixed #5129: PK-ShaderTool generates shaders for disabled renderers
- #5112: Add multi-selection support for the viewport gizmo
- #5105: When a node is selected, bind the gizmo on fields that have 3D_Coordinate semantic or orientation type
- #4993: Improve effects creation containing GPU simulated particles
- Fixed #5143: Backdrop mesh transform only updates itself if Mesh Backdrop Collisions are enabled
- Fixed #5162: Propertygrid: Array properties are never shown as being divergent when multiple nodes are selected
- Fixed #4997: Renderer properties exposed as pins are prefixed with their category
- #5302: Color-picker improvements: New colorspace visualizations
- #5303: Color-picker improvements: TMI support
- #5304: Color-picker improvements: Blackbody helpers
- #5305: Color-picker improvements: Misc UI improvements
|Color picker (3 min 29 sec)|
- #5165: Material editor: display rendering interface name instead of full path
- Fixed #5177: Material editor: all shader defines for stage are not displayed in properties panel
Plugins & Third-Party
- #5211: UE4: Bind actor TimeDilation to effect instance's time scale
- #5006: UE4: Bind actor visibility to effect visibility flag
- #4272: UE4: Houdini VATs materials
- Fixed #5054: UE4: Texture sampling does not work until textures are manually set to "ColorLookupTable"
- Fixed #4790: UE4: effect.scale isn't connected to the actual effect scale.
- #4944: Add PopcornFX export preset in Houdini's VAT render node
- Fixed #4994: Houdini pack : wrong normals with VAT
- Fixed #5052: Flipped rotations for Rigid VAT materials
- Fixed #5147: Upgrades aren't run on .pkma/.pkri files when opened from content browser
- Fixed #5050: Missing upgrader patching custom .frag/.vert SceneInfo and LightInfo members
- Reset revision IDs due to 65536 overflow (messes up .exe versions on windows)
- New upgrader @ v184.108.40.206: Removed inverted orientation sampled from animtrack
- New upgrader @ v220.127.116.11: Removed 'Gpu Enabled' property of effects: this is now the default
- New upgrader @ v18.104.22.168: Add a valid CategoryName to all rendering feature properties (if none are set: 'General')
- New upgrader @ v22.214.171.124: Patch effects renderer nodes properties: 'Position', 'BillboardingMode' & 'Color' become 'General.Position', 'General.BillboardingMode' & 'Diffuse.Color'
- New upgrader @ v126.96.36.199: Patch .frag/.vert files per particle values & defines
- New upgrader @ v188.8.131.528: Patch .vert/.frag files SceneInfo and LightInfo members
- New upgrader @ v184.108.40.2060: User settings: Added 'ExternalApplications' settings
- New upgrader @ v220.127.116.111: Project settings: Split editor-specific settings into new 'Editor' category
- New upgrader @ v18.104.22.1685: Export nodes: Changed 'UseDropDown' checkbox to a dropdown, allowing to expose a multi-select dropdown
- New upgrader @ v22.214.171.1246: Project settings: Moved physics-specific enums to project constants
- New upgrader @ v126.96.36.1999: Per effect instance time-scale: Replaced 'scene.dt' by 'effect.dt'
- New upgrader @ v188.8.131.526: CoreLib template renames: 'scene.dt' -> 'effect.dt' (effect.dt now takes into account the new per-effect timeScale), and renamed effect.age node output from 't' to 'Age'
- New upgrader @ v184.108.40.2065: Cleanup node pins leftover values
- New upgrader @ v220.127.116.113: CoreLib template renames: 'Projection' -> 'Projection_NoStore'
- New upgrader @ v18.104.22.1685: Corelib upgrade
- New upgrader @ v22.214.171.1248: Finalize upgrade: Rewrite *.pkfx, *.pkma, *.pkri, *.pkcf, *.pkbo