void Setup(Vrm10Instance instance) { if (instance.Vrm != null) { // OK return; } if (!CheckHumanoid(instance.gameObject)) { // can not return; } EditorGUILayout.HelpBox("Humanoid OK.", MessageType.Info); if (GUILayout.Button("Create new VRM10Object")) { var saveName = (instance.name ?? "VRMObject") + ".asset"; var path = SaveFileDialog.GetPath(SaveTitle, saveName, SaveExtensions); var asset = CreateAsset(path); if (asset != null) { // update editor serializedObject.Update(); var prop = serializedObject.FindProperty(nameof(Vrm10Instance.Vrm)); prop.objectReferenceValue = asset; serializedObject.ApplyModifiedProperties(); } } }