Migration notes: godot-3d-materials
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
SpatialMaterial→StandardMaterial3D.StreamTexture→CompressedTexture2D(reimport).- ArrayMesh
.resfrom 3.x incompatible — reimport source meshes. - ShaderMaterial: apply shader foundation 3→4 notes.
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 — use Project → Tools → Upgrade Mesh Surfaces; Restart & Upgrade prevents downgrade (material slots may remap after upgrade).
- ImporterMesh/MeshDataTool/SurfaceTool compression flag widths →
uint64. - RenderingDevice BarrierMask enum values changed.
4.2 → 4.3
Official: Upgrading to Godot 4.3
- Reverse Z depth — update spatial/custom shaders on StandardMaterial3D overrides and depth-based effects.
- Decal modulate converted sRGB→linear — emissive/decal material tints shift; rebalance albedo/emission pairs.
- RenderingDevice barrier/draw_list API simplified (post_barrier params removed).
4.3 → 4.4
Official: Upgrading to Godot 4.4
RenderingDevice.draw_list_beginsignature overhauled (params removed + breadcrumb).Shaderdefault texture parameter types useTexture/TextureLayered.VisualShaderNodeVec4Constantinput type → Vector4 — recreate material graph constants.- VisualShader cubemap / Texture2DArray nodes use
TextureLayered. - CSG uses Manifold — non-manifold CSG booleans fail; use MeshInstance3D materials on imported meshes for planes/quads.
4.4 → 4.5
Official: Upgrading to Godot 4.5
RenderingServer.instance_reset_physics_interpolation/instance_set_interpolatedremoved.- GLTF/BLEND/FBX naming version for non-joint nodes in skeletons — set Import dock Naming Version for old PBR assets.
4.5 → 4.6
Official: Upgrading to Godot 4.6
- Glow default blend Screen (brighter) — retune emissive materials against new default bloom.
- Volumetric fog blending brighter — reduce fog density when pairing with transparent/transmission materials.
- Sky reflection roughness_layers default 7 (was 8) — affects environment-reflection roughness on PBR materials.
4.6 → 4.7
Official: Upgrading to Godot 4.7
Texture2D.get_format()unified on base class — use when branching shader logic on compressed vs HDR formats.LinearToSRGBvisual shader no longer clamps[0,1]on Mobile/Forward+ — rebalance emissive VisualShader graphs.Image.save_exr*gain color_image / max_linear_value optionals for HDR texture export pipelines.