创建项目
从UnityHub创建项目
- 打开UnityHub创建新项目,选择编辑器版本:推荐6000.0.42f1或更新的
- 选择核心模板:Universal 2D
- 设置项目名称:Example
- 其它选项根据需要自行设置
- 点击
创建项目
按钮

检查依赖包
- 打开Package Manager窗口,检查是否已安装这两个包:
Unity UI
、Input System
- 若未安装,则在Unity Registry标签页内搜索并安装

创建编辑器窗口
创建文件夹
- 打开Project面板,在空白处点击鼠标右键
Create
->Folder
创建以下文件夹,并将已存在的其它文件或文件夹放入此文件夹:- Assets/Others
- 依次创建以下文件夹:
- Assets/E Tool
- Assets/E Tool/E Story
- Assets/E Tool/E Story/Editor
- Assets/E Tool/E Story/Editor/Scripts
- Assets/E Tool/E Story/Editor/Scripts/UI

创建窗口类
- 打开刚创建的UI文件夹,点击鼠标右键
Create
->UI Toolkit
->Editor Window
- 在弹出的对话框的C#输入框内输入:StoryEditorWindow
- 取消勾选
UXML
和USS
选项(本项目直接使用C#代码来设置窗口布局和样式,而不使用UI Builder) - 点击
Confirm
按钮

编辑窗口类
打开StoryEditorWindow.cs,将内容修改如下:
C#
using UnityEditor;
using UnityEngine;
using UnityEngine.UIElements;
// 添加命名空间将类包裹起来,以便避免与其它命名空间的同名类冲突
namespace E.Story
{
// 此类继承自EditorWindow,拥有EditorWindow的所有特性
public class StoryEditorWindow : EditorWindow
{
[MenuItem("E Tool/打开 E Story 故事编辑器 %&s")]
// 在静态方法上添加MenuItem属性,可使Unity菜单栏显示相应按钮,点击按钮可调用此方法
// 字符串末尾的%&s表示快捷键,其中%表示Ctrl键,&表示Alt键,s表示S键,另外还有#可以表示Shift键
public static void Open()
{
// 获取窗口
StoryEditorWindow wnd = GetWindow();
// 修改窗口标题
wnd.titleContent = new GUIContent("E Story 故事编辑器");
}
// 这是Unity会在绘制GUI时自动调用的方法
private void CreateGUI()
{
// 获取窗口UI根元素
VisualElement root = rootVisualElement;
// 创建标签
VisualElement label = new Label("Hello World! From C#");
// 将标签放入根元素
root.Add(label);
}
}
}
测试效果
点击菜单按钮E Tool
-> 打开 E Story 故事编辑器
或按下快捷键Ctrl
+Alt
+S
即可打开编辑器窗口查看效果。
