Godot is licensed under the MIT license. Games developed using it are free of royalty, revenue share and disclosure that it was used. The engine’s own source is also unencumbered — a studio can fork it, tweak the internals for one project, and ship it without publishing the changes.
It was written by Juan Linietsky and Ariel Manzur as an in-house engine for OKAM Studio, and was used to produce work-for-hire titles prior to its release on GitHub in 2014.
EVERYTHING IS A NODE, AND EVERY GROUP OF NODES IS A SCENE
One idea drives the rest of the engine. A node is one object that has one job, such as a sprite, collision shape, physics body, audio player, timer, camera. Those jobs are covered by hundreds of node types. A scene is created by arranging nodes in a tree.
What a scene can then do is what matters: it instances inside another scene as if it were a single node. A player character is a scene. When dropped in a level scene, it acts as a single object. Once the player scene is changed, all instances are updated across all levels. No prefab, no blueprint, no entity template — it is the same structure that serves as the game object, the level, the UI screen, and the entire project.
The data side is carried by resources. A resource is a scriptable object that represents a character, a weapon or any structure that is saved to disk and attached to nodes in the editor. Resources can contain every Godot type, including other resources.
The editor is built from the UI nodes of the engine itself. The UI toolkit is used for more than game menus, as evidenced by the control system that lays out a health bar in a game also laying out the editor’s docks and inspector.
WRITING THE LOGIC
The built-in language is GDScript, which is based on Python and is tightly coupled with the engine’s types and node paths. Static typing is not required, but type hints are helpful for editor completion and for runtime performance. For those who prefer it, C# is available as an alternative, and C++ is attached via GDExtension for code that must run at native speed. Community no-code plugins cover basic gameplay without written code.
2D IS NOT A FLATTENED 3D SCENE
Many engines create 2D by freezing one axis of a 3D scene. Godot uses a separate 2D engine that works in pixel units instead of converted world units, eliminating rounding artefacts caused by converting to pixel units. The 2D side has its own tilemap editor, physics and lighting system, not 3D versions of these.
The 3D renderer is based on Vulkan, and there is a compatibility renderer for older hardware and for web export.
XR
OpenXR and WebXR are not plugins, but are built into the engine. The supported OpenXR extensions include hand tracking, body tracking, and spatial understanding APIs such as scene discovery and spatial entities. The first-party XR Tools addon provides locomotion, teleportation, and object interaction as pre-made examples. Other XR SDKs are available via community plugins.
EXPORT TARGETS
One project is exported to Windows, macOS, Linux, Android, iOS and the web using HTML5. Input handling supports the various formats each platform provides, and the same project source is used for all.
There is no paid support tier answering tickets on a schedule; support is provided through documentation and the community, which is something to consider if your team needs a guaranteed response when a build blocks.





