百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
G

godot-go

> 编程语言
开源

Go 绑定,适用于 Godot 4.7 GDExtension API

731 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Go 绑定,适用于 Godot 4.7 GDExtension API


godot-go: Go bindings for Godot 4.7

Go bindings for the Godot Game Engine cross-platform game engine. godot-go integrates into Godot through the Godot GDExtension API through cgo.

The project is currently under heavy development. The API should be considered EXPERIMENTAL and is subject to change. The API is expected to become more stable as we get closer to a 1.0 release.

Current State of the Project

Here are some high level bullet points:

  • You must have a minimum of Godot 4.7.
  • The tests confirm basic functionality.
  • The bindings are more than likely leaking memory.
  • Not all variant types have been tested.
  • Go to godot-go-demo-projects to look at demo projects running a mix of godot-go and GDScript classes.

Getting Started

Requirements:

  • clang-format
  • gcc
  • go 1.25.x
  • goimport

Building Godot-Go

In order for godot-go to work correctly, you must make sure the godot_headers are in sync between your godot binary and godot-go. Development is built and tested off of Godot 4.7.

# Install go dependencies
make installdeps

# exports the latest gdextension_interface.h and extension_api.json from the godot binary
GODOT=/some_path/bin/godot make update_godot_headers_from_binary

# generates code for wrapping gdextension_interface.h and extension_api.json
make generate

# build godot-go
make build

Test

Once the project successfully builds, run the following commands to generate cached files for the test demo project for the first time (don't be concerned if it fails):

GODOT=/some_path/bin/godot make ci_gen_test_project_files

From here on out, you will just need to run the following command to iteratively test:

GODOT=/some_path/bin/godot make test

This will run the demo project in the test directory.

The expected output can be found in the CI logs.

Documentation

A living doc of godot-go is maintained at docs/overview.md.

Contact

I'm happy to help out anyone interested in the project. Please leave a message in the Discussion boards or you can add me (surgical#3758) as a friend on the Godot Engine Discord servers. I primarily frequent the gdnative-dev room.

References

  • Go 101 article on Type-Unsafe Pointers
  • Cheatsheet for cgo data type conversion
  • Cross compilation with cgo with xgo
  • vscode-go patch to support cgo
  • Check unsafe pointer conversion
  • Loading nativescript libraries with a godot server build requires manual modification to the library .tres.
  • Working with GDB Go extension

Credit

  • Inspiration for the project was taken from ShadowApex's earlier project: godot-go
  • Inspiration also from godot-cpp

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Gocgocgo-bindingsgame-developmentgamedev

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言