-
-
Notifications
You must be signed in to change notification settings - Fork 21.6k
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
Local development NuGet package not updating - probable documentation issue surrounding GodotNuGetFallbackFolder and GODOT_VERSION_STATUS #77264
Comments
GODOT_VERSION_STATUS is an environment variable. This is how we read it: Lines 96 to 97 in 809a982
In version If the GODOT_VERSION_STATUS environment variable is not defined, it uses the status from
According to the file paths documentation, the path for editor data in macOS is Users that build the engine from source should keep in mind that the NuGet packages are only copied to this folder when a package with the same version doesn't already exist. Since building from source usually means building the same version multiple times, this means that the package will only be copied the first time so make sure to clear this folder. This folder has been deprecated in 4.1 (see #73984) but your NuGet configuration may still use it as an additional source so make sure to clear it anyway.
This depends on your NuGet configuration. If you have a The NuGet configuration specifies which sources to use to retrieve packages, you probably have this configured to use nuget.org and your custom local source where you are pushing the Godot packages after building them with Since in 4.0 we were using the GodotNuGetFallbackFolder, we also add a configuration file in
I'm not a macOS user, but I think I've heard that macOS may not allow reading from the user's environment variables under certain circumstances so maybe that's what's happening here. If you need to change the status try modifying the |
Thank you, changing the GODOT_VERSION_STATUS in the version.py file and in my csproj file fixed it. I do have the I think this part needs to be added to the official documentation:
As well as a section describing how to change the GodotSharp version referenced by the csproj file (it's obvious if you open up the csproj, but if you don't, you wouldn't know). Another thing that almost tripped me up on the csproj reference - I think the GodotSharp version has to match what appears in the local NuGet package source, but that's not necessarily the same as what you set in the version.py file. I set GODOT_VERSION_STATUS to |
I think opening the project in Godot updates the csproj automatically. But yes, it's probably good to mention it.
Oh yeah, sorry I forgot to mention. When Godot releases Beta 1, Beta 2, RC 5, the version doesn't separate the number from the status name ( |
Godot version
4.0.3
System information
macOS 13.3.1
Issue description
I'm trying to convert my Godot 3 project to Godot 4. I use a custom build of Godot with GodotSteam, mono/.NET enabled and a few other tweaks. The only tweak I've made at the present is an extra argument to the MoveAndSlide method. The project itself is in C#.
I've been following the Compiling with .NET documentation page, and it went perfectly the first time. Built the editor, opened the project, no problems. Then I went to make a change to the editor (added the extra argument to the MoveAndSlide method). Built again, no problem. But now when I build the project, I get an error indicating my change to the editor wasn't applied (the build error indicates that there are no arguments to MoveAndSlide - as if my change wasn't applied).
I am sure I built correctly. I commented out some code and used reflection to investigate the GodotSharp assembly my project links to at run time, and it links to the correct version of GodotSharp with the argument I added to MoveAndSlide. This is a compile time problem, not a link time problem.
I saw the documentation had some information about how GodotSharp is distributed through a NuGet package, and how it uses a local NuGet package for local development, including this note:
This is almost certainly my problem, but the note isn't helpful enough to fix it. What is GODOT_VERSION_STATUS? Where is the GodotNuGetFallbackFolder (I searched my computer and couldn't find it)?
I tried setting GODOT_VERSION_STATUS as an environment variable to "abcde1" and built again, but that didn't appear to do anything. It did update the NuGet packages in my local NuGet package source, but they still show as 4.0.3-rc, not 4.0.3-abcde1 (is that what's supposed to change? I think it is).
My local NuGet cache has no Godot 4 assemblies, since I have been using the
--push-nupkgs-local
flag on thebuild_assemblies.py
script.Part of the problem is that I can't figure out where the GodotSharp assemblies it's using at compile time even are, since they don't show up as references in Visual Studio. On which note, if I use GODOT_VERSION_STATUS to adjust the version number, do I need to update anything in the project file? I see this reference at the top, which looks weird to me:
Does anyone know how to fix this? Is this a bug with local development on a mac? I think either way it's a documentation issue. The GodotNuGetFallbackFolder and GODOT_VERSION_STATUS need to be explained.
Steps to reproduce
Listed above.
Minimal reproduction project
This is an issue with local development of the editor, not with the behaviour of the editor itself.
The text was updated successfully, but these errors were encountered: