【UEFN】Signal Remote Manager Device (信号リモコンマネージャー) の使い方|Verseで遠隔テレポートを実装する
こんにちは、UEクリエイターズです。今回もUEFN(Unreal Editor for Fortnite)の使い方について解説していきます。
この記事では、Signal Remote Manager Device(信号リモコンマネージャーの仕掛け)を使った遠隔操作ロジックの実装について具体的に説明していきます。
動画でも解説しているので参考にしてみてください。
概要

Signal Remote Manager Device(信号リモコンマネージャーの仕掛け)を使用すると、プレイヤーが携帯する「信号リモコン(Signal Remote)」からの入力を検知し、任意のイベントを実行させることができます。
通常のボタンと異なり、プレイヤーは「いつでも」「どこでも」「任意のタイミング」でロジックを呼び出すことが可能です。
本記事では、このデバイスとVerseを組み合わせ、メインボタン(左クリック)とサブボタン(右クリック)で異なる地点へテレポートするシステムを構築します。
実装する機能
- メインボタン(Primary): A地点(例:拠点)へテレポート
- サブボタン(Secondary): B地点(例:資源エリア)へテレポート
※検証環境:Unreal Editor 5.8(2025年12月時点)
デバイスの基本設定
まずは必要なデバイスをビューポートに配置し、基本設定を行います。
1. Signal Remote Manager (信号リモコンマネージャー)

このデバイスは、プレイヤーが持つリモコンアイテムからの信号を受け取る役割を果たします。

- 配置:
Content Browser>Fortnite>Devicesからドラッグ&ドロップ。

- 重要な設定:
- Signal Remote Tier (信号リモコンのティア): ここが最も重要です。使用するリモコンアイテムのレアリティと一致させる必要があります。
- 今回は「Signal Remote A(緑色)」を使用するため、Uncommon に設定します。ここが不一致だと信号を受信しません。
2. Item Spawner (アイテムスポナー)

プレイヤーに信号リモコンを配布するためのスポナーです。

- Item List (アイテムリスト):
Signal Remote A(Uncommon/緑色) を登録します。- ※検索時は「Signal」と入力し、Managerで設定したティアと同じ色のアイテムを選んでください。
3. Teleporter (テレポーター) × 2

移動先となるデバイスです。A地点用とB地点用の2つを配置します。設定はデフォルトのままで問題ありませんが、識別しやすいように名前や位置を調整してください。
Verseによる制御・実装
Signal Remote Managerからのイベント(PrimarySignalEvent, SecondarySignalEvent)をVerseで購読し、Teleporterの機能と連携させます。
Verseコード
以下は、信号の種類に応じてテレポート先を切り替える完全なコードです。
コード スニペット
# ----------------------------------------------
# Documentation: https://uecreators.com/signal-remote-verse
# ----------------------------------------------
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# 信号リモコンを使って、2つの地点を行き来するデバイス
remote_teleport_manager := class(creative_device):
# 1. 信号リモコンマネージャー
# ゲーム内でプレイヤーが持つリモコンと同じ「レアリティ」に設定してください
@editable
MyRemoteManager : signal_remote_manager_device = signal_remote_manager_device{}
# 2. メインボタンで移動する先(A地点)
# 例:自宅、ロビーなど
@editable
TeleporterA : teleporter_device = teleporter_device{}
# 3. サブボタンで移動する先(B地点)
# 例:採掘場、農場など
@editable
TeleporterB : teleporter_device = teleporter_device{}
# ゲーム開始時の処理
OnBegin<override>()<suspends>:void=
# メインボタン(左クリック/射撃)が押された時のイベントを登録
# 押されたら、A地点へ移動する関数(GoToLocationA)を実行します
MyRemoteManager.PrimarySignalEvent.Subscribe(GoToLocationA)
# サブボタン(右クリック/照準)が押された時のイベントを登録
# 押されたら、B地点へ移動する関数(GoToLocationB)を実行します
MyRemoteManager.SecondarySignalEvent.Subscribe(GoToLocationB)
# A地点(メインの行き先)へ転送する関数
GoToLocationA(Agent:agent):void=
Print("メインボタン検知:A地点へ転送します。")
# リモコンを押した本人(Agent)を、TeleporterAの位置へ移動させます
TeleporterA.Teleport(Agent)
# B地点(サブの行き先)へ転送する関数
GoToLocationB(Agent:agent):void=
Print("サブボタン検知:B地点へ転送します。")
# リモコンを押した本人(Agent)を、TeleporterBの位置へ移動させます
TeleporterB.Teleport(Agent)
実装のポイント
- イベントの購読:
PrimarySignalEvent: マウス左クリック(攻撃ボタン)に対応。SecondarySignalEvent: マウス右クリック(照準ボタン)に対応。
- Agent情報の引き継ぎ:
- イベント発生時に渡される
Agent(操作したプレイヤー)をTeleporter.Teleport(Agent)にそのまま渡すことで、トリガーした本人を移動させています。
- イベント発生時に渡される
エディタでの紐付け
Verseコードをビルド(Ctrl + Shift + B)した後、作成されたデバイスをビューポートに配置します。詳細パネル(Details)で以下の通り割り当てを行ってください。

- MyRemoteManager: 配置した
Signal Remote Managerを選択。 - TeleporterA: A地点の
Teleporterを選択。 - TeleporterB: B地点の
Teleporterを選択。
設定完了後、「Push Changes」を行い、ゲームを開始して動作を確認します。リモコンを持って左クリック・右クリックを行い、それぞれの地点へ転送されれば成功です。
まとめ
Signal Remote Manager Deviceを使用することで、場所にとらわれない柔軟なゲームロジックが構築可能です。
今回はテレポートを例に挙げましたが、攻撃魔法の発動(メイン)と回復スキルの発動(サブ)、あるいはUIメニューの表示切替など、アイデア次第で多様なシステムに応用できます。 「携帯可能な物理ボタン」として、ぜひ自身のプロジェクトに取り入れてみてください。
関連資料
動画版はこちら:https://youtu.be/kl-3oODN_EI
