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

[4.4-stable] Projects in Custom built Godot pull the wrong GodotSharp.dll without the custom C++ modules #104012

Open
MatthiasBae opened this issue Mar 12, 2025 · 0 comments

Comments

@MatthiasBae
Copy link

MatthiasBae commented Mar 12, 2025

Tested versions

Tested in 4.4-stable (custom built including GodotSteam and GodotSteam MultiplayerPeer as modules)

System information

Godot v4.4.stable.mono unknown - Windows 11 (build 26100) - Multi-window, 2 monitors - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4070 Ti (NVIDIA; 32.0.15.6636) - 13th Gen Intel(R) Core(TM) i9-13900KF (32 threads)

Issue description

I made a custom built of the Godot Engine which includes the modules GodotSteam and GodotSteam MultiplayerPeer (https://godotsteam.com/howto/multiplayer_peer/).

Building the engine, creating the C# glue and building the assemblies worked fine. When checking the C# nuget packages they also include the custom (GodotSteam) C++ modules as expected.

When creating a new project and trying to use the C# classes like "SteamMultiplayerPeer" it does not find those.
I checked the .godot folder in my project and it looks like it is not using the custom built GodotSharp.dll as far as I can tell (last change date of the file is 03.03.2025 but I built it today / on 12.03.2025)

Image

So I checked if my freshly built GodotSharp.dll includes those custom module C# classes and it looks fine as I can see in Jetbrains DotPeek

Image

  • I already deleted the .godot folder to check if it pulls the new GodotSharp.dll
  • I created several new projects

What I did not is manually exchanging the GodotSharp.dll as I would expect it to use the custom built one automatically.

I also checked if in the GodotNugetFallBackFolder is anything included but is completely empty

Image

I actually can use the GodotSteam classes in GDScript
Image

But not in C#
Image

Thats the reason I think the project pulls the wrong GodotSharp.dll (I do not know where it actually pulls it from)

Steps to reproduce

  1. Pull Godot from github
  2. include GodotSteam as module
  3. include GodotSteam MultiplayerPeer as module
  4. run the commands to built Godot, C# glue and build assemblies:

scons platform=windows production=yes module_mono_enabled=yes

godot.windows.editor.x86_64.mono.exe --headless --generate-mono-glue ../modules/mono/glue

dotnet nuget add source '{path to localnugetfolder}' --name GodotNugetPackages

modules/mono/build_scripts/build_assemblies.py --godot-output-dir=bin --godot-platform=windows --push-nupkgs-local GodotNugetPackages

  1. start the fresh built Godot.exe
  2. create a project and try to use the new classes in C#

Minimal reproduction project (MRP)

Unfortunately I am not able to upload the custom godot built binaries but here is a screenshot of them in the source code:

Image

Also a MRP
testgodotsteam.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: For team assessment
Development

No branches or pull requests

2 participants