Instance Object in usdz

We are trying to figure out how to use instancing inside usdz. We converted this simple houdini scene which has 2 instanced cubes to usdz and its working great inside usdview and macos usdz viewer. But on iOS, instanced objects are showing up along with the source geometry.

Here is the usda file :

#usda 1.0
(
    defaultPrim = "usdexport1"
    endTimeCode = 1
    framesPerSecond = 24
    metersPerUnit = 1
    startTimeCode = 1
    timeCodesPerSecond = 24
    upAxis = "Y"
)


def Xform "usdexport1" (
    kind = "component"
)
{
    def Xform "obj_1" (
        instanceable = true
        prepend references = </usdexport1/Prototypes/obj_0>
    )
    {
        token visibility = "inherited"
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (3.894191265106201, 0, 1.9618861675262451, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }


    def Xform "obj_0" (
        instanceable = true
        prepend references = </usdexport1/Prototypes/obj_0>
    )
    {
        token visibility = "inherited"
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (4.5835981369018555, 0, -2.6865134239196777, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }


    def Scope "Prototypes"
    {
        uniform token visibility = "invisible"


        def Xform "obj_0"
        {
            def Mesh "mesh_0"
            {
                float3[] extent = [(-0.5, -0.5, -0.5), (0.5, 0.5, 0.5)]
                int[] faceVertexCounts = [4, 4, 4, 4, 4, 4]
                int[] faceVertexIndices = [1, 5, 4, 0, 2, 6, 5, 1, 3, 7, 6, 2, 0, 4, 7, 3, 2, 1, 0, 3, 5, 6, 7, 4]
                normal3f[] normals = [(-0, -0, -1), (-0, 0, -1), (-0, -0, -1), (0, -0, -1), (1, -0, -0), (1, -0, -0), (1, 0, 0), (1, -0, -0), (-0, -0, 1), (-0, -0, 1), (-0, -0, 1), (0, 0, 1), (-1, 0, -0), (-1, -0, -0), (-1, -0, 0), (-1, -0, -0), (0, -1, -0), (-0, -1, -0), (-0, -1, 0), (-0, -1, -0), (-0, 1, -0), (-0, 1, -0), (0, 1, 0), (-0, 1, -0)] (
                    interpolation = "faceVarying"
                )
                uniform token orientation = "leftHanded"
                point3f[] points = [(-0.5, -0.5, -0.5), (0.5, -0.5, -0.5), (0.5, -0.5, 0.5), (-0.5, -0.5, 0.5), (-0.5, 0.5, -0.5), (0.5, 0.5, -0.5), (0.5, 0.5, 0.5), (-0.5, 0.5, 0.5)] (
                    interpolation = "vertex"
                )
                texCoord2f[] primvars:st = [(0.33333334, 0.6666667), (0.33333334, 0.9822832), (0.64894986, 0.9822832), (0.64894986, 0.6666667), (0, 0.6666667), (0, 0.9822832), (0.3156165, 0.9822832), (0.3156165, 0.6666667), (0, 0.33333334), (0, 0.64894986), (0.3156165, 0.64894986), (0.3156165, 0.33333334), (0.33333334, 0.33333334), (0.33333334, 0.64894986), (0.64894986, 0.64894986), (0.64894986, 0.33333334), (0.64894986, 0.3156165), (0.64894986, 0), (0.33333334, 0), (0.33333334, 0.3156165), (0.3156165, 0.3156165), (0.3156165, 0), (0, 0), (0, 0.3156165)] (
                    interpolation = "faceVarying"
                )
                int[] primvars:st:indices = None
                uniform token subdivisionScheme = "none"
            }
        }
    }
}


Is there something we are missing to make it work for iOS.


Thanks,