RuntimeLoad

Assets\VRM10\Samples\VRM10Viewer\VRM10ViewerUI.cs

RuntimeLoad

Vrm10Instance vrm10Instance = await Vrm10.LoadPathAsync(path);

Migration(VRM-0 to VRM-1)

VRM-1.0 can also read VRM-0.x. In that case a conversion to the new meta occurs and all incompatible partsHas a value of disallowed. You can access your pre-converted licenses.

See also the sample Assets\VRM10\Samples\VRM10Viewer\VRM10ViewerUI.cs.

async Task<Vrm10Instance> LoadAsync(string path)
{
    GltfData data = new AutoGltfFileParser(path).Parse();

    // doMigrate: true で旧バージョンの vrm をロードできます。
    if (Vrm10Data.TryParseOrMigrate(data, doMigrate: true, out Vrm10Data vrm))
    {
        // vrm
        using (var loader = new Vrm10Importer(vrm))
        {
            // migrate しても thumbnail は同じ
            var thumbnail  = await loader.LoadVrmThumbnailAsync();

            if (vrm.OriginalMetaBeforeMigration != null)
            {
                // migrated from vrm-0.x. use OriginalMetaBeforeMigration
                UpdateMeta(vrm.OriginalMetaBeforeMigration, thumbnail);
            }
            else
            {
                // load vrm-1.0. use newMeta
                UpdateMeta(vrm.VrmExtension.Meta, thumbnail);
            }

            // モデルをロード
            RuntimeGltfInstance instance = await loader.LoadAsync();
            return instance.GetComponent<Vrm10Instance>();
        }
    }
    else{
        throw new Exception("not vrm");
    }
}