Search Unity

Multiplatform project using buildin XR components

Discussion in 'Unity Build Automation' started by Joyrider, Jun 27, 2018.

  1. Joyrider

    Joyrider

    Joined:
    Aug 31, 2012
    Posts:
    27
    Hi,

    I'm currently having some issues with the migration of a large multi-platform project.

    I have just migrated this multi-platform project (PC, WebGL, Android & iOS) from 5.x to 2017.x
    As Vuforia is now embedded in Unity, we switched everything to work on this new implementation.

    All works fine for mobile exports, Windows works as well (probably since Vuforia supports some Windows devices) however our WebGL export of the same project fails.
    All Vuforia related code accessible in our project has already been prepared to only be called when Vuforia is present (using defines).

    But for those other platforms (here WebGL), not supported by Vuforia, and where no Vuforia components are used, all builds fail with the following output:

    Code (CSharp):
    1. stdout:
    2. Fatal error in Unity CIL Linker
    3. System.ArgumentException: Unable to find the file for the assembly named 'Vuforia.UnityExtensions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' specified in link file '/BUILD_PATH/projectRef-webgl/Assets/link.xml'. Should this assembly be in the project? Use the 'ignoreIfMissing="1"' attribute if this assembly may not always exist. ---> Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Vuforia.UnityExtensions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
    As states the log it seems we should be using the some 'ignoreIfMissing="1"' attribute, if this is indeed the case, the question is, how do we apply this in UCB?
    Or is there another way to avoid calling Vuforia.UnityExtensions on platforms it should not be called on altogether ?

    Any help would be appreciated ! ;)