whatisgithub

What is gdnative?

godot-rust/gdnative — explained in plain English

Analysis updated 2026-05-18

3,631RustAudience · developerComplexity · 4/5Setup · moderate

In one sentence

gdnative lets you write Rust game logic for Godot 3, but it is no longer maintained now that Godot 4 users have moved to the successor library gdext.

Mindmap

mindmap
  root((gdnative))
    What it does
      Rust bindings
      Godot 3 engine
      Replaces GDScript
      No longer maintained
    Tech stack
      Rust
      Godot 3
      GDNative
    Use cases
      Performance heavy logic
      Maintain legacy Godot 3 projects
      Async event handling
    Migration
      Godot 4 users
      Move to gdext

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Write performance-sensitive game logic in Rust and attach it to a Godot 3 scene like a regular script.

USE CASE 2

Maintain an existing Godot 3 project that already depends on gdnative bindings.

USE CASE 3

Use partial async support to let Rust code wait for game events without blocking the game loop.

What is it built with?

RustGodot 3GDNative

How does it compare?

godot-rust/gdnativemaplibre/martindathere/qsv
Stars3,6313,6343,640
LanguageRustRustRust
Setup difficultymoderatemoderateeasy
Complexity4/53/53/5
Audiencedeveloperdeveloperdata

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires a matching Godot 3 version, bindgen dependencies, and compiling the Rust code as a shared library.

No license terms are stated in the README excerpt.

So what is it?

This library lets you write code in Rust for games built with the Godot game engine, specifically the older Godot 3 version. Godot is a free, open-source tool for making 2D and 3D games. Normally you write game logic in Godot's built-in scripting language called GDScript, but this library lets you write that logic in Rust instead, then load it into Godot as a compiled plugin. The appeal is that Rust offers stronger safety guarantees and can run faster for performance-heavy code. Important context: this library is no longer actively developed. When Godot 4 was released in early 2023, the team shifted focus to a new library called gdext, which works with Godot 4's updated plugin system. If you are starting a new project today, the README recommends using gdext instead. This gdnative library remains available and stable for projects still on Godot 3, but no major new features are planned. For anyone still using Godot 3, the library supports versions 3.2 through 3.5.1, with the latest Godot 3 release working out of the box and older versions requiring a manual configuration step. It works by compiling your Rust code into a shared library file that Godot loads at runtime, then you can attach your Rust logic to objects in the game scene just like you would with a regular GDScript file. The repository includes a user guide, API documentation, and examples to help with setup. There is also partial support for async programming patterns if you need Rust code to wait for events without blocking the game loop.

Copy-paste prompts

Prompt 1
Show me how to add gdnative as a dependency in a Godot 3 Rust project and set the crate type correctly.
Prompt 2
Explain why gdnative is deprecated and what migrating to gdext for Godot 4 would involve.
Prompt 3
Write a simple Rust Native Class using gdnative that can be attached to a Godot 3 scene node.
Prompt 4
What Godot 3 versions does gdnative support out of the box versus requiring a custom build?

Frequently asked questions

What is gdnative?

gdnative lets you write Rust game logic for Godot 3, but it is no longer maintained now that Godot 4 users have moved to the successor library gdext.

What language is gdnative written in?

Mainly Rust. The stack also includes Rust, Godot 3, GDNative.

What license does gdnative use?

No license terms are stated in the README excerpt.

How hard is gdnative to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is gdnative for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.