Godot ( GOD-oh, gə-DOH, or GOH-dot) is an open source game engine released under the MIT License. It was initially developed in Buenos Aires by Argentine software developers Juan Linietsky and Ariel Manzur for several companies in Latin America prior to its public release in 2014. The development environment runs on many platforms, and can export to several more. It is designed to create both 2D and 3D games targeting PC, mobile, web, consoles, and virtual, augmented, and mixed reality platforms, and can also be used to develop non-game software.
Features Godot allows video game developers to create both 3D and 2D games using multiple programming languages, such as C++, C#, and GDScript. With the support of GDExtensions, developers can integrate external libraries into their projects or create bindings to their programming language of choice. It makes use of a hierarchy of nodes to facilitate the development experience. Classes can be derived from a node type to create more specialized node types that inherit behavior. Nodes are organized inside of "scenes", which are reusable, instantiable, inheritable, and nestable groups of nodes. Nodes are connected by signals, which can transmit data objects. All game resources, including scripts and graphical assets, are saved as part of the computer's file system (rather than in a database). This storage solution is intended to facilitate collaboration between game development teams using software version control systems. The engine enables developers to create both 2D and 3D games across desktop, mobile, browser, and console platforms without licensing fees. The engine has received updates such as a path-tracing renderer for 3D graphics, improving its capabilities for realistic rendering. It has cross-platform deployment, and virtual reality integration.
Supported platforms The engine supports deployment to multiple platforms and allows specification of texture compression and resolution settings for each platform. The website provides binaries only for the editor platforms, and exporting projects to other platforms is done within the Godot editor. The Godot editor, used for creating Godot games, supports the following platforms:
Desktop platforms Linux, macOS, Windows distributed on the Godot website, on Steam, on Epic, and on Itch. Web platform HTML5, WebAssembly with the web editor. Android phones and tablets (available as of Godot 3.6+ and 4.3+). Some Android-based virtual reality platforms, with an official release for recent Meta Quest headsets and alpha builds for PICO 4 devices. A port of the Godot editor called Xogot runs on iPadOS. The created games can be exported to run on the following platforms:
Desktop platforms Linux, macOS, Windows Mobile platforms Android, iOS Web platform HTML5, WebAssembly (C# not available for the web yet) Virtual reality and augmented reality platforms, including HTC Vive, Valve Index, Oculus Rift, Oculus Go, Oculus/Meta Quest, all Windows Mixed Reality headsets, Apple ARKit. The Godot engine can be run on consoles, although popular consoles are not officially supported since it is not compatible with the engine's open-source license. Games can be ported to consoles through third-party companies, including W4 Games, a commercial company founded by Godot coders. For CPU architectures, Godot officially supports x86 on all desktop platforms (both 32-bit and 64-bit where available) and has official ARM support on macOS, Linux, mobile platforms, and standalone Meta platforms (both 32-bit and 64-bit where available). Godot also supports a mobile XR port for Meta Quest devices running Horizon OS, allowing developers to create immersive applications directly on the headset without the use of a traditional computer.
Scripting
Godot supports a variety of programming languages for making games, including the integrated language GDScript, C++ and C#. Additionally, the engine includes GDNative (GDExtension as of Godot 4.x), a facility for creating bindings with other languages. Officially-supported GDNative/GDExtension languages include C and C++. Community-supported languages include Rust, Nim, Swift, and JavaScript. Visual coding was originally supported by the built-in language VisualScript, designed to be a visual equivalent to GDScript. VisualScript was removed from the core engine in Godot 4.0. Godot games running in the browser can interface with the browser's JavaScript code. The Godot editor includes a text editor with auto indentation, syntax highlighting and code completion and folding. It also features a debugger with the ability to set breakpoints and program stepping.
GDScript
Godot has its own built-in scripting language, GDScript, a high-level, gradually typed programming language which is syntactically similar to Python. Unlike Python, GDScript is optimized for Godot's scene-based architecture and can specify strict typing of variables. Godot's developers have stated that many alternative third-party scripting languages such as Lua, Python, and Squirrel were tested before deciding that using a custom language allowed for superior optimization and editor integration. GDScript is a continuously evolving scripting language, and changes and additions to it have been implemented for each major new release of Godot. Typed arrays and typed dictionaries were added in 4.0 and 4.4 respectively. The optional static types allow the C++ back end to apply optimizations that result in notably increased performance; statically typed GDScript has been observed to run more than 40% faster in release builds. A simple "Hello world" program can be written like so:
A simple variable with either dynamic or static typing can be written as:
And a constant can be written as:
An example of a more complex program that generates the Fibonacci sequence is:
… excerpt ends here. Continue reading the full article.




