UE4 / C++ / エディタでTickを有効にする方法

Actor派生クラスのヘッダでShouldTickIfViewportsOnlyをoverrideしてtrueを返せばエディタでもTickが動くようになる。

virtual bool ShouldTickIfViewportsOnly() const override { return true; };

このアクタをレベル上に配置すると、エディタ上でもTickが定期的に実行されるようになる。
Tick間隔をクラスデフォルトで変更するとすぐ反映される。

このクラスを親に持つBPクラスを作った場合は
レベルに配置してもBPのTickはエディタ上では動かない。C++のTickのみがエディタ上で動く。
BP編集中だけBPのTickもエディタ上で動くようになるが、BPのTick処理からはGetAllActorsノードなどで他のアクタへアクセスできない。編集専用のレベル上で実行されているっぽい。

プレイした場合は通常のTickとおなじように動き、BPのTickからでも他のアクタへアクセスできる。