# Godot — Breaking Changes Last verified: 2026-02-12 Changes between Godot versions, focused on post-LLM-cutoff changes (4.4+). ## 4.5 → 4.6 (Jan 2026 — POST-CUTOFF, HIGH RISK) | Subsystem | Change | Details | |-----------|--------|---------| | Physics | Jolt is now the DEFAULT 3D physics engine | New projects use Jolt automatically. Existing projects keep their setting. Some HingeJoint3D properties (like `damp`) only work with GodotPhysics. | | Rendering | Glow processes BEFORE tonemapping | Was after tonemapping. Scenes with glow will look different. Adjust intensity/blend in WorldEnvironment. | | Rendering | D3D12 default on Windows | Was Vulkan. For better driver compatibility. | | Rendering | AgX tonemapper new controls | White point and contrast parameters added. | | Core | Quaternion initializes to identity | Was zero. Unlikely to affect most code but technically breaking. | | UI | Dual-focus system | Mouse/touch focus now separate from keyboard/gamepad focus. Visual feedback differs by input method. | | Animation | IK system fully restored | CCDIK, FABRIK, Jacobian IK, Spline IK, TwoBoneIK via SkeletonModifier3D nodes. | | Editor | New "Modern" theme default | Grayscale replaces blue-tint. Restore: Editor Settings → Interface → Theme → Style: Classic | | Editor | "Select Mode" keybind changed | New "Select Mode" (v key) prevents accidental transforms. Old mode renamed "Transform Mode" (q key). | | 2D | TileMapLayer scene tile rotation | Scene tiles can now be rotated like atlas tiles. | | Localization | CSV plural form support | No longer requires Gettext for plurals. Context columns added. | | C# | Automatic string extraction | Translation strings auto-extracted from C# code. | | Plugins | New EditorDock class | Specialized container for plugin docks with layout control. | ## 4.4 → 4.5 (Late 2025 — POST-CUTOFF, HIGH RISK) | Subsystem | Change | Details | |-----------|--------|---------| | GDScript | Variadic arguments added | Functions can accept `...` arbitrary params — new language feature | | GDScript | `@abstract` decorator | Abstract classes and methods now enforceable | | GDScript | Script backtracing | Detailed call stacks available even in Release builds | | Rendering | Stencil buffer support | New capability for advanced visual effects | | Rendering | SMAA 1x antialiasing | New post-processing AA option | | Rendering | Shader Baker | Pre-compiles shaders — reportedly 20x faster startup on some demos | | Rendering | Bent normal maps, specular occlusion | New material features | | Accessibility | Screen reader support | Control nodes work with accessibility tools via AccessKit | | Editor | Live translation preview | Test GUI layouts in different languages in-editor | | Physics | 3D interpolation rearchitected | Moved from RenderingServer to SceneTree. API unchanged but internals differ. | | Animation | BoneConstraint3D | New: AimModifier3D, CopyTransformModifier3D, ConvertTransformModifier3D | | Resources | `duplicate_deep()` added | New explicit method for deep duplication of nested resources | | Navigation | Dedicated 2D navigation server | No longer a proxy to 3D navigation; smaller export for 2D games | | UI | FoldableContainer node | New accordion-style container for collapsible UI sections | | UI | Recursive Control behavior | Disable mouse/focus interactions across entire node hierarchies | | Platform | visionOS export support | New platform target | | Platform | SDL3 gamepad driver | Delegated gamepad handling to SDL library | | Platform | Android 16KB page support | Required for Google Play targeting Android 15+ | ## 4.3 → 4.4 (Mid 2025 — NEAR CUTOFF, VERIFY) | Subsystem | Change | Details | |-----------|--------|---------| | Core | `FileAccess.store_*` return `bool` | Was `void`. Methods: `store_8`, `store_16`, `store_32`, `store_64`, `store_buffer`, `store_csv_line`, `store_double`, `store_float`, `store_half`, `store_line`, `store_pascal_string`, `store_real`, `store_string`, `store_var` | | Core | `OS.execute_with_pipe` | Added optional `blocking` parameter | | Core | `RegEx.compile/create_from_string` | Added optional `show_error` parameter | | Rendering | `RenderingDevice.draw_list_begin` | Many parameters removed; `breadcrumb` parameter added | | Rendering | Shader texture types | Parameter/return types changed from `Texture2D` to `Texture` | | Particles | `.restart()` method | Added optional `keep_seed` parameter (CPU/GPU 2D/3D) | | GUI | `RichTextLabel.push_meta` | Added optional `tooltip` parameter | | GUI | `GraphEdit.connect_node` | Added optional `keep_alive` parameter | ## 4.2 → 4.3 (In Training Data — LOW RISK) | Subsystem | Change | Details | |-----------|--------|---------| | Animation | `Skeleton3D.add_bone` returns `int32` | Was `void` | | Animation | `bone_pose_updated` signal | Replaced by `skeleton_updated` | | TileMap | `TileMapLayer` replaces `TileMap` | One node per layer instead of multi-layer single node | | Navigation | `NavigationRegion2D` | Removed `avoidance_layers`, `constrain_avoidance` properties | | Editor | `EditorSceneFormatImporterFBX` | Renamed to `EditorSceneFormatImporterFBX2GLTF` | | Animation | AnimationMixer base class | AnimationPlayer and AnimationTree now extend AnimationMixer |