--- permalink: /features/index.html title: "Features" description: "Discover what Godot has to offer for 2D and 3D game development." layout: default --- {% include header.html %}
A picture is worth a thousand words, and these developers have chosen Godot for their projects:
Use building blocks called nodes to create more complex and reusable scenes. Add scripts to your scenes and customize built-in behavior to implement your unique game mechanics. Rely on composition and node hierarchy to make game logic clear at a glance.
Make your scenes into full-featured components, with tools for your designers to tweak and adjust the look and function. Share your components with the community of like-minded developers as addons and templates.
Define scriptable objects called resources to describe characters, entities, and data structures in your game. Use your custom objects directly in the editor by assigning them to nodes. Resources come with a high-level API to store and read them, and they support every Godot type, including other resources.
Get things done quickly with Godot's built-in scripting language GDScript.
Inspired by Python and other languages, it is easy to pick up even if you
are a beginner. Tight engine integration allows it to express game logic
in a clear and natural form.
GDScript offers optional static typing support,
boosting your coding efficiency and runtime performance. Powerful language
features and first-class functions allow for expressive yet concise code.
If you're an experienced C# user, Godot offers you first-class support
for the .NET platform. Power your games with familiar libraries and give
them a performance boost, while still benefiting from close engine integration.
Note: .NET support is provided as a dedicated engine executable.
C# support is available for desktop and mobile platforms as of Godot 4.2.
Web support should be added in the future, but until then,
Godot 3 remains a supported option.
Godot is built to be extended, and that means you can choose
a programming language not provided by the Godot team itself.
Thanks to our community there are many language bindings for
popular tools like Rust, Nim, Python, and JavaScript.
C⁠+⁠+ support comes officially in the form of
the GDExtension API, which gives you a way to script and program your game
components for maximum performance without having to recompile the engine.
Thanks to the modular structure and straightforward build process of Godot you can create your own engine modules. Gain every last drop of performance or integrate with many third-party libraries with low-level C⁠+⁠+ code.
Make beautiful 3D games for a range of devices,
from powerful desktop computers to mid-range Android
phones. Powered by OpenGL, Godot allows your projects
to run on most modern GPUs, including integrated graphics.
With the Vulkan, Direct3D 12, and Metal renderers,
and a set of modern graphical features, bring your worlds
to life and harvest the power of gaming GPUs for your
benefit.
Bring your 3D models into your game world with a robust
importing pipeline. Take entire scenes — with animated models,
lighting, cameras, and physics objects — and customize how
the engine views them. Modify your assets and see changes
in the engine immediately.
Import Blender files directly
for fast iterations or use familiar glTF and FBX formats.
With the Movie Maker mode, you can record gameplay and scripted scenes from your project at a stable framerate and guaranteed simulation speed. Together with Godot's animation capabilities, make the most out of the engine's visuals.
Thanks to a dedicated 2D pipeline, you can forget about the Z-axis, and simplify your game logic. Think in pixels and screen coordinates, while the engine does the rest.
Whether you want procedural generation or a meticulously hand-crafted level, with Godot's built-in tile map editor you can achieve every goal. Import a sprite and convert it into a database of building blocks for your 2D worlds.
Build scalable and adaptive user interfaces with Godot's unique
GUI system. Created specifically to power layouts common to games,
it is also capable of handling complex UI applications and tools.
For an example of what Godot's UI system is capable of, see the Godot editor itself!
Watch our annual showreel videos to see more examples of projects using Godot!
{% include showreel-shelf.html %}Develop and publish your project on any modern desktop platform. Let everyone play your game by deploying to web and mobile. Make your game handle various forms of inputs and share the same project between every platform.
Iterate on real hardware, or with an emulator, by deploying your game directly to the target device over SSH. Run any project on a mobile device, on another desktop, or on your favorite Linux-based handheld with full debug and inspect capabilities.
If you want to release to a console, you can find several
third-party publishers which specialize in that. Godot games
can run on any modern hardware, so all you need to worry about
is your performance and controls.
Read more about console support in Godot.
Godot is free under the MIT license. This means you don't owe us anything (other than a friendly mention), and can do with your project or even the engine itself whatever you want. Build your game or build your own engine on top of it — it's all in your hands.
No need to wait for a support team to respond when you can read
the source code. Godot is an open book, and you can figure out everything
that is not yet documented after a single git checkout.
If you find and fix an issue, we will appreciate a PR upstream too.