Welcome to the first release candidate of what will shortly become Godot 3.1.1-stable. After the release of 3.1-stable about a month and a half ago we didn’t sit on our laurels. No sirre, not at all! Many bugs were fixed, improvements made, and documentation was written.

With the -stable releases we offer you the backwards compatible changes and bugfixes. However in this release we had to break some compatibility with networking due to a security issue. See below for details.

Please test this release with your existing projects and as usual: Any breakage of existing projects after upgrading is a bug, unless noted in the Known incompatibilities section of this blog post. If we somehow missed something please report a bug.

I invite you, dear reader, to take a moment to close your eyes and silently thank all of the awesome people who helped make this release a reality. If you too would like to be thanked by a multitude of Internet people join us in fixing bugs, writing documentation, and/or reporting bugs!


And many more small quality of life improvements and bugfixes. See the full changelog below for details. The 3.1-stable release blog post will also have some more details about changes made.

See the changes between 3.1-stable and 3.1.1-rc1. This RC is built from commit 39f1a11.


As always, you will find the binaries for your platform on our mirrors:

Known incompatibilities

Below we describe the known incompatibilities with previous releases in this cycle.

Known incompatibilities with Godot 3.1

  • Due to a security fix the GDNative ABI has changed. If you use GDNative modules in your project they will need to be rebuilt from source.
  • Godot no longer automatically decodes Objects when using high level multiplayer. If you do want your client or server to do this it is now necessary to explicitly allow it. See this PR for details.
  • Previously on Android OS.get_unique_id() would return the static value for Secure.ANDROID_ID. This was a bug and now an actually unique ID is returned. If you were using the unique ID for encryption purposes you must now also check the original static value or your users may lose access to any encrypted (save) data.

Known bugs in Godot 3.1.1 RC 1

  • Documentation hyperlinks not working properly [GH-27983]
  • Button layout changed compared to 3.1.0-stable [GH-28335]