Skip to content

Conversation

@lordofduct
Copy link

Small update that does 2 main things:

  1. sets define constraints in both the assembly definitions so that the assemblies are fully ignored based on the STEAMWORKS_NET define OR if in UNITY_EDITOR. This way the assembly is completely ignored even if you're on a supported platform in scenarios you're not building for steam (such as an itch.io or GoG build).

  2. changed EditorSteamworksNETSettingsElement to load the stylesheet using the 'guid' so that it is folder agnostic of the 'Packages' folder. This way even if you have Steamworks.Net in your project Assets folder, rather than via the package manager, the UI still works.

…es are excluded in builds when not necessary. Also made the editor *.uss file load by guid so it's agnostic of the 'Packages' folder.
"defineConstraints": [],
"defineConstraints": [
"UNITY_EDITOR || STEAMWORKS_NET"
],
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey Dylan, one thing I am slightly concerned about is what this implies out of the box for non-editor packages. Our overall enabling/disabling situation in general probably needs a complete revisit, and I've honestly kind of lost track of say whether one has to pre-define STEAMWORKS_NET somewhere, or if it will get automatically defined [unless you disable it somehow?], etc. Any thoughts/insights? I won't really have time to look into this any time soon.

Aside from this piece the rest looks great.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hrmm.

So I've always leaned towards an opt-in approach to 3rd party libs. And I sort of just kind of assumed from the existence of STEAMWORKS_NET (or in the past it was just STEAMWORKS) that it implied this opt-in approach. But I do see looking through the package that it is automatic from the get go. This does mean that my change would break backwards compatibility. (though arguably the change from STEAMWORKS to STEAMWORKS_NET also broke backwards compatibility)

Maybe it could just be opt-out ala a DISABLE_STEAMWORKS_NET or something.

I just know every time I import the package I add this constraint (or equivalent) so I can make itch.io builds as well as steam builds since as-is the library assumes a Win/Linux/Mac build is a Steam build.

I'll have to think on it some more... maybe pick up this conversation a little later as I too am a bit busy right now as well.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants