diff --git a/Assets/VRM10/Runtime/IO/Vrm10Exporter.cs b/Assets/VRM10/Runtime/IO/Vrm10Exporter.cs index 138a80a90..79bdfc6e9 100644 --- a/Assets/VRM10/Runtime/IO/Vrm10Exporter.cs +++ b/Assets/VRM10/Runtime/IO/Vrm10Exporter.cs @@ -255,15 +255,21 @@ namespace UniVRM10 int? thumbnailIndex) ExportVrm(GameObject root, Model model, ModelExporter converter, VRM10ObjectMeta vrmMeta, List nodes, ITextureExporter textureExporter) { - var vrmController = root?.GetComponentOrThrow(); - - if (vrmMeta == null) + if (root == null) { - if (vrmController?.Vrm?.Meta == null) + throw new System.ArgumentNullException("root"); + } + + if (root.TryGetComponent(out var vrmController)) + { + if (vrmMeta == null) { - throw new NullReferenceException("metaObject is null"); + if (vrmController.Vrm?.Meta == null) + { + throw new NullReferenceException("metaObject is null"); + } + vrmMeta = vrmController.Vrm.Meta; } - vrmMeta = vrmController.Vrm.Meta; } var vrm = new UniGLTF.Extensions.VRMC_vrm.VRMC_vrm