Verbinde dein Unreal 5-Projekt bequem mit Smartphone dank Unreal Device Link.
Steuere Spielfunktionen, sende Tasteneingaben und erhalte Statusmeldungen direkt in deinem lokalen Netzwerk – ganz ohne komplizierte Einrichtung.

Beschreibung
UnrealDeviceLink bietet eine schnelle Einrichtung, einfache IP/Port-Konfiguration und verständliche Blueprint-Knoten. Ob du Sirenen in einer Simulation umschaltest oder zusätzliche Dashboard-Elemente hinzufügst: Dieses Plugin verbindet PC und mobiles Gerät mühelos im lokalen Netzwerk und hält sie stets synchron.
- Einfacher Setup - Konfiguriere die IP/Port und connecte nach Portfreigabe
- Verbinde dein Handy mit deinem UE Projekt
- Sende String Commands
- Plattform-Unterstützung (PC, Mobil)
- Einfach zu nutzen

UnrealDeviceLink: Showcase
Verwandele dein Smartphone mit nur wenigen Nodes in einen Live-Controller oder ein interaktives Dashboard. Perfekt für Fahrzeugsteuerungen, System-Toggles und erweiterte In-Game-UI. Unterstützt Windows, macOS, Linux, iOS und Android, sodass dein Projekt auf jeder Plattform glänzen kann.
Dokumentation & News
Erste Schritte
- Erstelle zwei Unreal Engine Projekte deiner Wahl, bspw. PC und Android.
- Füge das Plugin hinzu und entscheide dich welche deiner Projekte der „Server“ sein soll.
- Füge bei deinem Server „Start Server“ und bei deinem Device „Connect to Device“ hinzu. Achte darauf das die IP/Port stimmen und das der jeweilige Port freigegeben ist.
- Zweck: Herstellung einer TCP-Verbindung zwischen zwei Anwendungen im gleichen Netzwerk, z. B. PC und Handy, um Eingaben zu übertragen und Statusmeldungen auszutauschen.
- Host-Project: Lauscht auf einem Port (z. B. 7777) und akzeptiert eingehende Verbindungen.
- Device-Project: Verbindet sich zu einem Server (IP, Port).
Verwendung in Blueprints
StartServer
- Category:
UnrealDeviceLink SubSystem
- Description: Startet einen TCP-Server und lauscht auf
InPort
. - Inputs:
- InPort: Portnummer, z. B. 7777
- Outputs (return):
- true, wenn der Server erfolgreich gestartet wurde
- false, wenn z. B. das Binden oder Listen fehlgeschlagen ist
StopServer
- Category:
UnrealDeviceLink SubSystem
- Description: Beendet den lauschenden Server und schließt den entsprechenden Socket.
ConnectToDevice
- Category:
UnrealDeviceLink SubSystem
- Description: Baut eine Verbindung als TCP-Client zu einem Server auf (IP, Port).
- Inputs:
- InIP: IP-Adresse (z. B.
"192.168.0.10"
) - InPort: Portnummer, z. B. 7777
- InIP: IP-Adresse (z. B.
- Outputs (return):
- true, wenn der Connect-Aufruf erfolgreich abgesetzt wurde
- false, wenn kein Socket erstellt werden konnte oder die IP ungültig ist oder keine Verbindung zustande kam
DisconnectFromDevice
- Category:
UnrealDeviceLink SubSystem
- Description: Trennt eine aktive Verbindung, schließt Socket und Thread.
IsDeviceConnected
- Category:
UnrealDeviceLink SubSystem
- Description: Gibt zurück, ob gerade eine aktive Socket-Verbindung besteht (Client-Verbindung oder akzeptierter Socket).
- Outputs (return):
- true, wenn ein gültiger Socket existiert
- false, wenn nicht
SendMessageToDevice
- Category:
UnrealDeviceLink SubSystem
- Description: Sendet eine Nachricht an die Gegenseite. Nutzt ein kleines Protokoll (4 Bytes Länge + UTF-8-Daten).
- Inputs:
- Message: Beliebiger Text (z. B.
"1"
,"W1"
,"Hallo Welt"
usw.)
- Message: Beliebiger Text (z. B.
- Outputs (return):
- true, wenn das Senden geklappt und die korrekte Anzahl Bytes übertragen wurde.
- false, wenn kein Socket offen oder der Socket-Write fehlschlägt.
Verwendung von Events
OnConnectionSucceeded
- Category:
UnrealDeviceLink SubSystem
- Description: Wird ausgelöst, sobald eine Verbindung erfolgreich hergestellt wurde (als Client) oder wenn ein Client-Worker gestartet wurde (bei akzeptierter Verbindung auf dem Server).
- Workflow:
- Im Client-Worker, sobald
Recv
-Schleife anläuft - Kann genutzt werden, um ein UI-Feedback zu geben („Verbunden!“).
- Im Client-Worker, sobald
OnConnectionFailed
- Category:
UnrealDeviceLink SubSystem
- Description: Feuert, wenn
ConnectToDevice
scheitert. - Workflow:
- IP ungültig
- Port blockiert
- Socket konnte nicht erstellt werden
OnConnectionClosed
- Category:
UnrealDeviceLink SubSystem
- Description: Meldet, dass die Verbindung abgebrochen oder manuell getrennt wurde.
- Workflow:
- Aufruf von
DisconnectFromDevice()
- Verbindung unerwartet weg (Gegenseite beendet Socket)
- Aufruf von
OnMessageReceived
- Category:
UnrealDeviceLink SubSystem
- Description: Enthält den empfangenen Text vom Gegenstück.
- Outputs (return):
- Message: Empfangener String
- Workflow:
- Sobald die Recv-Schleife ein vollständiges Paket liest
- Im Längen-basierten Protokoll wird zuerst die Größe, dann die UTF-8-Nachricht ausgewertet
- Geeignet für: Tasten-ID vom Handy („1“), Status vom PC („W1“), etc.
Blueprint Beispiel
Bspw. PC-Seite (Server / Host)
- Event BeginPlay (z. B. Level BP)
- Get Game Instance Subsystem →
UnrealDeviceLinkSubsystem
- StartServer(7777)
- Bind/Assign OnMessageReceived → verarbeite Handy-Eingaben
- Bind/Assign OnConnectionSucceeded → ggf. Meldung „Client connected“
- Get Game Instance Subsystem →
- Wenn der Handy-Client erfolgreich connected, kann der PC über
SendMessageToDevice("W1")
etwas zurücksenden.
Bspw. Handy-Seite (Client / Device)
- Event BeginPlay (z. B. in UI oder Level BP)
- Get Game Instance Subsystem →
UnrealDeviceLinkSubsystem
- ConnectToDevice(„192.168.0.10“, 7777)
- Bind/Assign OnMessageReceived → verarbeite PC-Antworten
- Bind/Assign OnConnectionSucceeded → UI-Feedback („Verbunden mit PC“)
- Get Game Instance Subsystem →
- Button OnPressed →
SendMessageToDevice("1")
→ PC bekommt"1"
→ öffnet Tür. - Wenn PC
"W1"
schickt, taucht das inOnMessageReceived("W1")
auf → Handy ändert Icon.
Troubleshooting & Common Issues
Wer ist Server, wer ist Client?
- In einem LAN-Setup meist PC = Server (Port 7777) und Handy = Client (ConnectToDevice).
- Theoretisch umkehrbar, aber Android blockiert eingehende Verbindungen häufig hinter NAT/Firewall.
Bidirektional?
- Ja, eine TCP-Verbindung unterstützt gleichzeitiges Senden/Empfangen in beide Richtungen.
Lokale Netzwerk-Firewall
- Achte auf Freigabe des Ports (z. B. 7777) in der Windows-Firewall.
Kurze Nachrichten wie „1“
- Kein Problem dank Längen-basierter Übertragung. Es kommen keine fehlerhaften Bytes an.
Demonstration Content
Hier kannst du ein Unreal Engine Android Projekt und ein Unreal Engine Windows Projekt herunterladen. Beide Plugins nutzen das UnrealDeviceLink Plugin, sowie die Unreal Engine 5.4. Achte darauf das du das Plugin über den Epic Games Launcher installierst und nutzt / oder in den /Plugins/ Ordner im Projektordner verschiebst.
Möglicherweise müssen die Projekte mit Visual Studio neu gebuildet werden, mache einen rechtsklick auf die UProject Datei und klicke auf „Generate Visual Studio Files“ – starte dann das Projekt.
Unreal 5.4 – Android Demo Project: https://drive.google.com/file/d/1RES4d2T45x6xa6ZH7S751pH1hpZdvU3b/view?usp=sharing
Unreal 5.4 – Windows Demo Project: https://drive.google.com/file/d/1RM_htZOXbTqIWALpsbz2n4Za4gBLlL7B/view?usp=sharing