Godot 4.7 dev snapshot: what’s actually worth testing
The first development build for Godot 4.7 is out, and it isn’t just another batch of bug‑fixes. This preview adds a handful of features that cut real‑world friction for mobile developers, texture painters, and anyone who has ever stared at a blank scene wondering why the editor won’t snap to geometry. Below are the parts that feel usable today versus the stuff that will probably sit in a “nice‑to‑have” folder until the next stable release.
VirtualJoystick makes mobile controls less painful
For years developers have cobbled together on‑screen sticks with third‑party plugins, only to discover that the joystick jumps around when the player’s thumb slips. The new VirtualJoystick node offers three modes:
- JOYSTICK_FIXED – stays put no matter where you tap; good for classic “dead‑zone” setups.
- JOYSTICK_DYNAMIC – appears under the initial touch and snaps back when released, which feels natural on smaller screens.
- JOYSTICK_FOLLOWING – follows the finger even after it leaves the original radius, preventing that frustrating moment when the stick disappears mid‑action.
Developers who have been chasing a reliable mobile input solution will finally have a built‑in option that doesn’t require manual script gymnastics.
DrawableTexture finally lets you paint on a texture without a viewport hack
If you’ve ever tried to draw UI elements directly onto a sprite, you probably ended up rendering a hidden Viewport, copying its output to an Image, then feeding that back into a Texture. It works, but the pipeline is clunky and easy to break with a single engine update. DrawableTexture abstracts all that noise: create the texture, call draw_line() or draw_rect(), and Godot handles the GPU side for you. The API is deliberately simple—no need to dig into RenderingDevice unless you want to optimize every pixel yourself.
Path3D collider snapping saves a lot of guesswork
When laying out patrol routes in a 3D level, the old workflow was “drop points in empty space, then manually align them to walls.” The new Path3D collider snap toggles an option that makes each point stick to the nearest collider under the mouse cursor. It’s a tiny UI tweak, but it eliminates the trial‑and‑error dance that many level designers spend hours on.
Remote Tree Inspector now respects non‑exported enums
A common annoyance in remote debugging is seeing enum values collapse into raw integers, making it impossible to tell whether you’re looking at “State.IDLE” or “State.RUNNING.” The latest patch preserves the metadata for non‑exported members, so the inspector shows the proper names even when the script isn’t marked with @export. This alone makes remote testing on consoles feel less like deciphering cryptic logs.
Vulkan raytracing plumbing – a glimpse of what’s coming
Raytracing on Vulkan has been a promise for years, but most users never saw more than a placeholder flag. The new Vulkan raytracing plumbing adds the low‑level hooks needed to fire off acceleration structures and trace rays from GDScript. Antonio Caggiano shipped a demo project that renders a simple reflective sphere with proper shadows—nothing production‑ready yet, but it proves the engine can handle the math without crashing on launch.
HDR output for Windows – early days, but promising
HDR support was hinted at in the 4.6 roadmap; now a prototype runs on Windows machines equipped with HDR monitors. The implementation is still experimental (the settings panel isn’t polished), yet developers can enable an HDR swap chain and see a noticeable boost in luminance range. If your workflow already includes color grading, this could eventually replace external post‑process steps.
Miscellaneous goodies that actually matter
- PCKPacker now accepts raw buffers, making on‑the‑fly asset bundles feasible for DLC systems.
- A shortcut (Ctrl+Alt+D) pops up a tooltip with the documentation for the word under the caret—no more hunting through the help browser.
- The editor’s scene tree filter got a performance bump; large projects load noticeably faster after the change.
These tweaks feel like they were added because someone in the community complained, not because they were “nice to have” features hidden behind a future flag.
For more information, check out the official release announcement below:
Dev snapshot: Godot 4.7 dev 1
All the colors of the rainbow (and more?)
