{"id":14960523,"url":"https://github.com/iam1337/extosc","last_synced_at":"2025-10-14T03:59:00.067Z","repository":{"id":43269969,"uuid":"140887276","full_name":"Iam1337/extOSC","owner":"Iam1337","description":"extOSC is a tool dedicated to simplify creation of applications in Unity with OSC protocol usage.","archived":false,"fork":false,"pushed_at":"2025-03-17T09:02:50.000Z","size":1224,"stargazers_count":213,"open_issues_count":8,"forks_count":25,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-04T08:03:34.286Z","etag":null,"topics":["csharp","csharp-code","editor-extension","extosc","framework","opensoundcontrol","osc","osc-protocol","osc-receiver","oscmessage","unity","unity-editor","unity3d","unity3d-plugin"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Iam1337.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-13T19:48:51.000Z","updated_at":"2025-03-19T23:45:32.000Z","dependencies_parsed_at":"2024-01-28T12:30:06.384Z","dependency_job_id":"d6d0e8ad-9748-4837-aad2-bacbeb2568d4","html_url":"https://github.com/Iam1337/extOSC","commit_stats":{"total_commits":211,"total_committers":6,"mean_commits":"35.166666666666664","dds":0.6919431279620853,"last_synced_commit":"17168320587474b41c2f4b74e43547a20673b566"},"previous_names":[],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Iam1337%2FextOSC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Iam1337%2FextOSC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Iam1337%2FextOSC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Iam1337%2FextOSC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Iam1337","download_url":"https://codeload.github.com/Iam1337/extOSC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247142060,"owners_count":20890652,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","csharp-code","editor-extension","extosc","framework","opensoundcontrol","osc","osc-protocol","osc-receiver","oscmessage","unity","unity-editor","unity3d","unity3d-plugin"],"created_at":"2024-09-24T13:22:26.904Z","updated_at":"2025-10-14T03:58:59.986Z","avatar_url":"https://github.com/Iam1337.png","language":"C#","readme":"# extOSC - Open Sound Control Protocol for Unity\n\nCreated by [iam1337](https://github.com/iam1337)\n\n![](https://img.shields.io/badge/unity-2018.3%20or%20later-green.svg)\n[![⚙ Build and Release](https://github.com/Iam1337/extOSC/actions/workflows/ci.yml/badge.svg)](https://github.com/Iam1337/extOSC/actions/workflows/ci.yml)\n[![openupm](https://img.shields.io/npm/v/com.iam1337.extosc?label=openupm\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/com.iam1337.extosc/)\n[![](https://img.shields.io/github/license/iam1337/extOSC.svg)](https://github.com/Iam1337/extOSC/blob/master/LICENSE)\n[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)\n\n### Table of Contents\n- [Introduction](#introduction)\n- [Installation](#installation)\n- [Examples](#examples)\n- - [Create OSC Transmitter](#create-osc-transmitter)\n- - [Send OSCMessage](#send-oscmessage)\n- - [Create OSC Receiver](#create-osc-receiver)\n- - [Receive OSCMessage](#receive-oscmessage)\n- - [Get value from OSCMessage](#get-value-from-oscmessage)\n- [Extensions](#extensions)\n- [Author Contacts](#author-contacts)\n\n## Introduction\nextOSC (Open Sound Control Protocol) is a tool dedicated to simplify creation of applications with OSC protocol usage in Unity (Unity3d). Supported platforms are PC, Mac and Linux / iOS / tvOS / Android / Universal Windows Platform (UWP) and other.\n\nAlso extOSC  is available on the [Unity Asset Store](http://u3d.as/ADA) for free.\n\n### Features:\n\n- **OSC with coding**\u003cbr\u003e\nMassive implementation of methods, utils, and other for simple operations with OSС through code.\n- **OSC without coding**\u003cbr\u003e\nWith extOSC components you can easily implement basic program logic in your application without coding. Components for basic functions: sending, receiving, mapping.\n- **OSC Console**\u003cbr\u003e\nNew separated console for tracking sending and receiving OSC packages:\n[Video](https://www.youtube.com/watch?v=ihVw6v2Meto).\n- **OSC Debug**\u003cbr\u003e\nNew easy to use tool for debugging sending and receiving OSC packages:\n[Video](https://www.youtube.com/watch?v=PU2oSwbbliE).\n- **Map OSC packages**\u003cbr\u003e\nOSCMapping allows you to map float values:\n[Video](https://www.youtube.com/watch?v=73Hjglgx6ss).\n- **UI**\u003cbr\u003e\nFour new UI-components for easy creation of remote control apps with OSC-protocols:\n[Video](https://www.youtube.com/watch?v=phV4Y8Go0_U).\n- **Addresses with masks support**\u003cbr\u003e\nYou can bind addresses with mask (for instance: *\"/lights/\\*/value\"*).\n- **Auto pack bundle**\u003cbr\u003e\nextOSC will bundle your packages for optimisation purposes.\n\n**And also:**\n\n- Every data type support *(include **Array** and **MIDI**)*\n- Compatible with OS X, Windows, iOS \u0026 Android, Windows Store (**Hololens** and **Hololens 2**)\n- Tested with TouchOSC, VVOpenSource, OpenFrameworks and others frameworks and applications\n- Examples\n\n**And much more**\n\n## Installation\n**Old school**\n\nJust copy the [Assets/extOSC](Assets/extOSC) folder into your Assets directory within your Unity project, or [download latest extOSC.unitypackage](https://github.com/iam1337/extOSC/releases).\n\n**OpenUPM**\n\nVia [openupm-cli](https://github.com/openupm/openupm-cli):\u003cbr\u003e\n```\nopenupm add com.iam1337.extosc\n```\n\nOr if you don't have it, add the scoped registry to manifest.json with the desired dependency semantic version:\n```\n\"scopedRegistries\": [\n\t{\n\t\t\"name\": \"package.openupm.com\",\n\t\t\"url\": \"https://package.openupm.com\",\n\t\t\"scopes\": [\n\t\t\t\"com.iam1337.extosc\",\n\t\t]\n\t}\n],\n\"dependencies\": {\n\t\"com.iam1337.extosc\": \"1.19.7\"\n}\n```\n\n**Package Manager**\n\nProject supports Unity Package Manager. To install the project as a Git package do the following:\n\n1. In Unity, open **Window \u003e Package Manager**.\n2. Press the **+** button, choose **\"Add package from git URL...\"**\n3. Enter \"https://github.com/iam1337/extOSC.git#upm\" and press Add.\n\n## Examples\n### Create OSC Transmitter\n```c#\n// Creating a transmitter.\nvar transmitter = gameObject.AddComponent\u003cOSCTransmitter\u003e();\n\n// Set remote host address.\ntransmitter.RemoteHost = \"127.0.0.1\";    \n\n// Set remote port;\ntransmitter.RemotePort = 7001;         \n```\nOr you can simple create **OSCTransmitter component** in Unity editor, or use **Create/extOSC/OSC Manager** in Hierarchy window.\n\n### Send OSCMessage\n```c#\n// Create message\nvar message = new OSCMessage(\"/message/address\");\n\n// Populate values.\nmessage.AddValue(OSCValue.String(\"Hello, world!\"));\nmessage.AddValue(OSCValue.Float(1337f));\n\n// Send message\ntransmitter.Send(message);      \n```\nOr you can use any *extOSC/Transmitter* components.\n\n### Create OSC Receiver\n```c#\n// Creating a receiver.\nvar receiver = gameObject.AddComponent\u003cOSCReceiver\u003e(); \n\n// Set local port.\nreceiver.LocalPort = 7001;            \n```\nOr you can simple create **OSCReceiver component** in Unity editor, or use **Create/extOSC/OSC Manager** in Hierarchy window.\n\n### Receive OSCMessage\nBind method to special address. In address argument you can use masks like: *\"/message/\\*\"*\n```c#\n// Bind \"MessageReceived\" method to special address.\nreceiver.Bind(\"/message/address\", MessageReceived);     \n```\nMethod realization:\n```c#\nprotected void MessageReceived(OSCMessage message)\n{\n\t// Any code...\n\tDebug.Log(message);\n}\n```\nOr you can use any *extOSC/Receiver* components.\u003cbr\u003e\n\n### Get value from OSCMessage\nYou have two ways to get the value from the message.\n```c#\nvar value = message.Values[0].FloatValue;\n// Any code...\nDebug.Log(value);\n```\nor\n```c#\nif (message.ToFloat(out var value))  \n{\n\t// Any code...\n\tDebug.Log(value);\n}\n```\n\n**Other examples you can find in [Examples](Assets/extOSC/Examples) folder.**\n\n## Extensions\n\nList of useful repositories to help make extDebug easier to use:\n\n- [extOSC.InEditor](https://github.com/Iam1337/extOSC.InEditor) - Extension to support extOSC behaviour in Unity Editor\n\n## SAST Tools\n\n[PVS-Studio](https://pvs-studio.com/pvs-studio/?utm_source=website\u0026utm_medium=github\u0026utm_campaign=open_source) - static analyzer for C, C++, C#, and Java code.\n\n## Author Contacts\n\\\u003e [telegram.me/iam1337](http://telegram.me/iam1337) \u003cbr\u003e\n\\\u003e [ext@iron-wall.org](mailto:ext@iron-wall.org)\n\n## License\nThis project is under the MIT License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiam1337%2Fextosc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiam1337%2Fextosc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiam1337%2Fextosc/lists"}