Ui内の可視性制御について

Castの使い方は想像してることとちょっと違う気がします。

[ブループリントでキャストする][1]のドキュメントに細かい説明がありますが、基本的にあるクラスのサブクラスをアクセスするための関数です。変な例えですが、果物クラスのものがあったら、それがりんごであるかを確認して、りんごのプロパティーをアクセスしたい場合に、その果物に「Cast To Apple」みたいなことをします。

ということで、2つ目の画像のCast To Towerの後に何も接続されていないので、TowerであってもTowerじゃなくても、何もしません。

同様に、3つ目の画像で、Player CharacterからCast To Towerにしようとしてるけど、TowerはPlayer Characterのサブクラスではなければ、そのキャストは必ず失敗します。

アクタに近づくと文字などを表示したいなら、ラーニングタブの「UMGインベントリーUI」というサンプルプロジェクトは参考になるかと思います。その中のCanPickupブループリントを見てください。UMGの3D Widgetコンポーネントが追加されています。色々アイテムの情報が含まれてちょっと複雑ですが、以下のスクリプトの部分が見せたいポイントです。

アイテムのコリジョンにオーバーラップがある際に、Cast To MyCharacterでオーバーラップしたのはプレイヤーかどうかを確認します。プレイヤーである場合に、アイテム名のWidgetをViewportに追加します。プレイヤーが離れるとWidgetをViewportから外します。