编辑器扩展:在Inspector窗口添加按钮
有时候会希望脚本能在编辑模式方便使用,比如添加一个按钮,可以有一下几种方式
右键脚本:Unity特性
插件:odin-编辑器扩展插件
编辑器扩展:重写OnInspector
第一种:右键执行
给方法上添加 [ContextMenu("名字")] 标记,添加完成后,在Inspector面板的该脚本组件下,右键弹出菜单,可在编辑器环境调用该方法
[ContextMenu("修改文字", false)] public void TestFunc() { }
第二种:插件按钮点击
使用插件就非常方便,引入命名空间后,直接在方法上边加个button标签就可以了
odin插件(Odin Inspector and Serializer)
Unity商城:https://assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041
1 [Button] 2 public void TestFun() 3 { 4 5 }
而且有非常多的扩展功能,推荐尝试一下
第三种:
通过Editor扩展Inspector面板,在Editor文件夹下创建脚本,输入以下代码就可以扩展代码方法了。
有一些小需求,不想使用插件可以用这种方法。
同时功能是非常强大,完全可以按照自己的想法去做扩展。
1 //扩展ToggleTest类在Inspector面板的显示内容 2 [CustomEditor(typeof(ToggleTest))] 3 public class InspectorEditor : Editor 4 { 5 //重写OnInspectorGUI类(刷新Inspector面板) 6 public override void OnInspectorGUI() 7 { 8 //继承基类方法 9 base.OnInspectorGUI(); 10 11 //获取要执行方法的类 12 ToggleTest tog = (ToggleTest)target; 13 //绘制Button 14 if (GUILayout.Button("修改文字")) 15 { 16 //执行方法 17 tog.TestFunc(); 18 } 19 } 20 }
挂载的脚本
1 public class ToggleTest : MonoBehaviour 2 { 3 public void TestFunc() 4 { 5 6 } 7 }

扩展:unity在inspector面板显示自定义类数组
将自定义类序列化,就可以在列表中显示了,更多内容可以自行搜索:“ 重写OnInspector ”
1 [Serializable] 2 public class PosInfo{ 3 public Vector3 targetPos, targetRotate; 4 } 5 public class Test : MonoBehaviour 6 { 7 public List<PosInfo> targetPos; 8 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?