Dev snapshot: Godot 3.5 beta 1
By: Rémi Verschelde 13 January 2022
Godot 3.4 was released 2 months ago, and some of the major planned features for Godot 3.5 have since been merged and are now ready for wider testing.
So we're starting the beta testing phase with this already significant set of changes, and we'll have frequent beta builds to polish them for the stable release. Some more features are still being worked on and will be included in future beta builds.
All this work is done by contributors on the side while our main development focus remains on the upcoming Godot 4.0 alpha (see our release policy for details on the various Godot versions).
As usual, you can try it live with the online version of the Godot editor updated for this release.
The main changes coming in Godot 3.5 and included in this beta are:
Asynchronous shader compilation + caching (ubershader) (GH-53411)
A long awaited solution to shader compilation stuttering on OpenGL, courtesy Pedro J. Estébanez (RandomShaper)!
This new system uses an "ubershader" (big shader supporting all features, slow but compiled on startup) to fill in for all shaders initially while the more efficient and material-specific shaders get compiled asynchronously, and cached for future runs.
This means that on the first run materials may look a bit different for a second or two, but there should no longer be compilation lags. Please test this thoroughly and let us know how it performs on your projects.
Add NavigationServer with obstacle avoidance using RVO2 (GH-48395)
This adds support for obstacle avoidance using the RVO2 library, and navigation meshes can now be baked at runtime.
The backport was done while attempting to preserve API compatibility within reason, but the underlying behavior will change, mainly to provide a lot more features and flexibility. We expect that all users will happily move to the new NavigationServer, but please report issues if you see behavior changes for the worse when upgrading from 3.4.
Add push, pull, fetch and improved diff view to VCS UI (GH-53900)
What is it? A lot of new features for Version Control Systems (VCS) integration in the Godot editor, such as push, pull, and fetch operations, as well as a very nice diff view UI. All these features have been implemented in the official Git integration plugin. Watch the Releases page for upcoming testing builds of the Git plugin to use with 3.5 beta 1!
- Core: Add GradientTexture2D (GH-54824).
- Core: Allow pinning property values + Consistent property defaults (GH-52943).
- Core: Support deep comparison of Array and Dictionary (GH-42625).
- Networking: Add proxy support for HTTPClient and the editor (GH-55988).
- Rendering: Add
material_overlayproperty to MeshInstance (GH-50823).
- Rendering: Faster editor line drawing - Path2D and
- VisualShader: Add hints and default values to the uniform nodes (GH-56466).
- Windows: Improve console handling and
- This changes the editor console handling to be like on Unix systems (Linux and macOS). So Godot doesn't open with a console by default, but you can see console output if you start it from a console yourself. You can create a batch script or shortcut to automatically start Godot from a console as in previous releases.
- Windows: Implement limited surrogate pairs support (better UTF-8 support, emoji fonts) (GH-54625).
All these need to be thoroughly tested to ensure that they work as intended in the upcoming 3.5-stable.
There's no curated changelog just yet, I still have to skim through all commits to select the changelog worthy changes.
This release is built from commit b9b23d2226261e09d4eaa581c865920c00a826c7.
The downloads for this dev snapshot can be found directly on our repository:
- Standard build (GDScript, GDNative, VisualScript).
- Mono build (C# support + all the above). You need to have dotnet CLI or MSBuild installed to use the Mono build. Relevant parts of Mono 184.108.40.206 are included in this build.
As a tester, you are encouraged to open bug reports if you experience issues with 3.5 beta 1. Please check first the existing issues on GitHub, using the search function with relevant keywords, to ensure that the bug you experience is not known already.
In particular, any change that would cause a regression in your projects is very important to report (e.g. if something that worked fine in 3.4.x no longer works in 3.5 beta 1).
Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, and a handful of part or full-time developers, hired thanks to donations from the Godot community. A big thankyou to everyone who has contributed their time or financial support to the project!