Open allister-beamable opened 1 month ago
Proposed solution;
In our assets folder of the BeamableProduct/client/Assets
, we should
Other solution,
Beam
static-type initializer)OpenQuestion: would Unity use our new code if the new package introduced a compiler error? OpenQuestion: what happens if the provided dll has a version mismatch? We could check it as a pre-run step on the C#MS (assuming no catastrophic dll load issues)
Let us opt for the "other solution" and attempt a research project on it.
Describe the bug
When Beamable 1.19.21 is in the same project with the DevToDev package from UPM, there is a conflict where both packages reference
System.Runtime.CompilerServices.Unsafe.dll
and Unity cannot resolve it. This prevents being able to run or build the game.Steps to Reproduce
Steps to reproduce the behavior:
Expected behavior
Actual behavior
System.Runtime.CompilerServices.Unsafe.dll
Metadata
Additional context
It is possible to work around the issue by manually copying one or both of the packages into the main source code under Assets/ and then deleting one of the instances of System.Runtime.CompilerServices.Unsafe.dll but leaving the other intact. However, this procedure is awkward and error prone, and is especially cumbersome to apply across many developer machines and CI/CD machines. Often build machines are treated as infrastructure-as-code and recreated from scratch every time a build is made, so it is quite problematic to have to do "manual" steps on those build machines.