Long time no see, Godot 3.5! While our development focus since Godot 4.0 in March has been to release new 4.x versions at a steady pace (with Godot 4.1 in July, and Godot 4.2 scheduled for November), we’re not forgetting about users who are still using Godot 3.5.
Everyone seemed pretty happy with the 3.5.2 release. In the 6 months since the 3.5.2 release, hundreds of games have been released with this version. But there are still a number of issues that are worth addressing in that branch, including notably some improvements for platform support such as targeting Android 13 by default. Also, we’re still working on the upcoming Godot 3.6 feature release, which should soon reach the release candidate stage.
This is a safe and recommended update for all Godot 3.5.x users. It should have no major impact on your projects, even complex ones in production, if you’re already using 3.5.2-stable.
The illustration picture is from Hauma, a deduction visual novel with a noir story set in Munich. It was developed in Godot 3.5 by SenAm Games and published by Assemble Entertainment. It was released on Steam a couple of weeks ago, so you can play it right now and enjoy this deep story with a gorgeous comic-inspired art direction.
See the curated changelog for a selection of some of the main changes since Godot 3.5.2. We now also have a great interactive changelog you can use to review the changes since the previous release, with convenient links to the relevant PRs on GitHub.
Here are the main changes since 3.5.2-stable:
- 2D: TileSet: Fix resizing collision shape when vertex is outside the tilesheet (GH-73218).
- 2D: Notify child controls when
BackBufferCopy’s rect changed (GH-74282).
- 2D: Fix AnimatedSprite normal map loading (GH-80406).
- 2D: Fix TouchScreenButton not redrawn when texture changes (GH-81100).
- Audio: Fix AudioEffectRecord circular reference (GH-74986).
- Audio: Add mono audio support to WASAPI (GH-76541).
- Audio: Fix trim when importing WAV (GH-78048).
- Buildsystem: Linux: Build
JoypadLinuxsandbox detection method only with udev (GH-77458).
- Buildsystem: macOS: Change target version to 11.0+ to fix PCRE SLJIT build (GH-82007).
- Buildsystem: macOS: Workaround Xcode 15 linker bug (GH-82009).
- Buildsystem: Web: Workaround Emscripten 3.1.42+ LTO regression (GH-81340).
- Buildsystem: Windows: Make misbehaving MSVC incremental linking opt-in (GH-80482, GH-81144).
- Core: Include the follow-viewport-transform into CanvasLayer transform calculations (GH-70310).
- Core: Fix moving position indicator out of bounds in FileAccessMemory (GH-75641).
- Core: Fix size error in
- Core: Fix infinite loop on EOF in the command line debugger (GH-80400).
- Core: Add recursion level check for
- Core: Add recursion level check for
- Core: Add check to ensure registered classes are declared (GH-81117).
- Editor: Fix TextEdit
- Editor: Fix inconsistent file dialog settings usage (GH-76423).
- GDScript: GDScriptParser: Don’t use index operator on linked list (GH-74782).
- GDScript: Suggest
class_namein autocompletion (GH-76346).
- GUI: Fix scrolling behavior with zero/low page value (GH-67910).
- GUI: Fix
GridContainermax row/column calculations not skipping hidden children (GH-76833).
- GUI: Make
Buttonupdate on texture change (GH-81113).
- GUI: Fix cursor after last character INDEX in line counting as a character outside of the viewing area (GH-81352).
- Import: Bounds fixes in
- Multiplayer: Net/ENet: Better handle truncated socket messages (GH-79704).
- Navigation: Fix GridMap free navigation RID error spam (GH-74895).
- Porting: Android: Implement file provider capabilities (GH-72496).
- Porting: Android: Fix directory access when the running app has the
All files accesspermission (GH-75147).
- Porting: Android: Bump the target SDK version to 33 (Android 13) (GH-75205).
- Porting: Android: Fix null in text entry system (GH-75992).
- Porting: iOS: Fix splash screen rotation (GH-76037).
- Porting: Linux: Don’t use udev for joypad hotloading when running in a sandbox (GH-76962).
- Porting: Linux: Use current keyboard layout in
- Porting: Linux: Ensure
joy_connection_changedis emitted on the main thread (GH-80432).
- Porting: macOS: Disable live resize in multithreaded rendering mode (GH-81442).
- Porting: UWP: Add support for repackaging the generated UWP APPX file with
- Porting: Windows: Added a few device GUIDs to
is_xinput_devicefixing controller problems (GH-78043).
- Porting: Windows: Fix StringFileInfo structure (GH-76001).
- Rendering: Fix shadows when using 2 directional lights (GH-74539).
- Thirdparty: libwebp 1.3.2, mbedtls 2.28.4, tinyexr 1.0.7, CA certificates from June 2023, SDL GameControllerDB from 2023-09-23.
- API documentation updates.
As of now, there are no known incompatibilities with the previous Godot 3.5.x releases. We encourage all users to upgrade to 3.5.3.
If you experience any unexpected behavior change in your projects after upgrading to 3.5.3, please file an issue on GitHub.
Godot is a non-profit, open source game engine developed by hundreds of contributors on their free time, as well as a handful of part or full-time developers hired thanks to generous donations from the Godot community. A big thank you to everyone who has contributed their time or their financial support to the project!
If you’d like to support the project financially and help us secure our future hires, you can do so using the Godot Development Fund platform managed by Godot Foundation. There are also several alternative ways to donate which you may find more suitable.