unity3d - Change Scripting Backend from IL2CPP to .NET Unity (for the latest version of Vuforia)


Keywords:.net 


Question: 

I needed to update my project form 2017.2 to 2017.3 for the new Vuforia Version (because of the new Model targets). The Player still works fine. But if I want to build a UWP App for the Hololens. I got the error, that the Scripting Backend isn't right (used IL2CPP).

Vuforia currently does not support the IL2CPP scripting backend for Windows Store Apps. Please select ".NET" as the scripting backend in the "Other Settings" section of the Player Settings

 UnityEngine.Debug:LogError(Object)
 BuildObserver:OnPreprocessBuild(BuildTarget, String)
 UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

So I changed to .NET in the Settings. But now the Error is, that the build pathes are made for IL2CPP.

UnityException: Build path contains project built with IL2CPP scripting backend, while current project is using .NET scripting backend.
 PostProcessWinRT.CheckSafeProjectOverwrite () (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/PostProcessWinRT.cs:303)
 PostProcessWinRT.Process () (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/PostProcessWinRT.cs:127)
 UnityEditor.WSA.BuildPostprocessor.DoPostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/ExtensionModule.cs:117)
 UnityEditor.WSA.BuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at C:/buildslave/unity/build/PlatformDependent/MetroPlayer/Extensions/Managed/ExtensionModule.cs:124)
 UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

So what can I do now? Can I change the pathes?

These are my original Settings:

enter image description here


1 Answer: 

This error occurs because Unity cannot write the output for two different scripting backends to the same location. You can fix the issue by deleting the output directory generated with the IL2CPP scripting backend, or by creating a new output directory for the .NET backend.