参考资料
开发推荐使用UI Toolkit(参考前端UXML、USS、C#):https://docs.unity3d.com/cn/current/Manual/UIE-simple-ui-toolkit-workflow.html
查看示例代码

创建项目
Projects中添加Universal 2d(3d也能正常添加toolkit使用)即可

添加界面显示
添加给文件后鼠标左键双击可以打开进行编辑。
添加两种添加方式:(1)上方Window》UI Toolkit》UI Builder;(2)下发Project对应Assets中鼠标右键》Create》UI Toolkit》UI Document

Assets中添加

添加主界面配置

设定启动使用的界面文件
1、选中UIDocumant;
2、Assets中选中主界面对应文件拖动到Inspector的Source Asset中
3、Sort Order:控制不同 UI Document 间的层级(数值大在上)

添加使用C#脚本代码
添加文件夹
在下方Assets中鼠标右键》Create》Folder,添加后在Assets中正常显示文件夹,点击后可以重命名
添加C#文件
在下方Assets中到Scripts目录,鼠标右键》Create》MonoBehaviour Script,添加后的cs文件可以用vscode或记事本等其他软件打开编辑

添加按钮事件
using System;
using UnityEngine;
using UnityEngine.UIElements;
public class NewMonoBehaviourScript : MonoBehaviour
{
[SerializeField] UIDocument uiDoc;
private VisualElement root;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
root = uiDoc.rootVisualElement;
var playBtn = root.Q<VisualElement>("PlayBtn");
playBtn.RegisterCallback<ClickEvent>(OnClickEvent);
}
// Update is called once per frame
void Update()
{
}
private void OnClickEvent(ClickEvent evt)
{
Debug.Log("Play Button Clicked");
}
}
界面中鼠标右键更改名字,名称对应上面获取的PlayBtn

配置cs文件有效

如果启动时代码错误,在下方Project边上有个Console,里面看到对应错误描述,多次打印不重复显示,右边显示对应次数

双向绑定变量
新建文件

编辑该C#文件
using UnityEngine;
[CreateAssetMenu(fileName = "PlayerHealth", menuName = "Scriptable Objects/PlayerHealth")]
public class PlayerHealth : ScriptableObject
{
public int health = 100;
}
添加对应Scriptable Objects后才能正常使用

在界面中绑定

C#使用vs开发管理
通过Unity生成(最简单)
- 在Unity中:Edit → Preferences → External Tools
- 确保 External Script Editor 设置为 Visual Studio 2022
- 关闭Preferences
- 菜单栏:Assets → Open C# Project
- Unity会自动生成 .sln 解决方案文件,并且已添加的C#文件会自动包含在该项目中
Unity使用C++开发
Unity无法直接执行C++代码,因为:
- Unity使用Mono或IL2CPP运行C#代码
- C++是原生代码,需要编译成特定平台的机器码
- Unity的游戏逻辑层运行在托管环境中
通过P/Invoke(平台调用)技术 。C#作为桥梁,调用编译好的C++动态库


514

被折叠的 条评论
为什么被折叠?



