sta / websocket-sharp

A C# implementation of the WebSocket protocol client and server
http://sta.github.io/websocket-sharp
MIT License
5.69k stars 1.66k forks source link

Library no longer supports Unity 2020 Deterministic builds #621

Open ruth0048 opened 4 years ago

ruth0048 commented 4 years ago

Hey there!

Thought I'd mention that for the longest time we have built our Unity projects with this library for WebGL. We notice that with Unity's latest 2020.1B16(Beta) they appear to be adding further support for deterministic builds. Upon opening Unity, it defaults to have these builds as enabled and throws an immediate error:

Assets\BrainCloud\UnityWebSocketsForWebGL\WebSocketSharp\AssemblyInfo.cs(20,28): error CS8357: The specified version string contains wildcards, which are not compatible with determinism.

We have determined it is caused by your use of the in the line: [assembly: AssemblyVersion("1.0.2.")]

"*" syntax is variable so it is incompatible with deterministic builds.

A simple fix for people looking to make deterministic builds would be to remove the star and using a specific build or revision like [assembly: AssemblyVersion("1.0.2.1")] or [assembly: AssemblyVersion("1.0.2")] but what are the implications of doing a fix like this?

We have a plugin that needs to support both non-deterministic and deterministic builds, so we're just looking for whatever advice you may have, or safe fixes we could apply. Regardless, the information that Unity is going in this direction may come of use to you!

Thanks for your time!

midiphony commented 3 years ago

Bump 😛

It would be nice to know either :

joey-fladderak commented 3 years ago

We have encountered the same issue as well. Bumping for visibility! :)

rrtt2323 commented 2 months ago

We have encountered the same issue as well. Still no answer?