SuperAPI AI 工具集

unity-editor-tools

编程与开发

查看项目

更新于 10-16 01:37

技能介绍

用途:为 Unity 6 编辑器编写扩展脚本与自定义工具,覆盖自定义 Inspector、EditorWindow、PropertyDrawer、Gizmo、Handle、菜单项等。

主要能力:自定义 Inspector(继承 Editor 并加 [CustomEditor]);EditorWindow 可停靠窗口;PropertyDrawer 与 PropertyAttribute 控制字段显示;[MenuItem] 生成菜单命令并支持校验函数与快捷键;Gizmos 做场景可视化调试;Handles 提供交互式 3D 控件;SerializedObject 模式支持撤销、多对象编辑与预制体覆盖;AssetDatabase 以代码访问资源。

使用方式:编辑器代码必须放在 Editor/ 文件夹或用 #if UNITY_EDITOR 包裹,否则会进入运行时构建。Unity 6.3 支持 UI Toolkit(推荐,CreateInspectorGUI()/CreateGUI() 返回 VisualElement)与 IMGUI(旧版,OnInspectorGUI()/OnGUI())。SerializedObject 三步:serializedObject.Update()、EditorGUILayout.PropertyField(...)、serializedObject.ApplyModifiedProperties()。多对象编辑需加 [CanEditMultipleObjects] 并使用 SerializedProperty。

限制:PropertyDrawer 必须位于 Editor/ 文件夹,使用 EditorGUI 而非 EditorGUILayout,且不能在同一 drawer 中混用 UI Toolkit 与 IMGUI;修改 target 需配合 Undo.RecordObject();创建对象需 Undo.RegisterCreatedObjectUndo();避免在 OnInspectorGUI()/OnGUI() 中做重活。

适用场景:为组件定制检视面板、制作编辑器工具窗口、扩展资源与 GameObject 菜单、在场景中绘制调试图形与交互手柄。