After more than three years of work, the Godot development team finally releases what it seems like an almost brand-new game engine!

To present us with this release the engine has been through a complete core overhaul, a full engine rewrite, 17 alphas, 17 betas and 6 release candidates!

As per the authors, this new version is the biggest release to date and the longest in the making. Godot 4.0 is more of a great rebuild than a regular update. Some standout features of this massive new release include the new Vulkan renderer for high performance 3D graphics, powerful new 2D level-editing tools and a new movie maker mode.

Godot 4.0 is now available for download on the engine's website with the usual options: The regular version and the one with C# programming language support, now using .NET 6.

Download Godot 4.0

Because this release presents us with an almost exhausting list of both new and improved features, we tried to summarize most (but not all) of them below:

3D game development

The Godot 4.0 3D Editor
  • A new Vulcan based rendering engine for mid and high-end devices.
  • New global illumination technologies for interiors and outdoor environments.
  • New real-time technique designed to easily light open environments even on mid range hardware (SDFGI).
  • For small and medium environments, the new Voxel GI node provides high-quality real-time global illumination and works especially well for interiors.
  • Faster lightmap baking by unleashing the graphics card capabilities.
  • Much better looking shadows and added control to balance performance and quality.
  • A new screen space ambient occlusion algorithm offers both higher quality and better performance.
  • SSIL (Screen Space Indirect Lighting) enhances dark areas and indirect lighting with global illumination.
  • Physical light units are now available to use standard camera settings to control brightness.
  • A new powerful algorithm can now automatically do occlusion culling.
  • Automatic generation of mesh LODs or manual HLODs with full control of visibility ranges.
  • AMD Fidelity FX Super Resolution (FSR) 1.0 support

2D game development

A game being developed in Godot featuring 2D lighting
  • The new tileset and tilemap editor adds a complete and highly versatile level editing program to the engine.
  • A new canvas group node allows the combination of multiple sprites to be rendered as a single image.
  • The new clip children property provides the ability to use any 2D element as a mask.
  • New directional 2D lighting and shadows.
  • Control of light elevation when using normal maps to add depth to 2D graphics for a 3D feel.
  • Improved performance when using multiple light sources.
  • New 2D Multisample Anti-aliasing for improved image quality.

Visual effects

A 3D usage example of the volumetric fog feature in Godot 4.0
  • New volumetric fog and hand placed fog volumes to enhance scenes globally or in specific areas.
  • Sky shaders allow to dynamically affect scene lighting with custom effects. They also affect volumetric fog.
  • Decals. Project materials on other surfaces for greater visual variety.
  • Improved GPU based particles, now with support for attractors, collisions and creating trails that can interact with the game world.
  • Updated shader language with support for structs, uniform arrays, fragment-to-light varyings, preprocessor macros and shader includes.
  • Sharing of global values across materials is now possible.
  • The visual shader editor now looks and feels nicer.
  • New noise texture generation options, useful for shaders and procedural content generation.
  • Added compute shaders. These special shaders allow for the acceleration of some algorithms by using the graphics card.

Scripting

A screenshot of the new script editor in Godot 4.0
  • Greater GDScript performance especially when using types.
  • A more robust typing system: Type arrays, less use of strings and no more cyclic dependency errors.
  • Improved error reporting. The compiler can now report many errors simultaneously.
  • Added more explicit error messages and new warnings for common mistakes.
  • Functions and signals are now first-class making it possible to directly reference them.
  • Added function literals, also known as lambdas.
  • Automatic generation of documentation pages from code comments. Write helpful comments and the engine will add them to the built-in code reference saving time and effort by eliminating the need to write separate documentation outside of the codebase.
  • Name variables and functions using characters from non-latin alphabets such as Japanese, Chinese or Hindi.
  • New map, filter and reduce methods on arrays.
  • New setters and getters.
  • Improvements to the C# integration including support for modern C# features and .NET (Godot now uses .NET 6 instead of the Mono runtime).
  • Type support has been improved with the introduction of the engine's Variant type making types more focused throughout the API.
  • Signals are now accessible using the C# event syntax. It is also possible to use C# lambdas with the Godot's API.
  • Improved performance and error reporting by using source code generation at compile time instead of runtime code reflection to call engine functions.

Physics

A picture displaying balls falling to demonstrate Godot 4.0 physics engine
  • Godot's physics now support cylinders, heightmaps, and soft body shapes.
  • The physics engine now supports multi-threading for improved performance.
  • Simplified physics node system: The new CharacterBody (formerly KinematicBody) has much clearer functions and properties resulting in shorter and simpler code.
  • The physics layers and masks work more intuitively. Everything is generally easier to learn and use.

Performance

  • Rewritten engine core with a cleaner code and automated testing. This rewrite sets the necessary foundations to add features and push the technology moving forward.
  • Improved performance measurement tools such as the new visual profiler to measure graphics rendering performance.
  • GDExtension, the successor of GDNative makes it possible to use languages like C, C++ or Rust for maximum performance without having to recompile the engine. Compared to the previous technology GDNative, GDExtension has tighter integration with the editor and almost as much control as when creating engine plugins.

UI and Text

An example of a multiple window setup using the Godot game engine
  • It is now possible to create apps with multiple windows.
  • Major improvements to text rendering: Font collections and open type variable fonts allow users to pack many font variations in a single file like bold, italics or fonts with different weights. Open type features bring you text ligatures and improve support for languages like Chinese, Japanese and Korean.
  • Added control over text with wrapping and trimming options. These editor features can be used in your own apps.
  • New multichannel signed distance field oversampling for crisp text at any resolution.
  • Much more intuitive editing options for user interface nodes, which makes interface creation clearer and easier.
  • A simplified inspector now filters properties that matter depending on your selection.
  • A new visual widget for picking layout options can quickly resize selected UI components.
  • Installed fonts can now be used by listing their names in the editor.
  • Font size can now be set on each label.
  • The engine now offers advanced localization features such as bidirectional text for Arabic, Farsi and more.
  • For translations the editor can now generate Portable Object Template (POT) translation files directly from the project's scenes and scripts. It makes it easy for translators to work with the game's content and produce complete translations.
  • Support for plurals, to write words properly depending on the quantity.

