Build your game from simple blocks
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.
Extend beyond features provided by the engine
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.
Create data-driven elements with custom resources
New in 4.0: 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 high-level API to store and read them, and they support every Godot type, including other resources.
Write code without hurdles with a high-level scripting language
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.
New in 4.0: 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.
Leverage your C# experience to feel right at home
If you're an experienced C# user, Godot offers you first-class support for the .NET platform. Power your game with familiar libraries and give them performance boost, while still benefiting from close engine integration.
Note: .NET support is provided as a dedicated engine executable.
Pick from a variety of community-supported languages
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.
New in 4.0: C++ supports comes officially in the form of GDExtension API, which gives you a way to script and program your game components for maximum performance without having to recompile the engine.
Modify the engine itself and integrate with 3rd party libraries
Thanks to the modular structure and a straightforward build process of Godot you can create your own engine modules. Gain every last drop of performance or integrate with many 3rd party libraries with low-level C++ code.
Support both high and low-end devices
Make beautiful 3D games for a range of devices, starting from desktop computers and ending with mid-range Android phones. Powered by OpenGL, Godot allows your projects to run on most modern GPUs, including integrated graphics.
New in 4.0: With the new Vulkan renderer and a set of modern graphical features, bring your worlds to life and harvest the power of gaming GPUs for your benefit.
Seamlessly integrate with your asset pipeline
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.
New in 4.0: Import Blender files directly for fast iterations or keep using familiar glTF and FBX formats.
Create animated videos and prerendered cutscenes in engine
New in 4.0: With the new 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.
Work with real 2D and pixel-based unit system
Thanks to a dedicated 2D pipeline you can forget about Z axis, and simplify your game logic. Think in pixels and screen coordinates, while the engine does the rest.
Save time creating 2D worlds with a tile map editor
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.
Master usability with a flexible GUI system
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!