平时使用UE5制作一些工具,经常需要蓝图编辑器下Tick的需求,放在构造函数里只能确保参数修改时触发,但很多时候需要非选中状态下也Tick。测试使用UE5.5。
注意以下两种方法均不支持Realtime Viewport未激活状态,若修改需要C++重写ShouldTickIfViewportsOnly

方法1.LiveLink Update
1.通过LiveLink组件可直接实现Tick,首先激活组件

2.新建蓝图,挂载组件LiveLinkComponentController

3.点击组件找到事件On Live Link Updated,点击事件右侧+号

4.挂载Print节点测试

5.可以看见,已经不断Tick,即使不选中当前Actor也不影响。

方法二.Set Timer by Function Name
1.新建蓝图,继承EditorUtilityActor

2.在构造函数中使用节点Set Timer by Function Name,经测试不会造成触发无限堆叠,不放心可以先Clear下,设置好触发频次

3.添加Print节点测试

4.效果如下。

https://dev.epicgames.com/community/learning/tutorials/PBnR/creating-an-editor-tick-in-unreal-engine