Save up to 70% on our assets during the Black Friday sale in the Unreal Marketplace

Connect your Unreal 5 project conveniently with a smartphone thanks to Unreal Device Link. Control game functions, send key inputs, and receive status messages directly in your local network – all without complicated setup.
Unreal Device Link - Easy Mobile Input

Description

UnrealDeviceLink offers quick setup, easy IP/port configuration, and understandable Blueprint nodes. Whether you switch sirens in a simulation or add extra dashboard elements: this plugin effortlessly connects PC and mobile devices in the local network and keeps them always in sync.

Screenshots

Unreal Device Link - Easy Mobile Input (Connect your Smartphone with your Game)
Play Video about Unreal Device Link - Easy Mobile Input (Connect your Smartphone with your Game)

UnrealDeviceLink: Showcase

Turn your smartphone into a live controller or an interactive dashboard with just a few nodes. Perfect for vehicle controls, system toggles, and advanced in-game UI. Supports Windows, macOS, Linux, iOS, and Android, so your project can shine on any platform.

Documentation & News

First Steps

  1. Create two Unreal Engine projects of your choice, e.g., PC and Android.
  2. Add the plugin and decide which of your projects will be the “server”.
  3. Add “Start Server” to your server and “Connect to Device” to your device. Ensure that the IP/Port are correct and that the respective port is open.
  • Purpose: Establish a TCP connection between two applications on the same network, e.g., PC and phone, to transmit inputs and exchange status messages.
  • Host Project: Listens on a port (e.g., 7777) and accepts incoming connections.
  • Device Project: Connects to a server (IP, Port).

Usage in Blueprints

StartServer
  • Category: UnrealDeviceLink SubSystem
  • Description: Starts a TCP server and listens on InPort.
  • Inputs:
    • InPort: Port number, e.g., 7777
  • Outputs (return):
    • true, if the server was started successfully
    • false, if, for example, binding or listening failed
StopServer
  • Category: UnrealDeviceLink SubSystem
  • Description: Stops the listening server and closes the corresponding socket.
ConnectToDevice
  • Category: UnrealDeviceLink SubSystem
  • Description: Establishes a connection as a TCP client to a server (IP, Port).
  • Inputs:
    • InIP: IP address (e.g., "192.168.0.10")
    • InPort: Port number, e.g., 7777
  • Outputs (return):
    • true, if the Connect call was successfully made
    • false, if a socket could not be created, the IP is invalid, or no connection was established
DisconnectFromDevice
  • Category: UnrealDeviceLink SubSystem
  • Description: Disconnects an active connection, closes the socket and thread.
IsDeviceConnected
  • Category: UnrealDeviceLink SubSystem
  • Description: Returns whether there is currently an active socket connection (client connection or accepted socket).
  • Outputs (return):
    • true, if a valid socket exists
    • false, if not
SendMessageToDevice
  • Category: UnrealDeviceLink SubSystem
  • Description: Sends a message to the other side. Uses a small protocol (4 bytes length + UTF-8 data).
  • Inputs:
    • Message: Any text (e.g., "1", "W1", "Hello World", etc.)
  • Outputs (return):
    • true, if sending succeeded and the correct number of bytes was transmitted.
    • false, if no socket is open or the socket write fails.

Usage of Events

OnConnectionSucceeded
  • Category: UnrealDeviceLink SubSystem
  • Description: Triggered as soon as a connection is successfully established (as a client) or when a client worker is started (for accepted connections on the server).
  • Workflow:
    • In the client worker, once the Recv loop starts
    • Can be used to provide UI feedback (“Connected!”).
OnConnectionFailed
  • Category: UnrealDeviceLink SubSystem
  • Description: Fires when ConnectToDevice fails.
  • Workflow:
    • IP invalid
    • Port blocked
    • Socket could not be created
OnConnectionClosed
  • Category: UnrealDeviceLink SubSystem
  • Description: Reports that the connection was broken or manually disconnected.
  • Workflow:
    • Call of DisconnectFromDevice()
    • Connection unexpectedly lost (other side closed socket)
OnMessageReceived
  • Category: UnrealDeviceLink SubSystem
  • Description: Contains the received text from the counterpart.
  • Outputs (return):
    • Message: Received string
  • Workflow:
    • As soon as the Recv loop reads a complete package
    • In the length-based protocol, first the size is evaluated, then the UTF-8 message
    • Suitable for: Button ID from phone (“1”), status from PC (“W1”), etc.

Blueprint Example

Example PC Side (Server / Host)
  1. Event BeginPlay (e.g., Level BP)
    1. Get Game Instance SubsystemUnrealDeviceLinkSubsystem
    2. StartServer(7777)
    3. Bind/Assign OnMessageReceived → process phone inputs
    4. Bind/Assign OnConnectionSucceeded → optionally display “Client connected” message
  2. If the phone client successfully connects, the PC can send something back using SendMessageToDevice("W1").
Example Phone Side (Client / Device)
  • Event BeginPlay (e.g., in UI or Level BP)
    1. Get Game Instance SubsystemUnrealDeviceLinkSubsystem
    2. ConnectToDevice(“192.168.0.10”, 7777)
    3. Bind/Assign OnMessageReceived → process PC responses
    4. Bind/Assign OnConnectionSucceeded → UI feedback (“Connected to PC”)
  • Button OnPressedSendMessageToDevice("1") → PC receives "1" → opens door.
  • If PC sends "W1", it appears in OnMessageReceived("W1") → phone changes icon.

Troubleshooting & Common Issues

Who is Server, who is Client?
  • In a LAN setup, usually PC = Server (Port 7777) and Phone = Client (ConnectToDevice).
  • Theoretically reversible, but Android often blocks incoming connections behind NAT/Firewall.
Bidirectional?
  • Yes, a TCP connection supports simultaneous sending/receiving in both directions.
Local Network Firewall
  • Ensure the port is open (e.g., 7777) in the Windows firewall.
Short Messages like “1”
  • No problem thanks to length-based transmission. No faulty bytes are received.

Demonstration Content

You can download an Unreal Engine Android project and an Unreal Engine Windows project here. Both plugins utilize the UnrealDeviceLink plugin, as well as Unreal Engine 5.4. Make sure to install and use the plugin via the Epic Games Launcher and/or move it to the /Plugins/ folder in the project directory.

You may need to rebuild the projects with Visual Studio. Right-click on the .uproject file and click on “Generate Visual Studio Files” – then launch the project.

Scroll to Top

Schön das du Interesse an dieser Anwendung hast.
Wähle unten die gewünschte Version aus.

Texture Channel Packer ist ein kostenloses Tool mit dem du verschiedene Texturen zu einer RGB Textur packen kannst.

Portable Edition – v1.0 | Größe: 10,7 mb

Thank you for your interest in this application.
Select the version you want below.

Texture Channel Packer is a tool that allows you to pack different textures into one RGB texture.

Portable Edition – v1.0 | Size: 10,7 mb

















WELL, WORK IN PROCESS | Check out the German Page, there it is working.