[UWP] 2017.3.0f3 - Build totally broken

Hi,

I have extreme problems, compiling any project for UWP with 2017.3.0f3.

Even the simpliest project does not compile.

Steps to reproduce:

  1. Create a new project
  2. Do not change any settings
  3. Compile for UWP

Error:

Failed running C:\Program Files\Unity\Editor\Data\il2cpp/build/UnityLinker.exe --api=NET_4_6 -out=“C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\Managed\tempStrip” -l=none -c=link --link-symbols -x=“C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Core.xml” -f=“C:\Program Files\Unity\Editor\Data\il2cpp\LinkerDescriptors” -x “C:\Dev\Games\Windows\test\test/Temp\StagingArea\Data/methods_pointedto_by_uievents.xml” -x “C:\Dev\Games\Windows\test\test/Temp\StagingArea\Data/UnityEngine.xml” -x “C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\preserved_derived_types.xml” -x “C:\Program Files\Unity\Editor\Data\il2cpp\LinkerDescriptors\mscorlib45.xml” -x “C:\Program Files\Unity\Editor\Data\il2cpp\LinkerDescriptors\System45.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Accessibility.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\AI.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Animation.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\AR.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\AssetBundle.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Audio.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Cloth.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Core.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\CrashReporting.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Director.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\GameCenter.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Grid.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\ImageConversion.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\IMGUI.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Input.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\JSONSerialize.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\ParticlesLegacy.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\ParticleSystem.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\PerformanceReporting.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Physics.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Physics2D.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\ScreenCapture.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\SharedInternals.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\SpriteMask.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\SpriteShape.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\StyleSheets.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Terrain.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\TerrainPhysics.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\TextRendering.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Tilemap.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UI.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UIElements.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UNET.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityAnalytics.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityConnect.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityWebRequest.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityWebRequestAudio.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityWebRequestTexture.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\UnityWebRequestWWW.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Vehicles.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Video.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\VR.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Web.xml” -x “C:\Program Files\Unity\Editor\Data\PlaybackEngines\MetroSupport\Whitelists\Wind.xml” -d “C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\Managed” -a “C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\Managed\UnityEngine.UI.dll” -a “C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\Managed\UnityEngine.Analytics.dll” -a “C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\Managed\I18N.CJK.dll” -a “C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\Managed\I18N.dll” -a “C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\Managed\I18N.MidEast.dll” -a “C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\Managed\I18N.Other.dll” -a “C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\Managed\I18N.Rare.dll” -a “C:\Dev\Games\Windows\test\test\Temp\StagingArea\Data\Managed\I18N.West.dll”
stdout:
Fatal error in Unity CIL Linker
Mono.Linker.MarkException: Error processing method: ‘System.Void UnityEngine.Analytics.StandardEventPayload::.ctor()’ in assembly: ‘UnityEngine.Analytics.dll’ —> System.ArgumentNullException: Der Wert darf nicht NULL sein.
Parametername: instruction
bei Mono.Cecil.Cil.InstructionOffset…ctor(Instruction instruction)
bei Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope)
bei Mono.Cecil.Cil.CodeReader.ReadScopes(Collection1 scopes) bei Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope) bei Mono.Cecil.Cil.CodeReader.ReadScopes(Collection1 scopes)
bei Mono.Cecil.Cil.CodeReader.ReadScope(ScopeDebugInformation scope)
bei Mono.Cecil.Cil.CodeReader.ReadDebugInfo()
bei Mono.Cecil.Cil.CodeReader.ReadMethodBody()
bei Mono.Cecil.Cil.CodeReader.ReadMethodBody(MethodDefinition method)
bei Mono.Cecil.MethodDefinition.<>c.<get_Body>b__41_0(MethodDefinition method, MetadataReader reader)
bei Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TRet& variable, TItem item, Func3 read) bei Mono.Cecil.MethodDefinition.get_Body() bei Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method) bei UnityLinker.Steps.UnityMarkStep.ProcessMethod(MethodDefinition method) bei Mono.Linker.Steps.MarkStep.ProcessQueue() --- Ende der internen Ausnahmestapel�berwachung --- bei Mono.Linker.Steps.MarkStep.ProcessQueue() bei Mono.Linker.Steps.MarkStep.ProcessEntireQueue() bei Mono.Linker.Steps.MarkStep.Process() bei UnityLinker.Steps.UnityMarkStep.Process(LinkContext context) bei Mono.Linker.Pipeline.Process(LinkContext context) bei UnityLinker.UnityDriver.Run() bei UnityLinker.UnityDriver.RunDriver() stderr: UnityEngine.Debug:LogError(Object) UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:128) UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable1, String&, String&, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:89) UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String[ ], String[ ], String, String, String&, String&, String, IIl2CppPlatformProvider, IEnumerable1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:82)
UnityEditorInternal.AssemblyStripper:RunAssemblyStripper(String, IEnumerable, String, String[ ], String[ ], String, IIl2CppPlatformProvider, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:204)
UnityEditorInternal.AssemblyStripper:StripAssemblies(String, IIl2CppPlatformProvider, RuntimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/AssemblyStripper.cs:114)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:152)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:34)
PostProcessUAPIl2Cpp:RunIL2CPP() (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/PostProcessUAPIl2Cpp.cs:378)
PostProcessWinRT:Process() (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/PostProcessWinRT.cs:231)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

