Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store editor version in project.godot #59975

Closed
wants to merge 1 commit into from

Conversation

Listwon
Copy link
Contributor

@Listwon Listwon commented Apr 7, 2022

Backward compatible/neutral soution for godotengine/godot-proposals#4355

Automatically adds current editor version right below the config_version in project.godot.

While it's true, that editor version in Godot 4.0 is appended to application/config/features, features were not backported to 3.x and I'm not sure if it is the right place for editor version anyway. It's not obvious that "4.0" in application/config/features array means editor version 4.0. Applying simple, universal and more human readable solution seems like a good first step to use it in future PRs (to show editor version in project manager, to warn the user about version difference).

Also storing version at the top prevents moving it up and down depending on the order and count of settings in other sections. It's more convenient from the perspective of reading the text file or comparing diffs in version control tool.

obraz

@Listwon Listwon requested a review from a team as a code owner April 7, 2022 09:14
@KoBeWi KoBeWi added enhancement topic:editor cherrypick:3.x Considered for cherry-picking into a future 3.x release labels Apr 7, 2022
@KoBeWi KoBeWi added this to the 4.0 milestone Apr 7, 2022
@Calinou Calinou removed the cherrypick:3.x Considered for cherry-picking into a future 3.x release label Apr 7, 2022
@Calinou
Copy link
Member

Calinou commented May 4, 2022

I think using VERSION_FULL_CONFIG would be better here, since it also lists the release status like stable. However, the .mono part at the end can be manually trimmed if it's found at the end of VERSION_FULL_CONFIG (since it's already listed in the features section of project.godot).

Export template version detection uses VERSION_FULL_CONFIG as a basis, so it makes sense to use this for project.godot as well.

@akien-mga
Copy link
Member

akien-mga commented May 4, 2022

I'm not sure storing the full version in project.godot is a good idea. It's very common to switch between versions in a given project, back and forth, and having it modify a file typically tracked in version control is IMO a hassle.

This belongs more to editor metadata IMO, so that it's in a folder which is not under version control and thus doesn't create unnecessary noise (at least if it's only written to provide info for e.g. the project manager or plugins).

@Listwon
Copy link
Contributor Author

Listwon commented May 5, 2022

@akien-mga I'm not sure if the comment about "belonging" is about the whole PR or just the full version, so I'll try to clarify this. In other engines (Unity/Unreal) editor version belongs to files tracked by version control by default.
There are multiple reasons for this:

  • bug fixes or known bugs in specific versions of the engines
  • breaking changes in API
  • changes in behavior of some logic (like changes in physics engine)
  • plugins compatibility (not only in terms of API differences, but also in terms of prebuilt binaries in some cases)
  • external tools compatibility
  • you know where to start trying to upgrade the project to newer version (in Unity I usually take smaller steps by upgrading to the latest minor version and then jumping to the next major version)
  • you know on which version the project broke because of some game engine bugs
  • it's useful for configuring CI/CD (you know just by looking at the config file, which engine version is the project compatible with)
  • when you share the project with someone (or you are just collaborating on game with larger team), you don't have to tell everyone which engine version they have to download; this is true also for projects from game jams, just knowing it's Godot is not enough in some cases

It's not a hassle, it's an essential part of the workflow (at least my workflow with projects made with Unity and Unreal, so I'm hoping for an improvement in Godot too).

And I agree that VERSION_FULL_CONFIG (that's what I proposed originally) would be better - more beneficial for work with MRPs for example. Please let me know if I should change this now or we are waiting for more comments.

@Listwon
Copy link
Contributor Author

Listwon commented May 5, 2022

I've just resolved the branch conflict, no other changes yet.

@aaronfranke
Copy link
Member

As noted here, this PR is obsolete, the editor version is now stored inside the project.godot file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants