Redot 26.3 Beta 1 is here!

The 26.3 Beta release for Redot is here! This is our biggest release yet, with new features, enhancements, and bugfixes. A lot of work into Redot 26.3, and it adds quite a bit, including three of the top five most requested features for Godot. (Structs, traits, and nullable static types.)

You can download Redot 26.3-beta 1 over on our releases page.

New Features

Worldscape3D

Worldscape 3D is a built-in terrain editor for 3D games, based on the Terrain 3D extension by Cory Petkovsek. Most of the work here was already done by OldDev78 in our one and only ReX release, but he still took the extra time to polish it for it’s debut in Redot.

3D Redot devs can now edit terrain directly in the engine without the need for addons or extensions.

Mode7Sprite2D and Manual Scroll for Parallax2D

The Mode7Sprite2D Node recreates SNES Mode7 effects in Redot, which gives 2D games the illusion of having 3D effects.

Manual Scroll allows devs to dynamically change the scroll effect of Parllax2D while the game is running.

You can see both of these features being used in the video above to achieve the nostalgic feeling of navigating an airship through the overworld of a 2D game.

Structs

Structs are a data type allow devs to group related variables of different data types under a single name. While this does sound like what dictionaries already do, structs differ by allowing you to use typed variables, which improves performance, and they don’t rely on strings like dictionaries do to access the data inside.

You can check out this example to see how you can use structs in Redot.

Traits

Traits represent a set of methods that can be used to extend the functionality of a class. Basically, this is a way for you to use code from one or more scripts, without having that class inherit from those scripts. It’s a very powerful feature focused on composition and reusable code.

You can view this example to see how traits work in Redot, and for a brief explanation on why they’re useful.

Nullable static types

This is a feature that allows a typed variable to hold a null value, which represents the absence of a value. This becomes very useful when you need to declare a variable in code and dynamically assign or remove values to it as the game is running.

For an example on how to declare and use nullable types in Redot, click here.

Full changelog

Below is the full 26.3 Beta 1 changelog, which contains many other things that were not highlighted above.

GDScript Enhancements

UI Changes

Editor Enhancements

2D Enhancements

3D Enhancements

Performance Enhancements

Networking Ehancements

General Enhancements

Rendering Enhancements

Bugs Squashed

As always, we’d like to thank our contributors, supporters, and anyone who chooses Redot to make games. Like I mentioned earlier, this is our biggest release yet, and we still have a lot more things planned for engine.

Want to contribute?

If you’d like to help contribute to Redot or Draconic, or would like an internship at Redot Foundation, send an email to [email protected]

If you’d like to help support development, you can go to redotfoundation.org and make a donation. Redot and Draconic are FOSS projects made by passionate devs in their free time, and every donation helps!