Hi, I'm trying to use this code: Code (CSharp): using UnityEngine; using System.Collections; using System.Net; using System.Net.Sockets; using System.Threading; using System.IO; using System; using System.Text; public delegate void ActivityEventHandlerUDP( string msg ); public class ActivityListener : MonoBehaviour { private System.Threading.Thread ActivityListenerThread; private bool run = true; public event ActivityEventHandlerUDP activityData; private int receivePortUDP = 9901; //4252; private UdpClient client; private IPEndPoint remoteIpEndPoint; public string myMessage=""; void Start(){ Debug.Log ("Start Activity remote listener"); //Only start listener if you are the main display //if(XimDisplayNetworkSettings.getXimNetworkingMode() == XimDisplayNetworkSettings.XIMNetworkingmodes.SERVER){ //UDP /* */ //} client = new System.Net.Sockets.UdpClient( receivePortUDP ); remoteIpEndPoint = new System.Net.IPEndPoint( System.Net.IPAddress.Any, receivePortUDP ); ActivityListenerThread = new System.Threading.Thread(new System.Threading.ThreadStart( listenActivityUDPThread ) ); ActivityListenerThread.Name = "Activity UDP listen thread"; ActivityListenerThread.Start(); } void OnDestroy(){ run = false; if (ActivityListenerThread != null) ActivityListenerThread.Abort(); if( client != null ) client.Close(); } private void listenActivityUDPThread(){ while(run){ try{ //Read the bottle byte[] packet = client.Receive( ref remoteIpEndPoint ); // send message // if( packet != null && packet.Length > 0 ){ string message = ExtractString( packet, 0, packet.Length ); Debug.Log (message); myMessage = message; if(activityData != null){ activityData(message); } } Debug.Log(myMessage); } catch (Exception e) { Debug.Log( e.ToString() ); } } } private string ExtractString( byte[] packet, int start, int length ) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < packet.Length; i++) { sb.Append ((char)packet [i]); } return sb.ToString(); } void ReadData(UdpClient ci, String text){ Console.WriteLine("Received text message: "+text); } } And it works kind of well, but I don't find the way to extract the info of the osc package I'm sending. The message is: /activity "0.6343149, 0.24177371, 0.124862194, 0.9113936, 0.12371367, 0.48712423, 0.42828846, 0.69702476, 0.92075056, 0.104008615, 0.34763572, 0.2345885, 0.059998512, 0.31695354, 0.6864477, 0.8406349, 0.82458776, 0.22075915, 0.36120734, 0.975904, ..." But in Unity I only read "/activity" as a message, the rest of the numbers doesn't appear. Thanks for the help David