Open Sound Control classes and API for the Unity 3d game engine
Based on Bespoke Open Sound Control Library by Paul Varcholik (pvarchol@bespokesoftware.org). Licensed under MIT license.
THIS REPOSITORY AND PROJECT IS NO LONGER SUPPORTED OR MAINTAINED. After 10 years, I've decided not to continue with its development
Please consider the following alternatives (more modern and better) for using OSC in Unity:
Copy the src/Editor folder contents to the corresponding Editor/ folder of your Unity project. The rest can go to your e.g. Assets/ folder of the same project.
There are two different approaches to use the plugin:
The first and original approach works by modifying and initializing the OSCHandler
. It is a Singleton handling your client & server connections and sending & receiving OSC data. Additionally, all incoming and outgoing messages are logged and can be viewed in an Editor Window.
Check the documentation below for more detailed instructions.
The second approach is a simple OSCReceiver
which only supports receiving OSC data but with the benefits of reduced complexity and a thread-safe OSCMessage
queue.
After opening a server connection by OSCReceiver.Open(int port)
you can easily receive new OSCMessages via OSCReceiver.getNextMessage()
. Always make sure there are OSCMessages available by using OSCReceiver.hasWaitingMessages()
before trying to receive new ones.
docs/doxygen/html/index.html
docs/UnityOSC_manual.pdf
docs/UnityOSC & TouchOSC Integration.pdf
Please head to the tests/ folder for examples of usage and a TouchOSC test Unity project.
07.11 Change string concatenations to C# string builders.