What’s the problem?

Thanks
Jus

Turn off analytics.

UWP, Unity 2017.3.0f3 is an absolute mess.
Just disable you analytics and error reporting (effectively all unity servervices). They are not compatible with IL2cpp.

Is this a known issue? I hope, there will be a fast solution for this! I need the service in my project.

If you want to be sure, please submit a bug-report following the advice given in this document. In case nobody submitted a bug-report yet, it’s unlikely that Unity Technologies is going to fix this issue.

Like I said, disable Analytics; THAT is the fast solution.
I had the same problem trust me, if you disable all the unit services in your project then it will compile fine with IL2CPP.
You cannot use .net instead of il2cpp; that is COMPLETELY broken in version 2017.3.3f

The slow solution is to wait for Unity to fix it or to use an alternative analytics service not so tightly integrated into the unity framework.

Microsoft and Unity are newly in bed with each other. I sure these things will sort itself out but this is fairly disappointing so far.

It literally took me more than 7 days, nearly 18h per day non-stop to get my first successful build of an actual game ported from normal PC to UWP. I only planned about 2-4 hours at most!

I had to use a proxy to get access to the Nuget api website to download the latest build files because nuget for some reason blocks certain IP ranges.
I had to use a VPS server to upload the listings file to the MS dashboard because my connection was not fast enough. -You have to upload a full folder with all the images, videos etc all at once. So if your connection is slow, it will timeout before it is done.
I spent days and changed a lot of game functionality only to realise the reason Visual Studio fails the “Validation” test of my game is because I didn’t set the build target to “Master” instead of “Release”.
Changing ANYthing in your game specific to UWP needs to occur in Unity. There is/used to be an build option “C# Projects” which if it were selected then it includes all the source files of the game and you can quickly fix whatever UWP is complaining directly in VS17 without going back to Unity but with Unity version 2017.3.3f the option is completely greyed out, yet if you change any asset that is accessible in the resulting VS solution file then VS won’t allow you to compile the project because you are not allowed to make changes to the project! It must be done via the Unity Solution and then rebuilt for UWP.
For example, VS17 will complain if you include an external but unused .exe/.dll file in your project. If you delete the unused .exe/.dll file from the solution then VS17 will tell you that you have fucked up the project and there is no way to fix it again other than going back into Unity.

Please report bugs on these issues. None of them are known.

I think this is related to

?

I don’t think they are (although they could be).

Ok. Filed a bugreport:

Case 984447

I hope for a fast solution, because I’m not able to publish my game…

1 Like

I’m experiencing the same problem here on multiple live projects. As they use IAPs, I cannot upgrade them. Issue reported as well with some more information.

1 Like

Yes, same for me. We are using IAP, so Analytics cannot disabled.

That’s a showstopper. Will downgrade to 2017.1.

We’ll take a look. Thanks.

1 Like

Any update on this?

Latest patch 2017.3.0p2 does not fix this issue!

The fix actually landed to 2017.3.0p3.

Thanks.

Is there an ETA on p3? I know it may be futile to ask, but this is delaying a content update on our side.

We try releasing them every week, so that would mean it would be out next week. However, unexpected issues might cause delays.

p3 patch is out. Hope it fixes the build problem I’m having with UWP. Different that what’s been mentioned here. :frowning: