Migration notes: godot-particles
Incremental upgrade for topics this skill covers. Apply one hop, stabilize/test, then next. Never skip hops.
If the project is < 4.0, follow godot-version-migration era bridges (legacy → 3→4) until 4.0, then these hops. Official 3→4: Upgrading from Godot 3 to Godot 4.
3.x → 4.0
Official: Upgrading from Godot 3 to Godot 4
Particles/Particles2D→GPUParticles3D/GPUParticles2D.ParticlesMaterial→ParticleProcessMaterial;set_flag→set_particle_flag.- CPU particle flag enums renamed (
PARTICLE_FLAG_*). - Re-author process material curves after convert.
4.0 → 4.1
Official: Upgrading to Godot 4.1
RenderingServer.global_shader_parameter_get_list/ RD shader version lists returnArray[StringName].RenderingDevice.draw_list_beginstorage_textures typed asArray[RID].
4.1 → 4.2
Official: Upgrading to Godot 4.2
- Mesh format upgrade — run Project → Tools → Upgrade Mesh Surfaces before GPU particle meshes rely on legacy
.meshdata. - ImporterMesh/MeshDataTool/SurfaceTool compression flag widths →
uint64. RenderingDeviceBarrierMask enum values changed — update custom GPU particle compute barriers.
4.2 → 4.3
Official: Upgrading to Godot 4.3
- Reverse Z depth — update custom particle shaders comparing depth or using
POSITION.z. - Decal
modulateconverted sRGB→linear — attached particle decal tints look different; rebalance color values. RenderingDevicedraw_list barrier API simplified (post_barrier params removed).- GPUParticles2D stutter when parented to fast physics bodies — prefer
CPUParticles2Dwithfract_delta = truefor high-speed 2D trails (behavioral; not an API rename).
4.3 → 4.4
Official: Upgrading to Godot 4.4
CPUParticles2D/3DandGPUParticles2D/3D.restart()gain optionalkeep_seed— use for deterministic one-shot burst replay in VFX tests.RenderingDevice.draw_list_beginsignature overhauled — update custom GPU particle draw helpers.Shaderdefault texture parameter types useTexture/TextureLayered.VisualShaderNodeVec4Constantinput type → Vector4 — recreate vec4 constants in visual particle graphs.
4.4 → 4.5
Official: Upgrading to Godot 4.5
RenderingServer.instance_reset_physics_interpolation/instance_set_interpolatedremoved — drop physics-interpolation toggles on particle mesh instances.
4.5 → 4.6
Official: Upgrading to Godot 4.6
- Environment glow default blend mode
Screen(brighter) — retuneEnvironment.glow_*when particle bloom looks blown out. - Volumetric fog default blending brighter — reduce fog density/energy behind particle-heavy scenes.
- New Windows projects default D3D12 driver — re-test GPU particles if switching render backends.
- Sky
reflection roughness_layersdefault 7 (was 8) — may shift lit particle specular in outdoor scenes.
4.6 → 4.7
Official: Upgrading to Godot 4.7
request_particles_process/particles_request_process_timegainprocess_time_residual— use when syncing one-shot bursts to gameplay clocks.Texture2D.get_format()unified on base class — branch import/shader paths on format without casting toImageTexture.LinearToSRGBvisual shader no longer clamps[0,1]on Mobile/Forward+ — HDR particle trails may need manual clamp in shader.