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
Disablesteamworks - Compile errors on android #149
Comments
I created a pull request for that issue #150 |
@eintopf: your commit doesn't cover all missing directives. Full list: Also you changed |
Also I have a question to the author: why This directive is very useful for multi-platform projects. But imho I think it's better to define only one directive |
@gresolio Thanks for your replies.
|
Crap yeah, sorry about that! All that stuff is autogenerated and it looks like I forgot to add it to one of the templates! I get back home from GDC on Wednesday and I'll take a look at it then. I don't think I'll be doing ENABLESTEAMWORKS because I want it to work with no setup by default. (If you're including it you'd hopefully want to use it on at least one platform!) And the majority of users are only shipping on Windows/Linux/macOS. Unfortunately defining it SteamManager won't work because defines aren't global :( It would have been the way I would have done it for sure though! The SetScriptingDefineSymbolsForGroup could be interesting though! |
I agree, defining in the script won't work because it is not global. But SetScriptingDefineSymbolsForGroup can solve the issue. And there is already a good place to add this editor code: "RedistInstall.cs". Unfortunately one cannot fully avoid setup, so it would be nice to take into account all pros & cons. Currently |
Yeah I'll definitely check out SetScriptingDefineSymbolsForGroup when I get back, I think we can make something good happen with that. As long as it can work out of the box, and provide flexibility. (Right now importing the unitypackage into an empty project, adding SteamManager to a game object and then entering play mode is all that needs to happen to get up and running. And then just editing the appid.) |
Note that many developers will likely be using these player settings for their own custom defines, including possibly writing hard coded values use their own custom Editor scripts, so I might suggest:
|
For #1, something like:
|
This should be fixed with 460e5e2. I didn't end up taking your pull request eintopf because of the reasons gresolio laid out, sorry! |
In Unity 2017.3.1 declaring DISABLESTEAMWORKS leads to code that cannot be compiles as Steamworks namespace and other symbols becomes unavailable in SteamManager.cs. SteamManager.cs requires #if !DISABLESTEAMWORKS exclusion as well. |
I guess that's the reason why I was hesitant to do something like this in the first place. Now all of your own code that uses Steamworks functions would need something like DISABLESTEAMWORKS, and just generally becomes a mess 😕 |
Hi,
we currently try to get our game to compile for mobile (and use the DISABLESTEAMWORKS symbol). However we get serveral compile errors related to Steamworks. Example:
Assets/Plugins/Steamworks.NET/types/SteamClientPublic/CGameID.cs(23,18): error CS0246: The type or namespace name
AppId_t' could not be found. Are you missing an assembly reference?`We tried adding the #if !DISABLESTEAMWORKS stuff to the CGameID class, but then other classes start complaining. Is this a known issue? Anything we have to do beside the DISABLESTEAMWORKS define symbol?
Best regards
Bennet
The text was updated successfully, but these errors were encountered: