複数のターゲットポイントから一つを選択して移動するai

NavMeshBoundsVolumeで覆われた空間内に4か所のTargetPointを配置し,AIに4か所のうちどれか1か所にランダムで移動させようとしています.
BTをシーケンサ下に以下の順で実行するつもりで作りました.

①BTタスク:TargetPointのアクタをタグで判別し取得(Get All Actors with Tag).アクタ配列の中からランダムで1つを選択し,その位置座標をブラックボードのキーとして設定.
②Move Toタスクノード:①で選択したはずのTargetPointの位置座標へ移動.
③5秒待機

しかし,①内で出力させた位置座標と②で実際に移動した先が異なっていました.
①と②が実行さる間に,ブラックボードのキーが変化してしまった理由が分かりません.
原因・解決方法をご教示いただけると幸いです.

Pure関数(白いピンの付いていないもの)は実行結果が保存されないので、実行されるたびに結果が変わる可能性があります
今回の場合、RandomIntegerがPure関数であるため、実行ごとにRandom値が異なる、というのが原因です
値が変わって困る場合は、一番最初の実行時に変数に保存する必要があります

なお、Blackboard内の値は変わっていないので、そちらの内容を取得して表示するのがよいでしょう

T_Sumisaki様
早速の回答ありがとうございます.
指示通りランダム値を一度変数として保存したところ,望み通りの結果が得られました.
Random Integerが一連の処理の中で,SetBlackboardValue…とPrintStringのために2回実行されたと考える必要があるのですね.大変勉強になりました.丁寧な解説ありがとうございました.