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 |