public override void OnInspectorGUI() { targetObj.Update(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(person); EditorGUIUtil.ObjectPickerField(person, null, "Assets/AC"); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(person2); if (GUILayout.Button("C", EditorStyles.miniButton, GUILayout.Width(24f))) { ObjectSelectorWindow.ShowObjectPicker <Sprite>(person.objectReferenceValue, OnObjectPicker, "Assets"); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(person3); if (GUILayout.Button("C", EditorStyles.miniButton, GUILayout.Width(24f))) { ObjectSelectorWindow.ShowObjectPicker <AudioClip>(person3.objectReferenceValue, OnObjectPicker3, "Assets/Sound"); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.PropertyField(person4); if (GUILayout.Button("C", EditorStyles.miniButton, GUILayout.Width(24f))) { GameObject go = AssetDatabase.LoadAssetAtPath <GameObject>( "Assets/Standard Assets/Characters/ThirdPersonCharacter/Prefabs/ThirdPersonController.prefab"); AnimationClip[] clips = AnimationUtility.GetAnimationClips(go); List <int> ids = new List <int>(); foreach (var clip in clips) { ids.Add(clip.GetInstanceID()); } ObjectSelectorWindow.ShowObjectPicker <AnimationClip>(person4.objectReferenceValue, OnObjectPicker4, "Assets/Standard Assets/Characters/ThirdPersonCharacter/Animation", ids); } EditorGUILayout.EndHorizontal(); targetObj.ApplyModifiedProperties(); }