上記記述で実行すると
クラス IIF_Interact にメンバー Execute_FocusOn がありません
というエラーが発生します。
その理由は、呼び出している関数がUFUNCTIONではないからです
Execute_*** は、関数がUFUNCTIONであるときに、UHTにより自動生成される BP用の 関数です
C++実装のみであれば、通常のC++関数として呼びましょう
UFUNCTIONであるときも、事前にCastするのであれば Execute_*** の方を使う必要はないです
実装クラス内で実装時の関数名をFocusOn_Implementation()にしてみた。
その場合、基底クラスにそんな関数ないよと怒られました。
こちらも同様に、UFUNCTIONかつBlueprintNativeEventである必要があります
その場合も***_Implementation の方を直接呼んではいけません
それはBPによるOverride実装を無視することになります