[UE] C++ BP関数をDevelopmentOnly表示について

Shippingだと実行してほしくないBP関数を用意する場合に使われますよね。
以下のようにUFUNCTIONのメタデータを指定するとそのように表示されます。

meta = (DevelopmentOnly)

エディターでBP関数の表示が変わる

たとえば、以下のような関数があるとします。

	UFUNCTION(BlueprintCallable, meta = (DevelopmentOnly))
	void TestFunc0();

	UFUNCTION(BlueprintCallable)
	void TestFunc1();

meta = (DevelopmentOnly)がある方に 「Development Only」が表示されます。
これでShippingビルドだと実行されないはずが、そのようになりません。

ところで、PrintStringの見た目と似てますね。

PrintStringはShippingビルドで実行されませんが、
C++側のプリプロセッサディレクティブで制御されています。

PrintStringがShippingビルドで表示されないのとは処理が違います。
Compile Blueprints in Development Mode」をFalseにしないと
meta = (DevelopmentOnly)は効きません。

参考文献