A bit of doc for the location of the DLLs. #36
TBH, I'm constantly confused where these .dlls (and other lib files) need to go for a Unity build.
Where do they have to be :
1.) when running in the Editor?
I think a clear documentation of this in the repo would be super helpful for people new to this stuff.
( I'm pretty new to this Steamworks API stuff, but so a lot of things that might be obvious for a lot of other people are simply confusing )
1.) Editor: dlls go in the Unity project folder, next to the "Assets" folder.
3.) a: Windows: Steam API DLLs need to be in the depot next to the exe file. The "steam_appid.txt" is not required since Steam will take care of this info.
Hope this helps some people.
The text was updated successfully, but these errors were encountered:
Sorry — Just saw that the Unity example has such a post build script:
Maybe a bit more doc in this repo wouldn't hurt?
I think OSX will check elsewhere too, but this is how our Mac build is set up:
We put the dynamic library in:
steam_appid.txt next to the actual +x executable file:
Just in case someone reading this isn't familiar--on macOS, applications are .app folders that look and behave like single files to the user (but are really folders under the hood). You can right-click and do "Show Package Contents" if you want to dig in to one with Finder. You can treat them like normal folders with terminal or any file copy operations elsewhere.
Thanks so much @mwegner!
I just found out as well after some digging. Turns out there's log output that prints where Unity is trying to load the file from.
Now we got the following TODO: Add some code to "OnPostprocessBuild" to also copy the OSX files ;-)
Hope this helps some other people as well.
We're only building 64-bit on Mac, so I don't actually know. I guess Unity has retained 32-bit builds for projects that are using native plugins where only 32-bit is available? I'm not sure why it's there otherwise.
Most Mac hardware was booting 64-bit kernel in Snow Leopard (10.6), and as of Lion (10.7), everything is 64-bit by default. According to Unity's requirements page, the player requires 10.8 these days anyway: https://unity3d.com/unity/system-requirements
Snow Leopard shows up as 0.9% on their charts, but only Core Duo chips would boot 32-bit there: http://hwstats.unity3d.com/pc/os-mac.html
Long store short, just ship out a 64-bit build to save some bytes unless you have a weird plugin that needs 32-bit...
Additional note for anyone trying to get the Steam Overlay working on a OSX/ 64 bit builds: It's not working properly. I got the Client API to work on 64 bit / universal builds ( by putting the lib in the Frameworks folder as "libsteam_api64.dylib"), and e.g. incrementing a Stats counter and awarding Achievements works, but the Steam Overlay won't work. See also: rlabrecque/Steamworks.NET#163
Sorry to bug you again. But, I simply can't make it work like this on the 64 bit Mac builds.
What I want to do is award achievements.
The only way I can make the awarding of the achievement and the correct display in the Steam overlay ( the achievement icon popping up) work, is by putting two copies of the file
so that I have:
If one of those files is missing, it won't work. Super weird, but that's what I'm seeing here.
Not sure whats going on here.