这篇文章主要记录一些平时想到和看到的 UE Tips
RPC 实现调用 XXX_Implementation 和 XXX_Validate 的方式
其实是 UHT 里面自动生成的 execXXX 函数中调用 Validate 和 Implementation 的逻辑,所以 XXX_Implementation 不是 UFUNCTION 也很正常,因为真正的 UFUNCTION 是根据 RPC 宏自动生成的 execXXX,所以如果要魔改逻辑,只能改 UHT 源码了
CallInEditor
一个 UFUNCTION 宏中,如果加上宏参数
1 | CallInEditor |
那么会在编辑器的 Property 面板中生成一个同名按钮,点击后可以执行这个函数
同样的,如果是蓝图类,在 CustomEvent 节点的属性面板中也有一个 CallInEditor 的勾选框
效果是一样的
但是有一个限制,就是函数不能带参数,否则不会生成 Property 面板按钮
使用 ini 重新设置控制台变量 CVar 的值
在 DefaultEngine.ini 中,添加
1 | [SystemSettings] |
其中 xxx.yyy 是控制台变量的名称,zzz 为覆盖默认值
Map Check
Map Check 可以帮助你更好的检查地图中的 Actor 是否存在错误或者不适当的配置
执行主菜单的->Build->MapCheck 即可执行检查当前地图(UE5下)
1 | /** |
在你自己的 Actor 派生类重写 CheckForErrors ,在其中添加检查逻辑即可
检查逻辑可以通过
1 | FMessageLog("MapCheck") |
来生成编辑器 Console 提示,其还可以 Add 各种 Token 来进行帮助跳转
其中 ActorToken 点击可跳转 Actor,ActionToken 点击可以执行一个自定义的命令,AssetNameToken 点击可跳转相关资源,等待