Editor

The Godot 4.0 Editor Window showing a 3D scene
  • A new import window adds finer control over imported 2D and 3D assets. File imports are also much faster as they now support multi-threading.
  • Custom resource types can now be exported from scripts and directly reference nodes in the inspector.
  • More stable changes to scenes now result in fewer merge conflicts when using version control systems.
  • New editing experience for arrays, dictionaries and complex resources in the inspector, complete with pagination.
  • From scripts, annotations can now be used to draw sections and organise properties in the inspector.
  • The editor theme was thoroughly tweaked to look more modern and easier on the eyes.
  • The new history dock shows the undo and redo history and allows you to jump to any step very quickly. The undo history now works per-scene, so pressing ctrl-z will stick to the active scene.
  • The scene dock offers new ways to search and filter nodes quickly.
  • New color pickers were added with different picker shapes, color modes and the ability to quickly update a project's color palette.
  • The script editor has greatly improved syntax highlighting, font ligatures for nicer text and multiple cursor support. New icons indicate whether a function is being overridden. Clicking it makes it jump to the parent implementation or the documentation if it's a built-in function.
  • It is now possible to edit various text-based data files in the script editor such as JSON, YAML and other text files.
  • Multiple nodes can now be marked as unique in the scene at once. This allows the access to nodes in scripts without writing their full paths. Additionally they’re cached, as such performance is improved.
  • Everything can now be dragged and dropped to the script editor. Control-click and drag multiple nodes to create on-ready variables or just click and drag nodes or files onto the script editor to get their path.
  • There's a convenient new widget to test lighting and sky settings in 3D allowing you to quickly add a sunlight and basic environment settings to scenes.
  • The new movie maker mode allows the rendering of scenes frame by frame, at the maximum quality settings, to make videos or trailer footage using the engine. Godot can render frames to a compressed AVI video or as a sequence of PNG images for lossless rendering.

AI Navigation

Usage example of Godot 4 navigation links
  • A new powerful and more efficient real-time pathfinding and navigation system as been added with support for moving obstacles. 
  • It is now possible to rebake navigation meshes at runtime to dynamically open and close parts of a level.
  • Using the new navigation link nodes, AI agents can now cross over gaps, walk over moving platforms, climb ladders and more.

Extended reality (XR)

  • OpenXR is now embedded in the engine's core. It provides support for all major PC headsets that work through SteamVR on Windows and Linux, the oculus on Windows and Monado on Linux.
  • Added support for WebXR to make extended reality games and applications that run in web browsers. It also now implements OpenXR action maps which are a necessary input mapping system specific to extended reality.
  • Godot now officially provides a library of time-saving components to move around in virtual reality, display hands that synchronize with the player’s controllers, grab objects, and much more. It's called Godot XR tools and it makes it really fast to prototype VR games in Godot. You can start from the official project template, add components from the library and it just works.

Multiplayer and Networking

  • The remote procedure calls (RPC) API has been simplified and got added performance.
  • No code scene replication is now available out of the box, making it easier to create multiplayer games in some scenarios.
  • Godot can be run headless to test server code on any computer making the development process more efficient. Headless builds with placeholder assets are also available. They can greatly reduce memory and processing footprint for server builds.
  • This release includes many requested networking features, like setting timeouts and limiting network bandwidth.

Audio

  • The audio engine has been cleaned up to eliminate unwanted popping sounds and artefacts.
  • Audio tracks now automatically blend when using animation trees, allowing the use of audio playback tracks in animation trees. It is now possible to play and stack the same sound from a single audio node.
  • New import options were added to set the looping points of music with BPM aware trimming.
  • New text-to-speech functions can now be used for accessibility purposes.

Animation

The Godot 4.0 Editor showing the animation retargeting feature
  • Godot 4 brings animation re-targeting for 3D characters. It allows the reuse of animations even when characters have different proportions, making it possible to use animations from online libraries like Mixamo.
  • On the editor it's now possible to switch between rotation modes and change the rotation axis order for fine control over object rotations.
  • The animation graph editor interface got a facelift. Select and edit multiple curves simultaneously, hide individual tracks, and more.
  • Animations used to be stored as individual resources or in animation player nodes. Godot 4 uses animation libraries instead, to reuse animations more efficiently throughout projects.
  • Animations now support compression, which makes disk and memory usage five to ten times smaller.
  • Position, rotation, and scale are now separate properties on skeletons instead of being combined into a single transform animation track.
  • The animation blending system got a rewrite. It is now much more predictable, leading to nicer looking animation transitions. 
  • The animation tree editor got many improvements to set up advanced animation graphs. The sync property can be used with blend spaces and node transitions. Use curves in node transitions and state machine crossfades to fine-tune the animation blending.
  • One-shot transition and state machine nodes can now restart animations easily.
  • Animation state machines can now teleport to any unreachable state providing more code freedom.
  • Expressions can be written in animation state machines to define advanced transition conditions. 
  • The old tween node has been replaced with a new tween system. It no longer uses nodes and its functions were redesigned, making tween animation much easier and faster to set up.
Blips Game Music Packs

Note: You're leaving the Blips Blog. The visited links may be subject to different privacy and cookie policies.