What's New in Godot 4.6: Everything You Need to Know

A comprehensive guide to Godot 4.6's biggest changes: Jolt physics default, new Modern editor theme, IKModifier3D, lambda closures, SSR rewrite, and more.

Godot 4.6 release highlights showing new Modern theme and features

Godot 4.6 is a substantial release that touches nearly every part of the engine. From Jolt physics becoming the default 3D engine to a completely rewritten SSR system, a new editor theme, and full lambda closure support in GDScript, this update brings meaningful improvements for both new and experienced developers.

Physics: Jolt Takes the Wheel

The biggest headline: Jolt Physics is now the default 3D physics engine for new projects. Jolt has been available as an option since Godot 4.0, but 4.6 makes it the recommended choice. Existing projects are completely unaffected and continue using GodotPhysics unless you choose to switch.

Another quality-of-life improvement: primitive meshes (BoxMesh, SphereMesh, CylinderMesh, CapsuleMesh) now automatically generate matching CollisionShape3D nodes. No more forgetting to add collision shapes to basic geometry.

Editor: Modern Theme and Unified Docking

Godot 4.6 introduces a new 'Modern' editor theme with a grayscale palette and cleaner visual hierarchy. It replaces the Classic theme as the default but Classic remains available in Editor Settings.

The bottom panels (Output, Debugger, Audio, Animation) are no longer special. They're now regular docks that you can drag to any side of the editor or float as separate windows. Combined with a new tab management menu button for quickly switching between open scenes and scripts, the editor workspace is now fully customizable.

Two more editor improvements worth noting: a new 'Select-only' mode (press Q) that lets you click nodes without showing the transform gizmo, and a 4th rotation handle that aligns to your camera view direction.

GDScript: Lambda Closures Finally Work

Lambda functions in GDScript now properly capture outer variables. This means functional programming patterns with filter(), map(), and inline signal handlers work the way you'd expect from Python or JavaScript.

gdscript
# Full closure support in 4.6
var multiplier = 3
var scale = func(val): return val * multiplier
print(scale.call(10))  # 30

# Practical: inline signal handlers
var damage = 50
$Area2D.body_entered.connect(
    func(body):
        if body.has_method("take_damage"):
            body.take_damage(damage)  # captures 'damage' correctly
)

# Array operations
var enemies = get_tree().get_nodes_in_group("enemies")
var alive = enemies.filter(func(e): return e.health > 0)

Debugging Improvements

Debugger gets several practical upgrades: a new 'Step Out' button (Shift+F11) to exit the current function, ObjectDB snapshots for capturing and diffing live object lists (invaluable for finding memory leaks), and Tracy tracing profiler support for external performance analysis.

GDScript also adds new warnings for common mistakes: signals that are defined but never emitted, export variables with invalid default values, and node paths that can't be resolved at parse time.

The script editor now visually highlights string placeholders like %s, %d, and {name}, and file paths in the Output panel are clickable to navigate directly to the referenced script or resource.

IKModifier3D: Proper Inverse Kinematics

Godot 4.6 introduces a complete IK system through IKModifier3D. Add it as a child of Skeleton3D, then add specific IK types as children: TwoBoneIK3D (arms, legs), SplineIK3D (spines, tails), FABRIK3D (chains, tentacles), CCDIK3D, and JacobianIK3D.

Unity (Animation Rigging)
// Install Animation Rigging package
// Add Rig to Animator
// Add TwoBoneIKConstraint
// Set tip, mid, root bones
// Set target transform
Godot 4.6 (IKModifier3D)
# Add IKModifier3D as child of Skeleton3D
# Add TwoBoneIK3D as child
# Set tip bone, root bone
# Set target node (Marker3D)

Rendering Improvements

The Screen-Space Reflections system has been rewritten from scratch. The new implementation handles roughness better, is more stable across different viewing angles, and supports a half-resolution mode for better performance.

Glow blending now happens before tonemapping with Screen as the default blend mode, producing more natural-looking bloom effects. The AgX tonemapper gains new agx_white and agx_contrast parameters for fine-tuning. Reflection and light probes now use octahedral maps instead of cube maps, reducing GPU computation.

Windows projects now default to D3D12 for new projects, aligning with the industry move away from D3D11.

Node System and Scene Management

Nodes now have stable internal IDs that persist through renaming and reorganizing in the scene tree. This improves reliability for editor tools and scene versioning. TileMap scene instances can now be rotated in 90-degree increments, a frequently requested feature for level design.

UI and Input Improvements

Control nodes gain a new pivot_offset_ratio property with a normalized 0-1 range, making UI pivot points easier to set. MarginContainer now shows visual feedback for margins directly in the viewport.

On the input side, gamepad LED customization is supported, with foundation laid for motion, touchpad, haptics, and adaptive triggers in future releases. Plugins can now register custom keyboard shortcuts, and mouse click focus no longer forces keyboard focus outlines to appear.

Export and Distribution

Delta-encoded patch PCKs are a game-changer for updates: only the changed portions of resources are included in patches, meaning smaller download sizes for your players. LibGodot lets you embed the Godot engine into other applications, opening up possibilities for tools and hybrid apps.

Key Takeaways for Unity/Unreal Developers

  • Jolt Physics brings 3D physics quality on par with PhysX/Chaos
  • The Modern editor theme makes Godot feel more polished and professional
  • Lambda closures mean your functional programming habits transfer cleanly
  • IKModifier3D provides a proper IK system comparable to Unity Animation Rigging
  • SSR rewrite and rendering improvements close the visual quality gap further
  • Delta-encoded patches mean professional update distribution for your games
👤
Godot Learning Team Helping developers transition to Godot with practical tutorials and comparisons.