Python to Unity Data Transfer

Python to Unity Data Transfer

This example shows how to send data from Python to Unity using UDP.


Python Code

import socket

# Set up a UDP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

# Define the address and port of the recipient
host = ''
port = 5066
address = (host, port)

# Define the data to be sent
data = b'Hello, world!'

# Send the data
sock.sendto(data, address)

# Close the socket


Unity Code

using System.Net;
using System.Net.Sockets;
using System.Text;
using UnityEngine;

public class UdpServer : MonoBehaviour
    [SerializeField] private int port = 5066;
    [SerializeField] private string ipAddress = "";
    private UdpClient udpClient;
    private IPEndPoint endPoint;

    private void Start()
        // Create a new UDP client
        udpClient = new UdpClient(port);

        // Set the endpoint to any IP address and port 0
        endPoint = new IPEndPoint(IPAddress.Parse(ipAddress), port);

    private void Update()
        // Check if there is any data available
        if (udpClient.Available > 0)
            // Receive the data and endpoint of the sender
            byte[] data = udpClient.Receive(ref endPoint);

            // Convert the data to a string
            string message = Encoding.ASCII.GetString(data);

            // Print the message to the console
            Debug.Log("Received message: " + message);

    private void OnDestroy()
        // Close the UDP client when the object is destroyed