ブループリントに公開する関数ではメタ指定子で DevelopmentOnly と付けることで Shipping ビルド時にコンパイルから除外することができます。
ブループリント上でもわかりやすく、ノードの下部に Development Only と表示されます。
UFUNCTION(BlueprintCallable, meta = (DevelopmentOnly)) void DevFunc();
PrintString などエンジン内の一部ノードでも DevelopmentOnly 指定子が使われています。
エディタの設定を変更することでこれらのコンパイルオプションをブループリント上から上書きすることができます。
Editor Preferences から Blueprint Editor Settings > Allow Explicit Impure Node Disabling を有効にします。
ブループリント上のノードを右クリックすると COMPILE OPTIONS という項目が増えており、3つのオプションが使えます。
Always: 通常
Development Only: メタ指定子 [DevelopmentOnly] と同様
Disable: コンパイル無し
関数に対してコンパイルオプションが適用される訳ではなく、右クリックして変更したノード1つ1つに適用されます。
上書きされるので PrintString のような DevelopmentOnly 指定子が付いているノードを Always 設定に変更することもできます。
UE Version : 5.0.0-19044958