I'm trying to add a MixedReality 3D Icon for the cliff house in a Unity 3D UWP project.
So I followed the offical documentation (https://learn.microsoft.com/en-us/windows/mixed-reality/implementing-3d-app-launchers) and my package.appxmanifest now has these lines:
<Package xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4" xmlns:uap5="https://schemas.microsoft.com/appx/manifest/uap/windows10/5" xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10" xmlns:mobile="http://schemas.microsoft.com/appx/manifest/mobile/windows10" IgnorableNamespaces="uap uap2 uap3 uap4 uap5 mp mobile iot" xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10">
and
<uap:DefaultTile ShortName="Kaldor - Your Public Art Project 2019" Wide310x150Logo="Assets\Wide310x150Logo.png" Square71x71Logo="Assets\Square71x71Logo.png" Square310x310Logo="Assets\Square310x310Logo.png">
<uap:ShowNameOnTiles>
<uap:ShowOn Tile="square310x310Logo" />
<uap:ShowOn Tile="wide310x150Logo" />
</uap:ShowNameOnTiles>
<uap5:MixedRealityModel Path="Assets\StoreModel1.glb" />
</uap:DefaultTile>
But I get this console error:
The element 'DefaultTile' in namespace 'http://schemas.microsoft.com/appx/manifest/uap/windows10' has invalid child element 'MixedRealityModel' in namespace 'https://schemas.microsoft.com/appx/manifest/uap/windows10/5'. List of possible elements expected: 'TileUpdate' in namespace 'http://schemas.microsoft.com/appx/manifest/uap/windows10' as well as 'MixedRealityModel' in namespace 'http://schemas.microsoft.com/appx/manifest/uap/windows10/5' as well as 'HoloContentChoice' in namespace 'http://schemas.microsoft.com/appx/manifest/uap/windows10'.
I have followed the documentation and the official MS video on the subject and cannot see what I have missed?
You have inconsistent schema URLs in your Package tag. You use http
for every URL except https://schemas.microsoft.com/appx/manifest/uap/windows10/5
where you use https
.
Since uap10/5
is a child of uap10
, and since you use http://schemas.microsoft.com/appx/manifest/uap/windows10
, it expects http://schemas.microsoft.com/appx/manifest/uap/windows10/5
, not https://schemas.microsoft.com/appx/manifest/uap/windows10/5
for child elements. (Note the very subtle difference in the URLs.)
This is exactly the error you get:
The element 'DefaultTile' in namespace 'http://schemas.microsoft.com/appx/manifest/uap/windows10' has invalid child element 'MixedRealityModel' in namespace 'https://schemas.microsoft.com/appx/manifest/uap/windows10/5'.
And it tells you that it expects http
:
List of possible elements expected: [...] as well as 'MixedRealityModel' in namespace 'http://schemas.microsoft.com/appx/manifest/uap/windows10/5'
However instead of switching 10/5 to http
, you should switch everything else to https
.