Skip to content

[BUG] Steam DLL Resolution failed on Godot Windows #19

Description

@klootas

Wow, so great to have a NuGet package for this 👏
However, I have a problem using Godot (4.7.1) that I though I might raise.

If my Godot export template has "dotnet/embed_build_outputs" unchecked, I get this output

Game.exe
data_Game_windows_x86_64/Game.dll
data_Game_windows_x86_64/steam_api64.dll

Running Game.exe result in this exception:
Unable to load DLL 'steam_api' or one of its dependencies: The specified module could not be found.
ERROR: [Steamworks.NET] Could not load [lib]steam_api.dll/so/dylib. It's likely not in the correct location. Refer to the README for more details.

Now... Everything works (provided I add a steam_appid.txt) if I just move steam_api64.dll up one folder, so it's next to the executable:

Game.exe
steam_api64.dll
data_Game_windows_x86_64/Game.dll

I prefer to set the Godot export template to have "dotnet/embed_build_outputs" checked (so I get just one file and no folders), but running an executable built like that predictably results in the same runtime exception as above.

Do you see hava any thoughts on this? I could programmatically move the references in a post build script, but I would have to to come up with a cross-platform way of knowing where they should be moved from. And dotnet/embed_build_outputs makes it look so neat with just one executable :)

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions