Development snapshot: Godot 4.7 dev 4
Image credit: Poke ALL Toads.

A puzzle game starring a mischievous band of sprites whose mission is to poke every toad.

Development snapshot: Godot 4.7 dev 4

沫萝
April 14, 2026

As feature freeze draws closer, many contributors are working hard to land highly anticipated features in time for Godot 4.7. Several of those proposals have now been merged, and we are delighted to share them today. Testing from this point on is crucial to ensure they are ready for the final 4.7 release, so please try the latest build after reading the highlights.

Highlights

Rendering: Nearest-neighbour scaling

We begin with one of the rendering system’s most anticipated additions: nearest-neighbour scaling for 3D viewports. Hugo Locurcio has refined GH-79731 for almost three years, allowing pixel-art and low-resolution 3D projects to retain a crisp, sharp look without sacrificing performance.

Bilinear filtering

Example with bilinear filtering

Nearest neighbour (new behaviour)

Example with nearest-neighbour scaling

GUI: Add custom_maximum_size to Control

Previous snapshots placed considerable emphasis on GUI improvements, and this quality-of-life work continues here. In GH-116640, Enzo Novoselic added custom_maximum_size to Control nodes. Paired with the existing custom_minimum_size property, it gives developers finer and more complete control over GUI element sizing.

GUI: Improve Tree drag and drop

In GH-112993, vaner led a broad overhaul of drag-and-drop interactions in the Tree control, making them easier and more intuitive to use.

Drag operations now always show a vertical guide indicating the prospective parent hierarchy. The guide uses a separate CanvasItem, preventing it from being hidden by a StyleBox.

New Tree drag-and-drop interaction

Dragging in the indentation area—the blank space at the far left—now chooses the target parent according to the pointer’s horizontal position, while the item area largely retains its previous behaviour. This interaction resembles that of common vector-design applications.

Editor: Give array properties more usable space

Have you ever wondered why editing an array leaves so much empty space in the Inspector? It was not intentional—the control simply used a default offset of 0.5.

Tomasz Chabora identified the issue and corrected it in GH-118008.

Previous Inspector layout for array properties

More improvements!

There are too many exciting updates to cover individually. Here are a few highlights:

  • 2D: Refactor TileSet editor proxy objects (GH-117574)
  • 3D: Add vector components to the 3D ruler tool (GH-106785)
  • Editor: Make the Visual Profiler tree collapsible (GH-118120)
  • Editor: Add a type filter to the Create dialog (GH-111518)
  • Editor: Hide the renderer selector in the main editor window and add a corresponding setting (GH-117754)
  • Editor: Allow right-clicking an unfocused scene tab (GH-112919)
  • GDExtension: Show GDExtensions in Project Settings (GH-118063)
  • GDScript: LSP: Compute simple text insertions on the server (GH-117710)
  • Particles: Fix angular velocity (GH-117861)
    • Note: This change is technically compatibility-breaking, but brings the behaviour in line with the documentation.
  • Particles: Fix particles moving while timescale is 0 (GH-109911)
  • Platforms – Android: Allow Java interfaces to be implemented in GDScript (GH-115498)
  • Platforms – Windows: Add dependency-free OneCore TTS support using C++/WinRT (GH-116349)
  • Platforms – Windows: Use the OneCore/WinRT emoji picker when available (GH-116351)