Skip to content

Conversation

@dsnopek
Copy link
Collaborator

@dsnopek dsnopek commented Jan 15, 2026

This PR attempts to update the README for the versioning and compatibility situation coming in godot-cpp v10, as well as remove some of the older information that is no longer quite so useful (like the bits explaining how GDExtension is different than GDNative).

There's one piece of information which isn't true yet:

If you don't provide api_version or custom_api_file, then, by default, godot-cpp will
target the latest stable Godot version that it's aware of.

Right now, on master, it'll build for Godot 4.6 by default, which is consistent with how we did things in the past. However, as I was writing the README and attempting to explain this, I think it would actually be nicer for users if we defaulted to the latest stable version. This would allow folks to use godot-cpp master without us getting support issues about it not working with the current stable.

So, either, we can wait until Godot 4.6 releases, at which point what I wrote here will suddenly become true. :-) Or, I could make a PR now that defaults to 4.5, and requires folks to explicitly opt into to 4.6 support. I'm leaning towards the former, given that we could be less than a week away from Godot 4.6 stable releasing.

@dsnopek dsnopek added this to the 10.x milestone Jan 15, 2026
@dsnopek dsnopek requested a review from a team as a code owner January 15, 2026 15:27
@dsnopek dsnopek added enhancement This is an enhancement on the current functionality documentation labels Jan 15, 2026
@dsnopek dsnopek requested a review from Ivorforce January 15, 2026 15:27
Comment on lines +43 to +52
```
scons api_version=4.3
```

... or by providing a custom `extension_api.json` generated by the Godot version you are
targeting:

```
godot --dump-extension-api
scons custom_api_file=extension_api.json
```

If you don't provide `api_version` or `custom_api_file`, then, by default, godot-cpp will
target the latest stable Godot version that it's aware of.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this rather material for the docs?

The distinction is hard to make, but I'd say as long as master builds against the latest "stable version" (4.5 / 4.6 in a few weeks), we don't need to explain changing versions in detail here.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, in general, I'd like to have less information here and rely more on the docs.

But, given that we've spent so much time training people to think "godot-cpp compatibility works by choosing the right branch/tag", I'd like to have something about how compatibility works now in the README. I suspect folks are going to start asking us about this a bunch after Godot 4.6 and godot-cpp v10 are released, and having it here may help some people before they do

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mhm, makes sense. We should definitely also link to the corresponding info in the docs, once we have that.

@dsnopek dsnopek force-pushed the v10-readme-updates branch from f3a120e to d68d29c Compare January 16, 2026 13:00
Copy link
Member

@Ivorforce Ivorforce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@dsnopek dsnopek force-pushed the v10-readme-updates branch from d68d29c to 6e47919 Compare January 16, 2026 13:25
@dsnopek dsnopek merged commit d9eab9e into godotengine:master Jan 16, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation enhancement This is an enhancement on the current functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants