Remove a few dependencies from unity package#1497
Remove a few dependencies from unity package#1497AArnott merged 2 commits intoMessagePack-CSharp:developfrom
Conversation
Unity 2021.2 and later already include these assemblies, and our inclusion of them causes failures because unity will prefer the 'app-local' copy over its own. Fixes MessagePack-CSharp#1475
|
@joshpeterson @MichalPetryka I'd welcome your confirmation that this is the right fix. |
|
Won't this break the package on Unity older than 2021.2? I think that 2 separate packages would be needed. |
|
Thanks for reviewing, @MichalPetryka. |
|
This makes sense to me. I'm not sure how to check for the Unity version in MessagePack though. Is it possible to release two different packages? |
Yes, probably. I'm no unity expert (I don't use it myself) and the repo's primary author has been unavailable for a while. If someone else can improve on this, I'd appreciate it. Otherwise I'll get to it when I can. |
|
Our unity build agent is failing at this point anyway, so we can't produce any unitypackage at the moment. |
Unity 2020 LTS (2020.3.x) still has support for another 6-9 months. Should probably aim to have official support for any LTS that is still supported. Supporting the active version is definitely nice, but official support for it probably isn't required (I've seen other libraries take that approach). |
I'm not that familiar with how the builds are setup for this project, but one option would be to move towards Game CI. They have prebuilt GitHub actions, but could also use their docker images within Azure Pipelines. |
neuecc
left a comment
There was a problem hiding this comment.
I believe it is especially important to retain lower-level support because the development cycle of a game is several years long and they cannot increase the engine version too much.
|
@neuecc What would you recommend? Should we abandon the PR? |
|
I see, but is this only affecting the build machine (or local)? |
It removes files from the unity package we build. This is required so that newer unity clients don't malfunction on the dll's that we ship but are also now part of their platform. If a game developer is stuck on one unity version for years, can't they also lock down on a particular major.minor version of messagepack so that they keep working, allowing future minor releases of messagepack to evolve to work by default in newer unity clients? |
I mostly agree with this sentiment; however, I have experienced / can think of a couple cases where that may not hold true:
Despite those points, this is an open source project and compromises likely need to be made. |
|
Hmmm...I see...it's a little too early to disappear completely. [MessagePack.Unity.2.4.35.unitypackage] |
|
@AArnott And the code can be nullable-enabled. I apologize for the delay in reporting on the policy and regarding the hesitation. |
|
/azp run |
|
@neuecc This PR broke the unity build in our CI because it was still building with Unity 2019. When I update it to 2021.3 in #1530, it fails with new errors that I don't know how to fix. Can you take a look? |
|
ok, i'll check soon. |
|
Hi, I have a problem. When i build mono standalone window i can send to socket normally, but IL2CPP didn't work! |
Unity 2021.2 and later already include these assemblies, and our inclusion of them causes failures because unity will prefer the 'app-local' copy over its own.
Fixes #1475