├── com.unity.media.osc ├── .npmignore ├── Tests │ ├── .tests.json │ ├── Editor │ │ ├── OscClientTests.cs.meta │ │ ├── OscStreamTests.cs.meta │ │ ├── Unity.Media.Osc.Tests.Editor.asmdef.meta │ │ ├── OscUtilsTests.cs.meta │ │ ├── OscAddressTests.cs.meta │ │ ├── OscCallbacksTests.cs.meta │ │ ├── OscParsingTests.cs.meta │ │ ├── OscWriterTests.cs.meta │ │ ├── OscAddressSpaceTests.cs.meta │ │ └── Unity.Media.Osc.Tests.Editor.asmdef │ └── Editor.meta ├── Documentation~ │ ├── projectMetadata.json │ ├── images │ │ ├── ref-component-osc-sender.png │ │ ├── ref-window-osc-monitor.png │ │ ├── ref-component-osc-receiver.png │ │ ├── ref-component-osc-message-handler.png │ │ └── ref-component-osc-message-output.png │ ├── TableOfContents.md │ ├── filter.yml │ ├── getting-started.md │ ├── installation.md │ ├── features.md │ ├── index.md │ ├── example-osc-output.md │ └── example-osc-input.md ├── .buginfo ├── Editor │ ├── OscUIUtils.cs.meta │ ├── Components.meta │ ├── Unity.Media.Osc.Editor.asmdef.meta │ ├── Components │ │ ├── ReflectionHelpers.meta │ │ ├── OscMessageBaseEditor.cs.meta │ │ ├── ReflectionHelpers │ │ │ ├── ComponentFinder.cs.meta │ │ │ └── ReflectedMemberPreserver.cs.meta │ │ ├── OscMessageOutputEditor.cs.meta │ │ ├── OscNetworkReceiverEditor.cs.meta │ │ ├── OscNetworkSenderEditor.cs.meta │ │ └── OscMessageHandlerEditor.cs.meta │ ├── Unity.Media.Osc.Editor.asmdef │ └── OscMonitorWindow.cs.meta ├── Runtime │ ├── Core │ │ ├── Enums.meta │ │ ├── Parser.meta │ │ ├── Structs.meta │ │ ├── OscAddress.cs.meta │ │ ├── OscClient.cs.meta │ │ ├── OscServer.cs.meta │ │ ├── OscWriter.cs.meta │ │ ├── AssemblyInfo.cs.meta │ │ ├── Enums │ │ │ ├── TypeTag.cs.meta │ │ │ ├── AddressType.cs.meta │ │ │ ├── Status.cs.meta │ │ │ ├── AddressType.cs │ │ │ └── Status.cs │ │ ├── OscAddressSpace.cs.meta │ │ ├── OscCallbacks.cs.meta │ │ ├── OscConstants.cs.meta │ │ ├── Streams │ │ │ ├── OscStreamType.cs.meta │ │ │ ├── SLIP.meta │ │ │ ├── LengthPrefix.meta │ │ │ ├── OscStreamReader.cs.meta │ │ │ ├── OscStreamWriter.cs.meta │ │ │ ├── SLIP │ │ │ │ ├── SlipConstants.cs.meta │ │ │ │ ├── SlipStreamReader.cs.meta │ │ │ │ ├── SlipStreamWriter.cs.meta │ │ │ │ └── SlipConstants.cs │ │ │ ├── LengthPrefix │ │ │ │ ├── LengthPrefixStreamReader.cs.meta │ │ │ │ ├── LengthPrefixStreamWriter.cs.meta │ │ │ │ └── LengthPrefixStreamWriter.cs │ │ │ ├── OscStreamType.cs │ │ │ └── OscStreamWriter.cs │ │ ├── Structs │ │ │ ├── MidiMessage.cs.meta │ │ │ └── TimeTag.cs.meta │ │ ├── Utility │ │ │ ├── ExtensionMethods.cs.meta │ │ │ ├── EnumUtils.cs.meta │ │ │ ├── OscUtils.cs.meta │ │ │ ├── PatternMatching.cs.meta │ │ │ ├── PlayerLoopExtensions.cs.meta │ │ │ ├── Il2CppSetOptionsAttribute.cs.meta │ │ │ └── EnumUtils.cs │ │ ├── Streams.meta │ │ ├── Utility.meta │ │ ├── Parser │ │ │ ├── Arguments.meta │ │ │ ├── OscBundle.cs.meta │ │ │ ├── OscMessage.cs.meta │ │ │ ├── OscPacket.cs.meta │ │ │ ├── OscBundleElement.cs.meta │ │ │ └── Arguments │ │ │ │ ├── OscMessage.Blob.cs.meta │ │ │ │ ├── OscMessage.Float.cs.meta │ │ │ │ ├── OscMessage.Int.cs.meta │ │ │ │ ├── OscMessage.Int64.cs.meta │ │ │ │ ├── OscMessage.MIDI.cs.meta │ │ │ │ ├── OscMessage.AsciiChar.cs.meta │ │ │ │ ├── OscMessage.Boolean.cs.meta │ │ │ │ ├── OscMessage.Color32.cs.meta │ │ │ │ ├── OscMessage.Float64.cs.meta │ │ │ │ ├── OscMessage.String.cs.meta │ │ │ │ ├── OscMessage.TimeTag.cs.meta │ │ │ │ ├── OscMessage.Boolean.cs │ │ │ │ ├── OscMessage.MIDI.cs │ │ │ │ ├── OscMessage.AsciiChar.cs │ │ │ │ ├── OscMessage.TimeTag.cs │ │ │ │ ├── OscMessage.Color32.cs │ │ │ │ ├── OscMessage.Int.cs │ │ │ │ ├── OscMessage.Int64.cs │ │ │ │ ├── OscMessage.Float64.cs │ │ │ │ └── OscMessage.Float.cs │ │ ├── Unity.Media.Osc.asmdef.meta │ │ ├── OscManager.cs.meta │ │ ├── Unity.Media.Osc.asmdef │ │ ├── AssemblyInfo.cs │ │ └── OscConstants.cs │ ├── Protocols │ │ ├── IP │ │ │ ├── Utils.meta │ │ │ ├── AssemblyInfo.cs.meta │ │ │ ├── OscIpClient.cs.meta │ │ │ ├── OscIpServer.cs.meta │ │ │ ├── OscTcpClient.cs.meta │ │ │ ├── OscTcpServer.cs.meta │ │ │ ├── Utils │ │ │ │ ├── SocketStream.cs.meta │ │ │ │ ├── AsyncExtensions.cs.meta │ │ │ │ ├── UpdateThread.cs.meta │ │ │ │ ├── NetworkingUtils.cs.meta │ │ │ │ ├── AsyncExtensions.cs │ │ │ │ └── SocketStream.cs │ │ │ ├── Unity.Media.Osc.Net.asmdef.meta │ │ │ ├── OscUdpClient.cs.meta │ │ │ ├── OscUdpServer.cs.meta │ │ │ ├── Unity.Media.Osc.Net.asmdef │ │ │ └── AssemblyInfo.cs │ │ └── IP.meta │ ├── Components │ │ ├── AssemblyInfo.cs.meta │ │ ├── AssemblyInfo.cs │ │ ├── Receiving.meta │ │ ├── Sending.meta │ │ ├── Utility.meta │ │ ├── Receiving │ │ │ ├── Arguments.meta │ │ │ ├── ArgumentHandler.cs.meta │ │ │ ├── OscMessageHandler.cs.meta │ │ │ ├── OscMessageHandlerBase.cs.meta │ │ │ ├── ArgumentHandlerAttribute.cs.meta │ │ │ ├── Arguments │ │ │ │ ├── ArgumentHandlerBlob.cs.meta │ │ │ │ ├── ArgumentHandlerBool.cs.meta │ │ │ │ ├── ArgumentHandlerChar.cs.meta │ │ │ │ ├── ArgumentHandlerColor.cs.meta │ │ │ │ ├── ArgumentHandlerDouble.cs.meta │ │ │ │ ├── ArgumentHandlerFloat.cs.meta │ │ │ │ ├── ArgumentHandlerInt.cs.meta │ │ │ │ ├── ArgumentHandlerLong.cs.meta │ │ │ │ ├── ArgumentHandlerMidi.cs.meta │ │ │ │ ├── ArgumentHandlerRect.cs.meta │ │ │ │ ├── ArgumentHandlerRectInt.cs.meta │ │ │ │ ├── ArgumentHandlerString.cs.meta │ │ │ │ ├── ArgumentHandlerTimeTag.cs.meta │ │ │ │ ├── ArgumentHandlerVector2.cs.meta │ │ │ │ ├── ArgumentHandlerVector3.cs.meta │ │ │ │ ├── ArgumentHandlerVector4.cs.meta │ │ │ │ ├── ArgumentHandlerMatrix4x4.cs.meta │ │ │ │ ├── ArgumentHandlerQuaternion.cs.meta │ │ │ │ ├── ArgumentHandlerVector2Int.cs.meta │ │ │ │ ├── ArgumentHandlerVector3Int.cs.meta │ │ │ │ ├── ArgumentHandlerInt.cs │ │ │ │ ├── ArgumentHandlerLong.cs │ │ │ │ ├── ArgumentHandlerChar.cs │ │ │ │ ├── ArgumentHandlerFloat.cs │ │ │ │ ├── ArgumentHandlerString.cs │ │ │ │ ├── ArgumentHandlerDouble.cs │ │ │ │ ├── ArgumentHandlerMidi.cs │ │ │ │ ├── ArgumentHandlerTimeTag.cs │ │ │ │ ├── ArgumentHandlerColor.cs │ │ │ │ ├── ArgumentHandlerVector2.cs │ │ │ │ ├── ArgumentHandlerVector2Int.cs │ │ │ │ ├── ArgumentHandlerVector3.cs │ │ │ │ ├── ArgumentHandlerBool.cs │ │ │ │ ├── ArgumentHandlerVector3Int.cs │ │ │ │ ├── ArgumentHandlerVector4.cs │ │ │ │ ├── ArgumentHandlerBlob.cs │ │ │ │ ├── ArgumentHandlerQuaternion.cs │ │ │ │ ├── ArgumentHandlerRect.cs │ │ │ │ ├── ArgumentHandlerRectInt.cs │ │ │ │ └── ArgumentHandlerMatrix4x4.cs │ │ │ └── ArgumentHandlerAttribute.cs │ │ ├── Sending │ │ │ ├── Arguments.meta │ │ │ ├── ArgumentOutput.cs.meta │ │ │ ├── PropertyOutput.cs.meta │ │ │ ├── ArgumentDirtyFlags.cs.meta │ │ │ ├── DynamicGetterCache.cs.meta │ │ │ ├── OscMessageOutput.cs.meta │ │ │ ├── ArgumentOutputAttribute.cs.meta │ │ │ ├── OscMessageOutputBase.cs.meta │ │ │ ├── Arguments │ │ │ │ ├── ArgumentOutputBlob.cs.meta │ │ │ │ ├── ArgumentOutputBool.cs.meta │ │ │ │ ├── ArgumentOutputChar.cs.meta │ │ │ │ ├── ArgumentOutputColor.cs.meta │ │ │ │ ├── ArgumentOutputInt16.cs.meta │ │ │ │ ├── ArgumentOutputInt32.cs.meta │ │ │ │ ├── ArgumentOutputInt64.cs.meta │ │ │ │ ├── ArgumentOutputInt8.cs.meta │ │ │ │ ├── ArgumentOutputMidi.cs.meta │ │ │ │ ├── ArgumentOutputRect.cs.meta │ │ │ │ ├── ArgumentOutputUInt8.cs.meta │ │ │ │ ├── ArgumentOutputColor32.cs.meta │ │ │ │ ├── ArgumentOutputFloat32.cs.meta │ │ │ │ ├── ArgumentOutputFloat64.cs.meta │ │ │ │ ├── ArgumentOutputMatrix4x4.cs.meta │ │ │ │ ├── ArgumentOutputQuaternion.cs.meta │ │ │ │ ├── ArgumentOutputRectInt.cs.meta │ │ │ │ ├── ArgumentOutputString.cs.meta │ │ │ │ ├── ArgumentOutputTimeTag.cs.meta │ │ │ │ ├── ArgumentOutputUInt16.cs.meta │ │ │ │ ├── ArgumentOutputUint32.cs.meta │ │ │ │ ├── ArgumentOutputUint64.cs.meta │ │ │ │ ├── ArgumentOutputVector2.cs.meta │ │ │ │ ├── ArgumentOutputVector2Int.cs.meta │ │ │ │ ├── ArgumentOutputVector3.cs.meta │ │ │ │ ├── ArgumentOutputVector3Int.cs.meta │ │ │ │ ├── ArgumentOutputVector4.cs.meta │ │ │ │ ├── ArgumentOutputInt32.cs │ │ │ │ ├── ArgumentOutputChar.cs │ │ │ │ ├── ArgumentOutputInt16.cs │ │ │ │ ├── ArgumentOutputInt64.cs │ │ │ │ ├── ArgumentOutputInt8.cs │ │ │ │ ├── ArgumentOutputUInt8.cs │ │ │ │ ├── ArgumentOutputUInt16.cs │ │ │ │ ├── ArgumentOutputUint32.cs │ │ │ │ ├── ArgumentOutputFloat32.cs │ │ │ │ ├── ArgumentOutputFloat64.cs │ │ │ │ ├── ArgumentOutputMidi.cs │ │ │ │ ├── ArgumentOutputUint64.cs │ │ │ │ ├── ArgumentOutputTimeTag.cs │ │ │ │ ├── ArgumentOutputColor.cs │ │ │ │ ├── ArgumentOutputVector2.cs │ │ │ │ ├── ArgumentOutputVector2Int.cs │ │ │ │ ├── ArgumentOutputVector3.cs │ │ │ │ ├── ArgumentOutputVector3Int.cs │ │ │ │ ├── ArgumentOutputRectInt.cs │ │ │ │ ├── ArgumentOutputRect.cs │ │ │ │ ├── ArgumentOutputVector4.cs │ │ │ │ ├── ArgumentOutputQuaternion.cs │ │ │ │ ├── ArgumentOutputColor32.cs │ │ │ │ ├── ArgumentOutputString.cs │ │ │ │ ├── ArgumentOutputBool.cs │ │ │ │ ├── ArgumentOutputMatrix4x4.cs │ │ │ │ └── ArgumentOutputBlob.cs │ │ │ ├── ArgumentDirtyFlags.cs │ │ │ ├── ArgumentOutputAttribute.cs │ │ │ └── DynamicGetterCache.cs │ │ ├── Unity.Media.Osc.Components.asmdef.meta │ │ ├── OscReceiver.cs.meta │ │ ├── OscSender.cs.meta │ │ ├── OscNetworkSender.cs.meta │ │ ├── OscNetworkProtocol.cs.meta │ │ ├── OscNetworkReceiver.cs.meta │ │ ├── Utility │ │ │ ├── ComponentUtils.cs.meta │ │ │ ├── ReferenceManager.cs.meta │ │ │ ├── ComponentUtils.cs │ │ │ └── ReferenceManager.cs │ │ ├── Unity.Media.Osc.Components.asmdef │ │ └── OscNetworkProtocol.cs │ ├── Core.meta │ ├── Components.meta │ └── Protocols.meta ├── CHANGELOG.md.meta ├── LICENSE.md.meta ├── README.md.meta ├── package.json.meta ├── Third Party Notices.md.meta ├── UI.meta ├── Editor.meta ├── Runtime.meta ├── Tests.meta ├── UI │ ├── OscMessageHandler.uxml.meta │ ├── OscMessageOutput.uxml.meta │ ├── OscMonitorWindow.uxml.meta │ ├── OscNetworkSender.uxml.meta │ ├── OscNetworkReceiver.uxml.meta │ ├── OscMonitorWindowDark.uss.meta │ ├── OscMonitorWindowCommon.uss.meta │ ├── OscMonitorWindowLight.uss.meta │ ├── OscMonitorWindowCommon.uss │ ├── OscMonitorWindowDark.uss │ ├── OscMonitorWindowLight.uss │ ├── OscMessageOutput.uxml │ ├── OscMessageHandler.uxml │ ├── OscNetworkSender.uxml │ └── OscNetworkReceiver.uxml ├── package.json ├── LICENSE.md ├── README.md ├── Third Party Notices.md └── CHANGELOG.md ├── TestProject ├── Assets │ ├── Scripts.meta │ ├── Scripts │ │ ├── LoadTest.meta │ │ └── LoadTest │ │ │ ├── Move.cs.meta │ │ │ └── Move.cs │ ├── Scenes │ │ ├── LoadTest.unity.meta │ │ └── SampleScene.unity.meta │ └── Scenes.meta ├── ProjectSettings │ ├── ProjectVersion.txt │ ├── Packages │ │ └── com.unity.testtools.codecoverage │ │ │ └── Settings.json │ ├── ClusterInputManager.asset │ ├── PresetManager.asset │ ├── EditorBuildSettings.asset │ ├── XRSettings.asset │ ├── VersionControlSettings.asset │ ├── TimeManager.asset │ ├── VFXManager.asset │ ├── AudioManager.asset │ ├── TagManager.asset │ ├── UnityConnectSettings.asset │ ├── PackageManagerSettings.asset │ ├── EditorSettings.asset │ ├── DynamicsManager.asset │ ├── MemorySettings.asset │ ├── NavMeshAreas.asset │ ├── Physics2DSettings.asset │ └── GraphicsSettings.asset └── Packages │ └── manifest.json ├── CODEOWNERS ├── .gitattributes ├── LICENSE.md ├── CREDITS.md ├── README.md └── .gitignore /com.unity.media.osc/.npmignore: -------------------------------------------------------------------------------- 1 | .buginfo 2 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/.tests.json: -------------------------------------------------------------------------------- 1 | { 2 | "createSeparatePackage": false 3 | } 4 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/projectMetadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "_noIndex": true 3 | } 4 | -------------------------------------------------------------------------------- /com.unity.media.osc/.buginfo: -------------------------------------------------------------------------------- 1 | system: jira 2 | server: jira.unity3d.com 3 | project: OSC 4 | issuetype: Bug -------------------------------------------------------------------------------- /TestProject/Assets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe46efc64c634a35b98922d9dd2a3ac9 3 | timeCreated: 1653594026 -------------------------------------------------------------------------------- /TestProject/Assets/Scripts/LoadTest.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 329b56cd82174cb6accc83ae313c66ed 3 | timeCreated: 1653594034 -------------------------------------------------------------------------------- /TestProject/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2022.2.0b4 2 | m_EditorVersionWithRevision: 2022.2.0b4 (ecac8c2f6be0) 3 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/OscUIUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8b49732602e246dc988a333d9043e757 3 | timeCreated: 1651863999 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Enums.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24504e8892a245fd984f66b13e932016 3 | timeCreated: 1581923111 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7483d66ec5914f4e932374c4ab5e4e94 3 | timeCreated: 1570412369 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Structs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a07c4d2265c4fcc9af608c18683df8e 3 | timeCreated: 1570435370 -------------------------------------------------------------------------------- /TestProject/Assets/Scripts/LoadTest/Move.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a2d63c953adb478a9b7bd3da81ccf43e 3 | timeCreated: 1653594043 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/OscAddress.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69e11f5cd7134a839b1fb10fa0ac4347 3 | timeCreated: 1638641267 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/OscClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6efcf78bf17442a3b87c8f596e0abd03 3 | timeCreated: 1638601689 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/OscServer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9bb7a234b049400581cdf3a577115629 3 | timeCreated: 1638601683 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/OscWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c92b8c2028c04e779ccee0c92424cb89 3 | timeCreated: 1571011333 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/Utils.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 115990a330264a6e9bed86fa8983ad40 3 | timeCreated: 1651883049 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/AssemblyInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d120d5ed4597443e92c30a137bd6078a 3 | timeCreated: 1639596067 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Enums/TypeTag.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5351d8ea62474f7f91cf2408222a626d 3 | timeCreated: 1570089029 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/OscAddressSpace.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: de687d26a3dc4a9385afe3f0108c4aaf 3 | timeCreated: 1570860098 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/OscCallbacks.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e0d23502e4d4e62b91b4f9f4254964c 3 | timeCreated: 1571821994 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/OscConstants.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 03cacd7a6227402f96b2a28aa35a0cd3 3 | timeCreated: 1570091611 -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor/OscClientTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1875bdf9288e47aab7bfd7e44a397d95 3 | timeCreated: 1653425698 -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor/OscStreamTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eae714f8ace8499a8e981f16ab61a259 3 | timeCreated: 1651531360 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/AssemblyInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5b3829cdd5b33e4b904fa1e3ff7f506 3 | timeCreated: 1639596067 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Enums/AddressType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5396595a14e84e4d922d3ecef7cb4f1b 3 | timeCreated: 1581975897 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/OscStreamType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00357758c0ad40228f571681011070f4 3 | timeCreated: 1651694979 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Structs/MidiMessage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c23d9a75f52d4564ae81c162ca22e1a5 3 | timeCreated: 1570138640 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/AssemblyInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46b2de24dca3466fa84ae8010292cbd1 3 | timeCreated: 1651861972 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/OscIpClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7bd6e9346f4748389681f6e60fd4cc7a 3 | timeCreated: 1651602900 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/OscIpServer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8111d10183e440a88ea51d9e8e9ecb35 3 | timeCreated: 1651602914 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/OscTcpClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aeb348cfdd3a4f4ca501c4edbffacbc5 3 | timeCreated: 1651602626 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/OscTcpServer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5493e6fa45c4dc7b71dd7f033a0e0a1 3 | timeCreated: 1651602637 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Utility/ExtensionMethods.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b35c550cea64fc1b0744798e1938cc0 3 | timeCreated: 1570141733 -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/Utils/SocketStream.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e7d426d700349f29cd899f0d6ee5b50 3 | timeCreated: 1651774178 -------------------------------------------------------------------------------- /TestProject/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "m_Dictionary": { 3 | "m_DictionaryValues": [] 4 | } 5 | } -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/Utils/AsyncExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfcca25a0d824a90843384e0bc0b6921 3 | timeCreated: 1651882805 -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | # see https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners for more information 2 | * @Unity-Technologies/livecapture-maintainers -------------------------------------------------------------------------------- /TestProject/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | // Internal access needed for editor scripts 4 | [assembly: InternalsVisibleTo("Unity.Media.Osc.Editor")] 5 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/images/ref-component-osc-sender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/UnityOSCProtocolSupport/HEAD/com.unity.media.osc/Documentation~/images/ref-component-osc-sender.png -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/images/ref-window-osc-monitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/UnityOSCProtocolSupport/HEAD/com.unity.media.osc/Documentation~/images/ref-window-osc-monitor.png -------------------------------------------------------------------------------- /TestProject/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/CHANGELOG.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5c8265a71410394dbdef6f3a9873d3c 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/images/ref-component-osc-receiver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/UnityOSCProtocolSupport/HEAD/com.unity.media.osc/Documentation~/images/ref-component-osc-receiver.png -------------------------------------------------------------------------------- /com.unity.media.osc/LICENSE.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 717e3ed754fe89e4c8b63e84dacf1ff1 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c77eafc8d3bda7d43866fb1daf77616f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /TestProject/Assets/Scenes/LoadTest.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f432a99fbf1e04b45ba272fc680790dc 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09c6a04320d732a49a3ffd9e9e61f4fa 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /TestProject/Assets/Scenes/SampleScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fc0d4010bbf28b4594072e72b8655ab 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/Third Party Notices.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09748b6b559f6764687d331e68e47b17 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0ae886c42d449f8409dfe04beb257412 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /TestProject/Assets/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a162305909b4ef45b5bd7261a0ec798 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/images/ref-component-osc-message-handler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/UnityOSCProtocolSupport/HEAD/com.unity.media.osc/Documentation~/images/ref-component-osc-message-handler.png -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/images/ref-component-osc-message-output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Unity-Technologies/UnityOSCProtocolSupport/HEAD/com.unity.media.osc/Documentation~/images/ref-component-osc-message-output.png -------------------------------------------------------------------------------- /com.unity.media.osc/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 49f54b94d633ff744ba1ccd6ee83743d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33fdb57632d3b024a892c96576910414 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2cb621fdeda1730408cc334d0cc16d3b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e96e36e7f6242b4196bc45bfad62bcd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df7ee200930a38d4b852d77c7bf64d38 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | m_configObjects: {} 9 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 028c11c096be52e40b82ff08aed0c488 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51682829e2ae4d52b26490cabe83eb8c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b3f03cce5ef4fb98114061daa3a80ea 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f6651bc5423b834aabd2499e3afb614 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Utility.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d35ac0c5730f7fc44891b199c2d57307 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d47994fc89be3a41a602562e28efa4d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Unity.Media.Osc.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1530670ad1b01574fa65c18c43b1b323 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c970c2a17e07c3d459dd2278283eb10a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 362b2213fdfcd28429faea997193db80 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Utility.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 81fd4b2d720622644895d2052e03b36e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c694bde16d78edb468fc7c773534e1dd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/SLIP.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61cdb46c97bb9cd4faefb90ed0e1bbd9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Unity.Media.Osc.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a29709d962802c643b6ee26dff3418e1 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/LengthPrefix.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c144d0f141ef6f4a91dc67d020b9a9a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Components/ReflectionHelpers.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb5a6e6a04b162948b2e48d88a913dac 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2853e0cd54f9f944acad85dea11aec3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6ca5e700883fac499f144737e0f4f63 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/Unity.Media.Osc.Net.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b66c8b42736ccef428fd918fac366a97 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor/Unity.Media.Osc.Tests.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09815cda271fa524d99c0e686118b2c1 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Unity.Media.Osc.Components.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a829146518ae7cf47b06c33587fa0993 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | # Unity insists using LF for its text assets so prevent changing them to CRLF 4 | *.unity text eol=lf 5 | *.prefab text eol=lf 6 | *.asset text eol=lf 7 | *.meta text eol=lf 8 | *.json text eol=lf 9 | *.mat text eol=lf 10 | *.mesh text eol=lf 11 | *.txt text eol=lf -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Enums/Status.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cb1168bed666ee74b8802715900214c6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/OscManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5481bcf7cb64c1b8a110cdead3d44b4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor/OscUtilsTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 13c7415201c1812489289b61cf77765a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/OscReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6e9e8fb0a81f1b247b91a3778790214a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/OscSender.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e4641131e7099b84cbf42ffdbb6e68e3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/OscBundle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43cde36f61ad61a46a3821d2ba9c1a84 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/OscMessage.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5dd402ead505ed44c804dfe099f0aad2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/OscPacket.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04e07485f6f4a18449495e04a6c70871 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Structs/TimeTag.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2b20e08c80a3d26448367ab2aefe8c07 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Utility/EnumUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8ebef71d74ef3c40b53ce4aea27f592 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Utility/OscUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 639f57c01f034934a80acd4839ad071c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor/OscAddressTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23b6bba6a55e6cc428b6e9fcc76c1cb0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor/OscCallbacksTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d177a355052ed743bf575f6d92c018f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor/OscParsingTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d67794b1ee8fc514da2f8a2908de43ce 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor/OscWriterTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4454a40cf9aa8742b0cc9c0614df431 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/OscNetworkSender.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6e129f8c98ad6247b7bbd76a97ce3c0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/OscBundleElement.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 23eb31dba4828a84d89eaa795e0d4b47 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/OscStreamReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4bc575eee19b096459ceffccb1f83630 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/OscStreamWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91619001a9e202e41b58021d899feff7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Utility/PatternMatching.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d4dfe3b03c8fb74f9d23a4f335496e0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/OscUdpClient.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 53081346b4a8fa44da022da26a97504c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/OscUdpServer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a75aa741607db2843af21701f86f0a86 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor/OscAddressSpaceTests.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da142cd888e41484b98c658fe169b9e4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Components/OscMessageBaseEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85c8786ba05bdcd4d92638968f761c6a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/OscNetworkProtocol.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d23624615afa994caaf6c01b9b38952 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/OscNetworkReceiver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5c0c9b3c38bc1b4fa58434e762579eb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/ArgumentOutput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51e98d778226ba84aa863bed5acc65b4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/PropertyOutput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cae2ee8f9997da74c8559da72bd22c64 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Utility/ComponentUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75d477b8150b9ab4ab76e70a56c91935 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/SLIP/SlipConstants.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 325204256dbcb7846aecf25ce3415ad6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Utility/PlayerLoopExtensions.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e53fbf0f43f952448f767407921d338 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/Utils/UpdateThread.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ecff3ce03fc4304d84caa17770a3d80 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/ArgumentHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d6bebfbee5bc1e4db5ac476281e5ec1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/OscMessageHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f5b9979067d335d47a65133b882b31ff 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/ArgumentDirtyFlags.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 47472021acf7117459f73c918718b6c4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/DynamicGetterCache.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db8c5b629f6063543a702bf0d93ba597 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/OscMessageOutput.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5f3d5eb5de1c0194da44658e69474766 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Utility/ReferenceManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df2ab862cef87e9439284937d79b8507 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Blob.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36341388c1d876242b41a4f45d526d8c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Float.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b89555d55c5eeae4390b5fb2ad65fe58 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Int.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0161916a4350d249b9fdd21cff72e9f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Int64.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c994e620c657cb44ab6c07bd5c3ff29 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.MIDI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2935ccde76f04d146876747dd99b680a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/SLIP/SlipStreamReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a0c9d2b128ce59d4fad905860b4394c4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/SLIP/SlipStreamWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73f18ba255686014baa0798583fda84c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Utility/Il2CppSetOptionsAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6bc8d15388f4df34886fc7d5bd056d13 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/Utils/NetworkingUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faeb2f39d5a65cf4c9312beed5c95a2e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Components/ReflectionHelpers/ComponentFinder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0bb512e18baa0dd468b166fa4275cf42 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/OscMessageHandlerBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c5482c5703c59e44b1ea632dd1f50bc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/ArgumentOutputAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a46679445d2570948bfc7ced930ac511 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/OscMessageOutputBase.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fccd8dce80bcc8d48bed8270246b4e67 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.AsciiChar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e594efc9d17a0de4c96bfa57aadfae63 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Boolean.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4896233c7488ad84eac145fa99acacb1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Color32.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d5bae8ba81403a6499b02f2b9e77fb97 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Float64.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 140200b14cd9fc14fbbe266d838e776e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.String.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c8165001aef2444d92e7846d5a6cad0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.TimeTag.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 71fbf50f8092c7a42b29c9639693f95d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/ArgumentHandlerAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4615f16146142f4cb88c101d80259bf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputBlob.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7093bffa1b3177e46a17d4f23bd0ec56 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputBool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ad407626494cdb4fa34affd5e3f54fb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputChar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9db0e9d8f636294e9f383960b0590bf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputColor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7df3ea0d784e83459c9db000dd83acb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputInt16.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8f5738ba82e02442a9454e4e3b57264 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputInt32.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a84a8b00693c3b43996de13aece5b99 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputInt64.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff5ab3b4af9a3ed438b87a3524c4dde4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputInt8.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ee81b91d34a41a4997e298e6d7173bd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputMidi.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0dc5de21156b63b4fb279fa8fb63af22 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputRect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 090dbfa9243684742b08837c37de15a8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputUInt8.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af6057d6dc6f39241902c6ca26c8f91d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMessageHandler.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cfce4ea74a971d64f855acf46cd52e9e 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMessageOutput.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c0c0274977330d46b2636b864309658 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMonitorWindow.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 59ebd19687d2e054bb8f860b427584b0 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscNetworkSender.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 860be3921f8cc994da2160fa557f00eb 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Components/ReflectionHelpers/ReflectedMemberPreserver.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a8617593072eb5429078dd59c6ae9af 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerBlob.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 466d384de88d8284bbdd3fe072d1d1f3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerBool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abf75ad30dd73124a99f1c69259c5ed8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerChar.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e190c0f93faf9ae42b1b593fdca9cfd3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerColor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31ec65e8a8ea4aa49ab04c3820d9062b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerDouble.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae92f3eca35f43e418a0d67ce7bfd2ca 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerFloat.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f384a3faaeee7c64881a16adbfa36afe 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerInt.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faa93d9950ad64f4a80b722a2ee8c724 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerLong.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96232c7f295139f438d46c9a9b523373 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerMidi.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cda2184601657f04eb35735be192931f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerRect.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: afd9de506044ff2418da525c3d73bcd3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerRectInt.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb9c385f186e8ee4aa78b66495311bb0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerString.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d60d2c03815b9445a541b51affbfc57 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerTimeTag.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a300728b0b5e19648bc16224185548f4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerVector2.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40c432996781c7147bf7e5bf7dc0af83 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerVector3.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45630ac0b0e11bf4ea2626acb7b6dd23 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerVector4.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8c1b66945bbd5304685868f7b3465040 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputColor32.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32f06b43328aaca44acd3095fb89adf1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputFloat32.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 570c4b0ef62dcb943870bddc877d1643 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputFloat64.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 404b30e6b5c841a4fbbf8070635b04ed 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputMatrix4x4.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3a7b0a321ca62c24bb5fc1ecb13618c6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputQuaternion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79de1795f1582784f88ddffb81c4d2db 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputRectInt.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cf92cb48b22c48147af806c235206023 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputString.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ecccefa33df26246b574076687e223f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputTimeTag.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 283834ddb9a8de64c83040224027924a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputUInt16.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad50bb027cc482e479f42919dcf7c0d7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputUint32.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 800333b1a0bea0a4fba8c42cee62de55 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputUint64.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8fb9d78d898007844b19421ec3f5abd8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputVector2.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20567f5935f168f4f91c243531f01e17 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputVector2Int.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ec11d53a118c954391b19265d27bba4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputVector3.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a6b552feef5c94e47b93dd952fb9095e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputVector3Int.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e80d3643b82232441afa04d9aa35692e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputVector4.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3488293c233b4334b8306d888911f3a7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/LengthPrefix/LengthPrefixStreamReader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f1e9a93ec5062ce4fb795783e37f515b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/LengthPrefix/LengthPrefixStreamWriter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b3129052574d73046b671aaa1247cae6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscNetworkReceiver.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e4fc7179cb73b734bab93ff3ec035426 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerMatrix4x4.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f25e36f75866cb44eb7f3a3e7774d422 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerQuaternion.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 349d959ce77629b47acf2da3efee5aed 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerVector2Int.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cc0226a78ee0ce478eaffcbdd6bbb9a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerVector3Int.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a1b370373b2fded47907e9788f05a574 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/TableOfContents.md: -------------------------------------------------------------------------------- 1 | * [OSC Protocol Support package](index.md) 2 | * [Installation](installation.md) 3 | * [Features](features.md) 4 | * [Getting started](getting-started.md) 5 | * [Controlling a GameObject from a remote OSC app](example-osc-input.md) 6 | * [Controlling a remote OSC app from Unity](example-osc-output.md) 7 | * [Interface reference](ui-ref.md) 8 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMonitorWindowDark.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6c30eee861de95d49a4eaf840c7314a0 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMonitorWindowCommon.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 30510891a97a8324892055440150da81 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMonitorWindowLight.uss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 296e1ee2a1f223c41ae5d8c4b2892bb4 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMonitorWindowCommon.uss: -------------------------------------------------------------------------------- 1 | .Toolbar 2 | { 3 | flex-shrink: 0; 4 | padding-top: 0px; 5 | padding-bottom: 0px; 6 | -unity-text-align: middle-left; 7 | } 8 | 9 | .Toolbar > Label 10 | { 11 | padding-top: 0px; 12 | padding-bottom: 0px; 13 | -unity-text-align: middle-left; 14 | } 15 | 16 | .ToolbarToggle 17 | { 18 | margin-top: 0px; 19 | margin-bottom: 0px; 20 | } 21 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Components/OscMessageOutputEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4614499a22465541ab5ceb5802e033d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - m_InspectorUxml: {fileID: 9197481963319205126, guid: 0c0c0274977330d46b2636b864309658, 8 | type: 3} 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Components/OscNetworkReceiverEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38c2f2fb62391514fb00a7b7cae3ebe0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - m_InspectorXML: {fileID: 9197481963319205126, guid: e4fc7179cb73b734bab93ff3ec035426, 8 | type: 3} 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Components/OscNetworkSenderEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 172b9f9d961aeb7499060ddc0219c6aa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - m_InspectorXML: {fileID: 9197481963319205126, guid: 860be3921f8cc994da2160fa557f00eb, 8 | type: 3} 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Unity.Media.Osc.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Media.Osc", 3 | "rootNamespace": "Unity.Media.Osc", 4 | "references": [], 5 | "includePlatforms": [], 6 | "excludePlatforms": [], 7 | "allowUnsafeCode": true, 8 | "overrideReferences": false, 9 | "precompiledReferences": [], 10 | "autoReferenced": true, 11 | "defineConstraints": [], 12 | "versionDefines": [], 13 | "noEngineReferences": false 14 | } -------------------------------------------------------------------------------- /com.unity.media.osc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.unity.media.osc", 3 | "displayName": "OSC", 4 | "version": "2.0.0", 5 | "unity": "2022.2", 6 | "description": "Send and receive control messages between the Unity Editor and external devices using the Open Sound Control (OSC) protocol.", 7 | "keywords": [ 8 | "osc", 9 | "open", 10 | "sound", 11 | "control" 12 | ], 13 | "category": "Unity", 14 | "dependencies": { 15 | "com.unity.modules.uielements": "1.0.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/Unity.Media.Osc.Net.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Media.Osc.Net", 3 | "rootNamespace": "Unity.Media.Osc", 4 | "references": [ 5 | "Unity.Media.Osc" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": true, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | // Internal access needed for runtime assemblies 4 | [assembly: InternalsVisibleTo("Unity.Media.Osc.Components")] 5 | 6 | // Internal access needed for editor scripts 7 | [assembly: InternalsVisibleTo("Unity.Media.Osc.Editor")] 8 | 9 | // Internal access needed for testing 10 | [assembly: InternalsVisibleTo("InternalsVisible.ToDynamicProxyGenAssembly2")] 11 | [assembly: InternalsVisibleTo("Unity.Media.Osc.Tests.Editor")] 12 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 1024 20 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/Utils/AsyncExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace Unity.Media.Osc 6 | { 7 | static class AsyncExtensions 8 | { 9 | public static Task WhenCancelled(this CancellationToken cancellationToken) 10 | { 11 | var tcs = new TaskCompletionSource(); 12 | cancellationToken.Register(s => ((TaskCompletionSource)s).SetResult(true), tcs); 13 | return tcs.Task; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /TestProject/Assets/Scripts/LoadTest/Move.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace LoadTest 4 | { 5 | public class Move : MonoBehaviour 6 | { 7 | Vector3 m_InitialPosition; 8 | Vector3 m_Axis; 9 | 10 | void Start() 11 | { 12 | m_InitialPosition = transform.position; 13 | m_Axis = Random.onUnitSphere; 14 | } 15 | 16 | void Update() 17 | { 18 | transform.position = m_InitialPosition + Quaternion.Euler(0, 0, Time.time * 90f) * m_Axis; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Unity.Media.Osc.Components.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Media.Osc.Components", 3 | "rootNamespace": "Unity.Media.Osc", 4 | "references": [ 5 | "Unity.Media.Osc", 6 | "Unity.Media.Osc.Net" 7 | ], 8 | "includePlatforms": [], 9 | "excludePlatforms": [], 10 | "allowUnsafeCode": true, 11 | "overrideReferences": false, 12 | "precompiledReferences": [], 13 | "autoReferenced": true, 14 | "defineConstraints": [], 15 | "versionDefines": [], 16 | "noEngineReferences": false 17 | } -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputInt32.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(int))] 7 | sealed class ArgumentOutputInt32 : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.Int32 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteInt32(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Components/OscMessageHandlerEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: adc3dbeb890d98344bd721eae2fc18b4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - m_InspectorUxml: {fileID: 9197481963319205126, guid: cfce4ea74a971d64f855acf46cd52e9e, 8 | type: 3} 9 | - m_ArgumentUxml: {fileID: 9197481963319205126, guid: 6d6994fbadfb5734c94237dc93451914, 10 | type: 3} 11 | executionOrder: 0 12 | icon: {instanceID: 0} 13 | userData: 14 | assetBundleName: 15 | assetBundleVariant: 16 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputChar.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(char))] 7 | sealed class ArgumentOutputChar : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.AsciiChar32 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteChar(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputInt16.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(short))] 7 | sealed class ArgumentOutputInt16 : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.Int32 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteInt32(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputInt64.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(long))] 7 | sealed class ArgumentOutputInt64 : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.Int64 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteInt64(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputInt8.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(sbyte))] 7 | sealed class ArgumentOutputInt8 : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.Int32 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteInt32(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputUInt8.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(byte))] 7 | sealed class ArgumentOutputUInt8 : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.Int32 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteInt32(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | // Internal access needed for runtime assemblies 4 | [assembly: InternalsVisibleTo("Unity.Media.Osc.Net")] 5 | [assembly: InternalsVisibleTo("Unity.Media.Osc.Components")] 6 | 7 | // Internal access needed for editor scripts 8 | [assembly: InternalsVisibleTo("Unity.Media.Osc.Editor")] 9 | 10 | // Internal access needed for testing 11 | [assembly: InternalsVisibleTo("InternalsVisible.ToDynamicProxyGenAssembly2")] 12 | [assembly: InternalsVisibleTo("Unity.Media.Osc.Tests.Editor")] 13 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputUInt16.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(ushort))] 7 | sealed class ArgumentOutputUInt16 : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.Int32 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteInt32(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputUint32.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(uint))] 7 | sealed class ArgumentOutputUInt32 : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.Int32 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteInt32((int)Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputFloat32.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(float))] 7 | sealed class ArgumentOutputFloat32 : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.Float32 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteFloat32(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputFloat64.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(double))] 7 | sealed class ArgumentOutputFloat64 : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.Float64 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteFloat64(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputMidi.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(MidiMessage))] 7 | sealed class ArgumentOutputMidi : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.MIDI }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteMidi(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputUint64.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(ulong))] 7 | sealed class ArgumentOutputUInt64 : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.Int64 }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteInt64((long)Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputTimeTag.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(TimeTag))] 7 | sealed class ArgumentOutputTimeTag : ArgumentOutputEquatable 8 | { 9 | /// 10 | public override TypeTag[] Tags { get; } = { TypeTag.TimeTag }; 11 | 12 | /// 13 | public override void Write(OscClient sender) 14 | { 15 | sender.WriteTimeTag(Value); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/filter.yml: -------------------------------------------------------------------------------- 1 | apiRules: 2 | - exclude: 3 | # inherited Object methods 4 | uidRegex: ^System\.Object\..*$ 5 | type: Method 6 | - exclude: 7 | # mentioning types from System.* namespace 8 | uidRegex: ^System\..*$ 9 | type: Type 10 | - exclude: 11 | hasAttribute: 12 | uid: System.ComponentModel.EditorBrowsableAttribute 13 | ctorArguments: 14 | - System.ComponentModel.EditorBrowsableState.Never 15 | - exclude: 16 | # mentioning types from testing namespace 17 | uidRegex: ^(Tests) 18 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright 2023 com.unity.media.osc 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use the files included in this repository except in compliance with the License. You may obtain a copy of the License at 4 | 5 | http://www.apache.org/licenses/LICENSE-2.0 6 | 7 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputColor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(Color))] 8 | sealed class ArgumentOutputColor : ArgumentOutputEquatable 9 | { 10 | /// 11 | public override TypeTag[] Tags { get; } = { TypeTag.Color32 }; 12 | 13 | /// 14 | public override void Write(OscClient sender) 15 | { 16 | sender.WriteColor(Value); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /TestProject/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.ai.navigation": "1.1.0-pre.1", 4 | "com.unity.coding": "0.1.0-preview.24", 5 | "com.unity.feature.development": "1.0.1", 6 | "com.unity.ide.rider": "3.0.15", 7 | "com.unity.ide.visualstudio": "2.0.16", 8 | "com.unity.ide.vscode": "1.2.5", 9 | "com.unity.media.osc": "file:../../com.unity.media.osc", 10 | "com.unity.test-framework": "1.1.31", 11 | "com.unity.visualscripting": "1.7.8", 12 | "com.unity.modules.uielements": "1.0.0" 13 | }, 14 | "testables": [ 15 | "com.unity.media.osc" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /com.unity.media.osc/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright 2023 com.unity.media.osc 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use the files included in this package except in compliance with the License. You may obtain a copy of the License at 4 | 5 | http://www.apache.org/licenses/LICENSE-2.0 6 | 7 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 8 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerInt.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | [Serializable] 6 | [ArgumentHandler("Int")] 7 | sealed class ArgumentHandlerInt : ArgumentHandler 8 | { 9 | /// 10 | protected override int ArgumentCount => 1; 11 | 12 | /// 13 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out int value) 14 | { 15 | value = message.ReadInt32(argumentIndex); 16 | return true; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/Unity.Media.Osc.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Media.Osc.Editor", 3 | "rootNamespace": "Unity.Media.Osc.Editor", 4 | "references": [ 5 | "Unity.Media.Osc", 6 | "Unity.Media.Osc.Net", 7 | "Unity.Media.Osc.Components" 8 | ], 9 | "includePlatforms": [ 10 | "Editor" 11 | ], 12 | "excludePlatforms": [], 13 | "allowUnsafeCode": false, 14 | "overrideReferences": false, 15 | "precompiledReferences": [], 16 | "autoReferenced": true, 17 | "defineConstraints": [], 18 | "versionDefines": [], 19 | "noEngineReferences": false 20 | } -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerLong.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | [Serializable] 6 | [ArgumentHandler("Long")] 7 | sealed class ArgumentHandlerLong : ArgumentHandler 8 | { 9 | /// 10 | protected override int ArgumentCount => 1; 11 | 12 | /// 13 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out long value) 14 | { 15 | value = message.ReadInt64(argumentIndex); 16 | return true; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Protocols/IP/Utils/SocketStream.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Net.Sockets; 4 | 5 | namespace Unity.Media.Osc 6 | { 7 | class SocketStream : NetworkStream 8 | { 9 | public new Socket Socket { get; } 10 | 11 | public SocketStream(Socket socket, FileAccess access) : base(socket, access, true) 12 | { 13 | Socket = socket; 14 | } 15 | 16 | public override int Read(byte[] buffer, int offset, int count) 17 | { 18 | return DataAvailable ? base.Read(buffer, offset, count) : 0; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerChar.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | [Serializable] 6 | [ArgumentHandler("Character")] 7 | sealed class ArgumentHandlerChar : ArgumentHandler 8 | { 9 | /// 10 | protected override int ArgumentCount => 1; 11 | 12 | /// 13 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out char value) 14 | { 15 | value = message.ReadAsciiChar(argumentIndex); 16 | return true; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerFloat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | [Serializable] 6 | [ArgumentHandler("Float")] 7 | sealed class ArgumentHandlerFloat : ArgumentHandler 8 | { 9 | /// 10 | protected override int ArgumentCount => 1; 11 | 12 | /// 13 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out float value) 14 | { 15 | value = message.ReadFloat32(argumentIndex); 16 | return true; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerString.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | [Serializable] 6 | [ArgumentHandler("String")] 7 | sealed class ArgumentHandlerString : ArgumentHandler 8 | { 9 | /// 10 | protected override int ArgumentCount => 1; 11 | 12 | /// 13 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out string value) 14 | { 15 | value = message.ReadString(argumentIndex); 16 | return true; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/OscNetworkProtocol.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | /// 6 | /// The transmission protocols supported for sending and receiving OSC messages via IP. 7 | /// 8 | public enum OscNetworkProtocol 9 | { 10 | /// 11 | /// The UDP transport protocol. 12 | /// 13 | [InspectorName("UDP")] 14 | Udp = 0, 15 | 16 | /// 17 | /// The TCP transport protocol. 18 | /// 19 | [InspectorName("TCP")] 20 | Tcp = 1, 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerDouble.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | [Serializable] 6 | [ArgumentHandler("Double")] 7 | sealed class ArgumentHandlerDouble : ArgumentHandler 8 | { 9 | /// 10 | protected override int ArgumentCount => 1; 11 | 12 | /// 13 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out double value) 14 | { 15 | value = message.ReadFloat64(argumentIndex); 16 | return true; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerMidi.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | [Serializable] 6 | [ArgumentHandler("MIDI")] 7 | sealed class ArgumentHandlerMidi : ArgumentHandler 8 | { 9 | /// 10 | protected override int ArgumentCount => 1; 11 | 12 | /// 13 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out MidiMessage value) 14 | { 15 | value = message.ReadMidi(argumentIndex); 16 | return true; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerTimeTag.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | [Serializable] 6 | [ArgumentHandler("Time")] 7 | sealed class ArgumentHandlerTimeTag : ArgumentHandler 8 | { 9 | /// 10 | protected override int ArgumentCount => 1; 11 | 12 | /// 13 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out TimeTag value) 14 | { 15 | value = message.ReadTimeTag(argumentIndex); 16 | return true; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/getting-started.md: -------------------------------------------------------------------------------- 1 | [Contents](TableOfContents.md) | [Home](index.md) > Getting started with examples 2 | 3 | # Getting Started with examples 4 | 5 | This section gives instructions to configure OSC message sending/receiving through basic examples: 6 | 7 | - [Controlling a GameObject from a remote OSC app](example-osc-input.md) 8 | 9 | - [Controlling a remote OSC app from Unity](example-osc-output.md) 10 | 11 | **Note:** To enable functional sending and receiving of OSC messages from the Unity Editor, you need to have an OSC compatible application or device connected to the same network as your Unity workstation. 12 | -------------------------------------------------------------------------------- /com.unity.media.osc/README.md: -------------------------------------------------------------------------------- 1 | # OSC Protocol Support package 2 | 3 | Use the OSC package to send and receive Open Sound Control (OSC) format messages from Unity. 4 | 5 | This package implements full support for the [OSC 1.0](https://opensoundcontrol.stanford.edu/spec-1_0.html) specification, and much of the [OSC 1.1](https://opensoundcontrol.stanford.edu/files/2009-NIME-OSC-1.1.pdf) specification. 6 | 7 | For more information (installation, concepts, features, and workflows) read the [OSC Protocol Support package documentation](Documentation~/index.md) in this repository. 8 | 9 | Review the specific [license terms](LICENSE.md) about this package. 10 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Enums/AddressType.cs: -------------------------------------------------------------------------------- 1 | namespace Unity.Media.Osc 2 | { 3 | /// 4 | /// An enum defining the type of an address. 5 | /// 6 | public enum AddressType 7 | { 8 | /// 9 | /// The address is not a valid OSC Address Pattern. 10 | /// 11 | Invalid, 12 | 13 | /// 14 | /// The address is an OSC Address. 15 | /// 16 | Address, 17 | 18 | /// 19 | /// The address is an OSC Address Pattern. 20 | /// 21 | Pattern, 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerColor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | [Serializable] 7 | [ArgumentHandler("Color")] 8 | sealed class ArgumentHandlerColor : ArgumentHandler 9 | { 10 | /// 11 | protected override int ArgumentCount => 1; 12 | 13 | /// 14 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out Color value) 15 | { 16 | value = message.ReadColor32(argumentIndex); 17 | return true; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/OscStreamType.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | /// 6 | /// The standard stream framing encodings for OSC packets. 7 | /// 8 | public enum OscStreamType 9 | { 10 | /// 11 | /// Packet length prefix is used by OSC streams implementing the OSC 1.0 specification. 12 | /// 13 | [InspectorName("Length Prefix")] 14 | LengthPrefix = 0, 15 | 16 | /// 17 | /// SLIP (RFC 1055) is used by OSC streams implementing the OSC 1.1 specification. 18 | /// 19 | [InspectorName("SLIP")] 20 | Slip = 1, 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerVector2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | [Serializable] 7 | [ArgumentHandler("Vector2")] 8 | sealed class ArgumentHandlerVector2 : ArgumentHandler 9 | { 10 | /// 11 | protected override int ArgumentCount => 2; 12 | 13 | /// 14 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out Vector2 value) 15 | { 16 | value.x = message.ReadFloat32(argumentIndex); 17 | value.y = message.ReadFloat32(argumentIndex + 1); 18 | return true; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /com.unity.media.osc/Tests/Editor/Unity.Media.Osc.Tests.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Unity.Media.Osc.Tests.Editor", 3 | "rootNamespace": "Unity.Media.Osc.Tests.Editor", 4 | "references": [ 5 | "UnityEngine.TestRunner", 6 | "UnityEditor.TestRunner", 7 | "Unity.Media.Osc" 8 | ], 9 | "includePlatforms": [ 10 | "Editor" 11 | ], 12 | "excludePlatforms": [], 13 | "allowUnsafeCode": true, 14 | "overrideReferences": true, 15 | "precompiledReferences": [ 16 | "nunit.framework.dll" 17 | ], 18 | "autoReferenced": false, 19 | "defineConstraints": [ 20 | "UNITY_INCLUDE_TESTS" 21 | ], 22 | "versionDefines": [], 23 | "noEngineReferences": false 24 | } 25 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputVector2.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(Vector2))] 8 | sealed class ArgumentOutputVector2 : ArgumentOutputEquatable 9 | { 10 | /// 11 | public override TypeTag[] Tags { get; } = 12 | { 13 | TypeTag.Float32, 14 | TypeTag.Float32, 15 | }; 16 | 17 | /// 18 | public override void Write(OscClient sender) 19 | { 20 | var value = Value; 21 | 22 | sender.WriteFloat32(value.x); 23 | sender.WriteFloat32(value.y); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputVector2Int.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(Vector2Int))] 8 | sealed class ArgumentOutputVector2Int : ArgumentOutputEquatable 9 | { 10 | /// 11 | public override TypeTag[] Tags { get; } = 12 | { 13 | TypeTag.Int32, 14 | TypeTag.Int32, 15 | }; 16 | 17 | /// 18 | public override void Write(OscClient sender) 19 | { 20 | var value = Value; 21 | 22 | sender.WriteInt32(value.x); 23 | sender.WriteInt32(value.y); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /com.unity.media.osc/Editor/OscMonitorWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6bb092ecf47848b4ba08c7e8e1eac2db 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - m_ViewDataDictionary: {instanceID: 0} 8 | - m_WindowUxml: {fileID: 9197481963319205126, guid: 59ebd19687d2e054bb8f860b427584b0, type: 3} 9 | - m_WindowCommonUss: {fileID: 7433441132597879392, guid: 30510891a97a8324892055440150da81, type: 3} 10 | - m_WindowLightUss: {fileID: 7433441132597879392, guid: 296e1ee2a1f223c41ae5d8c4b2892bb4, type: 3} 11 | - m_WindowDarkUss: {fileID: 7433441132597879392, guid: 6c30eee861de95d49a4eaf840c7314a0, type: 3} 12 | executionOrder: 0 13 | icon: {instanceID: 0} 14 | userData: 15 | assetBundleName: 16 | assetBundleVariant: 17 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerVector2Int.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | [Serializable] 7 | [ArgumentHandler("Vector2Int")] 8 | sealed class ArgumentHandlerVector2Int : ArgumentHandler 9 | { 10 | /// 11 | protected override int ArgumentCount => 2; 12 | 13 | /// 14 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out Vector2Int value) 15 | { 16 | value = new Vector2Int( 17 | message.ReadInt32(argumentIndex), 18 | message.ReadInt32(argumentIndex + 1) 19 | ); 20 | return true; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerVector3.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | [Serializable] 7 | [ArgumentHandler("Vector3")] 8 | sealed class ArgumentHandlerVector3 : ArgumentHandler 9 | { 10 | /// 11 | protected override int ArgumentCount => 3; 12 | 13 | /// 14 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out Vector3 value) 15 | { 16 | value.x = message.ReadFloat32(argumentIndex); 17 | value.y = message.ReadFloat32(argumentIndex + 1); 18 | value.z = message.ReadFloat32(argumentIndex + 2); 19 | return true; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMonitorWindowDark.uss: -------------------------------------------------------------------------------- 1 | .SectionFoldout 2 | { 3 | background-color: #2c2c2c; 4 | margin: 0px; 5 | padding: 0px 0px; 6 | } 7 | 8 | .Separated 9 | { 10 | border-color: #232323; 11 | border-width: 0px 0px 1px; 12 | } 13 | 14 | .MessageValueName 15 | { 16 | width: 100px; 17 | } 18 | 19 | .Status 20 | { 21 | border-color: #131313; 22 | border-radius: 2px; 23 | border-width: 0px; 24 | width: 8px; 25 | height: 8px; 26 | margin-right: 8px; 27 | flex-shrink: 0; 28 | } 29 | 30 | .StatusNone 31 | { 32 | visibility: hidden; 33 | } 34 | 35 | .StatusOk 36 | { 37 | background-color: #53c22b; 38 | } 39 | 40 | .StatusWarning 41 | { 42 | background-color: #ffc107; 43 | } 44 | 45 | .StatusError 46 | { 47 | background-color: #ff4343; 48 | } 49 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMonitorWindowLight.uss: -------------------------------------------------------------------------------- 1 | .SectionFoldout 2 | { 3 | background-color: #a5a5a5; 4 | margin: 0px; 5 | padding: 0px 0px; 6 | } 7 | 8 | .Separated 9 | { 10 | border-color: #949494; 11 | border-width: 0px 0px 1px; 12 | } 13 | 14 | .MessageValueName 15 | { 16 | width: 100px; 17 | } 18 | 19 | .Status 20 | { 21 | border-color: #323232; 22 | border-radius: 2px; 23 | border-width: 0px; 24 | width: 8px; 25 | height: 8px; 26 | margin-right: 8px; 27 | flex-shrink: 0; 28 | } 29 | 30 | .StatusNone 31 | { 32 | visibility: hidden; 33 | } 34 | 35 | .StatusOk 36 | { 37 | background-color: #53c22b; 38 | } 39 | 40 | .StatusWarning 41 | { 42 | background-color: #ffc107; 43 | } 44 | 45 | .StatusError 46 | { 47 | background-color: #ff4343; 48 | } 49 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerBool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | [Serializable] 6 | [ArgumentHandler("Boolean")] 7 | sealed class ArgumentHandlerBool : ArgumentHandler 8 | { 9 | /// 10 | protected override int ArgumentCount => 1; 11 | 12 | /// 13 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out bool value) 14 | { 15 | value = message.GetTag(argumentIndex) switch 16 | { 17 | TypeTag.False => false, 18 | TypeTag.True => true, 19 | _ => message.ReadInt32(argumentIndex) != 0, 20 | }; 21 | return true; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerVector3Int.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | [Serializable] 7 | [ArgumentHandler("Vector3Int")] 8 | sealed class ArgumentHandlerVector3Int : ArgumentHandler 9 | { 10 | /// 11 | protected override int ArgumentCount => 3; 12 | 13 | /// 14 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out Vector3Int value) 15 | { 16 | value = new Vector3Int( 17 | message.ReadInt32(argumentIndex), 18 | message.ReadInt32(argumentIndex + 1), 19 | message.ReadInt32(argumentIndex + 2) 20 | ); 21 | return true; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputVector3.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(Vector3))] 8 | sealed class ArgumentOutputVector3 : ArgumentOutputEquatable 9 | { 10 | /// 11 | public override TypeTag[] Tags { get; } = 12 | { 13 | TypeTag.Float32, 14 | TypeTag.Float32, 15 | TypeTag.Float32, 16 | }; 17 | 18 | /// 19 | public override void Write(OscClient sender) 20 | { 21 | var value = Value; 22 | 23 | sender.WriteFloat32(value.x); 24 | sender.WriteFloat32(value.y); 25 | sender.WriteFloat32(value.z); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputVector3Int.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(Vector3Int))] 8 | sealed class ArgumentOutputVector3Int : ArgumentOutputEquatable 9 | { 10 | /// 11 | public override TypeTag[] Tags { get; } = 12 | { 13 | TypeTag.Int32, 14 | TypeTag.Int32, 15 | TypeTag.Int32, 16 | }; 17 | 18 | /// 19 | public override void Write(OscClient sender) 20 | { 21 | var value = Value; 22 | 23 | sender.WriteInt32(value.x); 24 | sender.WriteInt32(value.y); 25 | sender.WriteInt32(value.z); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerVector4.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | [Serializable] 7 | [ArgumentHandler("Vector4")] 8 | sealed class ArgumentHandlerVector4 : ArgumentHandler 9 | { 10 | /// 11 | protected override int ArgumentCount => 4; 12 | 13 | /// 14 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out Vector4 value) 15 | { 16 | value.x = message.ReadFloat32(argumentIndex); 17 | value.y = message.ReadFloat32(argumentIndex + 1); 18 | value.z = message.ReadFloat32(argumentIndex + 2); 19 | value.w = message.ReadFloat32(argumentIndex + 3); 20 | return true; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerBlob.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | [Serializable] 6 | [ArgumentHandler("Blob")] 7 | sealed class ArgumentHandlerBlob : ArgumentHandler 8 | { 9 | /// 10 | protected override int ArgumentCount => 1; 11 | 12 | /// 13 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out byte[] value) 14 | { 15 | if (message.TryAccessBlob(argumentIndex, out _, out var length)) 16 | { 17 | value = new byte[length]; 18 | message.ReadBlob(argumentIndex, ref value); 19 | return true; 20 | } 21 | 22 | value = null; 23 | return false; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerQuaternion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | [Serializable] 7 | [ArgumentHandler("Quaternion")] 8 | sealed class ArgumentHandlerQuaternion : ArgumentHandler 9 | { 10 | /// 11 | protected override int ArgumentCount => 4; 12 | 13 | /// 14 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out Quaternion value) 15 | { 16 | value.x = message.ReadFloat32(argumentIndex); 17 | value.y = message.ReadFloat32(argumentIndex + 1); 18 | value.z = message.ReadFloat32(argumentIndex + 2); 19 | value.w = message.ReadFloat32(argumentIndex + 3); 20 | return true; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerRect.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | [Serializable] 7 | [ArgumentHandler("Rect")] 8 | sealed class ArgumentHandlerRect : ArgumentHandler 9 | { 10 | /// 11 | protected override int ArgumentCount => 4; 12 | 13 | /// 14 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out Rect value) 15 | { 16 | value = new Rect( 17 | message.ReadFloat32(argumentIndex), 18 | message.ReadFloat32(argumentIndex + 1), 19 | message.ReadFloat32(argumentIndex + 2), 20 | message.ReadFloat32(argumentIndex + 3) 21 | ); 22 | return true; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerRectInt.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | [Serializable] 7 | [ArgumentHandler("RectInt")] 8 | sealed class ArgumentHandlerRectInt : ArgumentHandler 9 | { 10 | /// 11 | protected override int ArgumentCount => 4; 12 | 13 | /// 14 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out RectInt value) 15 | { 16 | value = new RectInt( 17 | message.ReadInt32(argumentIndex), 18 | message.ReadInt32(argumentIndex + 1), 19 | message.ReadInt32(argumentIndex + 2), 20 | message.ReadInt32(argumentIndex + 3) 21 | ); 22 | return true; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/SLIP/SlipConstants.cs: -------------------------------------------------------------------------------- 1 | namespace Unity.Media.Osc 2 | { 3 | static class SlipConstants 4 | { 5 | /// 6 | /// The byte used to indicate the end of a packet. 7 | /// 8 | public const byte End = 0xC0; 9 | 10 | /// 11 | /// The byte used to indicate the next byte of data is escaped. 12 | /// 13 | public const byte Esc = 0xDB; 14 | 15 | /// 16 | /// The escaped byte used to indicate a data byte with the same numeric value as . 17 | /// 18 | public const byte EscEnd = 0xDC; 19 | 20 | /// 21 | /// The escaped byte used to indicate a data byte with the same numeric value as . 22 | /// 23 | public const byte EscEsc = 0xDD; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputRectInt.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(RectInt))] 8 | sealed class ArgumentOutputRectInt : ArgumentOutputEquatable 9 | { 10 | /// 11 | public override TypeTag[] Tags { get; } = 12 | { 13 | TypeTag.Int32, 14 | TypeTag.Int32, 15 | TypeTag.Int32, 16 | TypeTag.Int32, 17 | }; 18 | 19 | /// 20 | public override void Write(OscClient sender) 21 | { 22 | var value = Value; 23 | 24 | sender.WriteInt32(value.x); 25 | sender.WriteInt32(value.y); 26 | sender.WriteInt32(value.width); 27 | sender.WriteInt32(value.height); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputRect.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(Rect))] 8 | sealed class ArgumentOutputRect : ArgumentOutputEquatable 9 | { 10 | /// 11 | public override TypeTag[] Tags { get; } = 12 | { 13 | TypeTag.Float32, 14 | TypeTag.Float32, 15 | TypeTag.Float32, 16 | TypeTag.Float32, 17 | }; 18 | 19 | /// 20 | public override void Write(OscClient sender) 21 | { 22 | var value = Value; 23 | 24 | sender.WriteFloat32(value.x); 25 | sender.WriteFloat32(value.y); 26 | sender.WriteFloat32(value.width); 27 | sender.WriteFloat32(value.height); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputVector4.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(Vector4))] 8 | sealed class ArgumentOutputVector4 : ArgumentOutputEquatable 9 | { 10 | /// 11 | public override TypeTag[] Tags { get; } = 12 | { 13 | TypeTag.Float32, 14 | TypeTag.Float32, 15 | TypeTag.Float32, 16 | TypeTag.Float32, 17 | }; 18 | 19 | /// 20 | public override void Write(OscClient sender) 21 | { 22 | var value = Value; 23 | 24 | sender.WriteFloat32(value.x); 25 | sender.WriteFloat32(value.y); 26 | sender.WriteFloat32(value.z); 27 | sender.WriteFloat32(value.w); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputQuaternion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(Quaternion))] 8 | sealed class ArgumentOutputQuaternion : ArgumentOutputEquatable 9 | { 10 | /// 11 | public override TypeTag[] Tags { get; } = 12 | { 13 | TypeTag.Float32, 14 | TypeTag.Float32, 15 | TypeTag.Float32, 16 | TypeTag.Float32, 17 | }; 18 | 19 | /// 20 | public override void Write(OscClient sender) 21 | { 22 | var value = Value; 23 | 24 | sender.WriteFloat32(value.x); 25 | sender.WriteFloat32(value.y); 26 | sender.WriteFloat32(value.z); 27 | sender.WriteFloat32(value.w); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/ArgumentDirtyFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | /// 6 | /// The flags used to specify what has changed when determining if a new OSC Message must be sent when using 7 | /// . 8 | /// 9 | [Flags] 10 | public enum ArgumentDirtyFlags 11 | { 12 | /// 13 | /// The argument has not changed. 14 | /// 15 | None = 0, 16 | /// 17 | /// The data value to use for the message argument has changed. 18 | /// 19 | Value = 1 << 0, 20 | /// 21 | /// The type tags to use for the message argument changed. 22 | /// 23 | Tags = 1 << 1, 24 | /// 25 | /// The message argument has completely changed. 26 | /// 27 | All = Value | Tags, 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Enums/Status.cs: -------------------------------------------------------------------------------- 1 | namespace Unity.Media.Osc 2 | { 3 | /// 4 | /// The operational statuses for and . 5 | /// 6 | public enum Status 7 | { 8 | /// 9 | /// The or is inactive. 10 | /// 11 | None = 0, 12 | /// 13 | /// The or is operating normally. 14 | /// 15 | Ok = 1, 16 | /// 17 | /// The or is encountering issues, but is still partially operational. 18 | /// 19 | Warning = 2, 20 | /// 21 | /// The or is unable to function as configured. 22 | /// 23 | Error = 3, 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputColor32.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(Color32))] 8 | sealed class ArgumentOutputColor32 : ArgumentOutput 9 | { 10 | Color32? m_Value; 11 | 12 | /// 13 | public override TypeTag[] Tags { get; } = { TypeTag.Color32 }; 14 | 15 | /// 16 | protected override ArgumentDirtyFlags UpdateValue(Color32 value) 17 | { 18 | if (!m_Value.HasValue || !m_Value.Value.Equals(value)) 19 | { 20 | m_Value = value; 21 | return ArgumentDirtyFlags.Value; 22 | } 23 | 24 | return ArgumentDirtyFlags.None; 25 | } 26 | 27 | /// 28 | public override void Write(OscClient sender) 29 | { 30 | sender.WriteColor(m_Value ?? default); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputString.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc.Arguments 4 | { 5 | [Serializable] 6 | [ArgumentOutput(typeof(string))] 7 | sealed class ArgumentOutputString : ArgumentOutput 8 | { 9 | string m_Value; 10 | bool m_HasValue; 11 | 12 | /// 13 | public override TypeTag[] Tags { get; } = { TypeTag.String }; 14 | 15 | /// 16 | protected override ArgumentDirtyFlags UpdateValue(string value) 17 | { 18 | if (!m_HasValue || m_Value != value) 19 | { 20 | m_Value = value; 21 | m_HasValue = true; 22 | return ArgumentDirtyFlags.Value; 23 | } 24 | 25 | return ArgumentDirtyFlags.None; 26 | } 27 | 28 | /// 29 | public override void Write(OscClient sender) 30 | { 31 | sender.WriteString(m_Value ?? string.Empty); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMessageOutput.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_DashboardUrl: https://dashboard.unity3d.com 13 | m_TestInitMode: 0 14 | CrashReportingSettings: 15 | m_EventUrl: https://perf-events.cloud.unity3d.com 16 | m_Enabled: 0 17 | m_LogBufferSize: 10 18 | m_CaptureEditorExceptions: 1 19 | UnityPurchasingSettings: 20 | m_Enabled: 0 21 | m_TestMode: 0 22 | UnityAnalyticsSettings: 23 | m_Enabled: 0 24 | m_TestMode: 0 25 | m_InitializeOnStartup: 1 26 | UnityAdsSettings: 27 | m_Enabled: 0 28 | m_InitializeOnStartup: 1 29 | m_TestMode: 0 30 | m_IosGameId: 31 | m_AndroidGameId: 32 | m_GameIds: {} 33 | m_GameId: 34 | PerformanceReportingSettings: 35 | m_Enabled: 0 36 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscMessageHandler.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreReleasePackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | m_SeeAllPackageVersions: 0 20 | oneTimeWarningShown: 0 21 | m_Registries: 22 | - m_Id: main 23 | m_Name: 24 | m_Url: https://packages.unity.com 25 | m_Scopes: [] 26 | m_IsDefault: 1 27 | m_Capabilities: 7 28 | m_UserSelectedRegistryName: 29 | m_UserAddingNewScopedRegistry: 0 30 | m_RegistryInfoDraft: 31 | m_Modified: 0 32 | m_ErrorMessage: 33 | m_UserModificationsInstanceId: -830 34 | m_OriginalInstanceId: -832 35 | m_LoadAssets: 0 36 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/ArgumentHandlerAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | /// 6 | /// An attribute placed on a class inheriting from to enable it 7 | /// to be assigned from the inspector. 8 | /// 9 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] 10 | public sealed class ArgumentHandlerAttribute : Attribute 11 | { 12 | /// 13 | /// The display name of the entry in the argument handler type selection menu. 14 | /// 15 | public string DisplayName { get; } 16 | 17 | /// 18 | /// Creates a new instance. 19 | /// 20 | /// The display name of the entry in the argument handler type selection menu. 21 | public ArgumentHandlerAttribute(string displayName) 22 | { 23 | DisplayName = displayName; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 0 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 0 30 | m_SerializeInlineMappingsOnOneLine: 1 31 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Boolean.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Unity.IL2CPP.CompilerServices; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | unsafe partial class OscMessage 7 | { 8 | /// 9 | /// Read a boolean argument. 10 | /// 11 | /// The index of the argument to read. 12 | /// The boolean value if the argument has a matching tag; otherwise, . 13 | /// Thrown if is negative or exceeds the 14 | /// number of message arguments. 15 | [Il2CppSetOption(Option.NullChecks, false)] 16 | [Il2CppSetOption(Option.ArrayBoundsChecks, false)] 17 | public bool ReadBoolean(int index) 18 | { 19 | CheckIndexValid(index); 20 | 21 | return m_Tags[index] switch 22 | { 23 | TypeTag.True => true, 24 | TypeTag.False => false, 25 | TypeTag.Int32 => ReadInt32Unchecked(m_Offsets[index]) != 0, 26 | _ => default, 27 | }; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/OscConstants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Text; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | /// 7 | /// A class that contains OSC related constants. 8 | /// 9 | public static class OscConstants 10 | { 11 | /// 12 | /// The default port to use for OSC servers and clients. 13 | /// 14 | public const int DefaultPort = 8900; 15 | 16 | /// 17 | /// The smallest length of a valid OSC Address or OSC Address Pattern. 18 | /// 19 | public const int MinAddressLength = 2; 20 | 21 | /// 22 | /// The string used to indicate the start of an OSC bundle. 23 | /// 24 | public const string BundlePrefix = "#bundle\0"; 25 | 26 | /// 27 | /// The string used to indicate the start of an OSC bundle as a long. 28 | /// 29 | internal static readonly long BundlePrefixLong; 30 | 31 | static OscConstants() 32 | { 33 | var bundleBytes = Encoding.ASCII.GetBytes(BundlePrefix); 34 | BundlePrefixLong = BitConverter.ToInt64(bundleBytes, 0); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /CREDITS.md: -------------------------------------------------------------------------------- 1 | # Credits 2 | 3 | This page acknowledges those who have contributed to this work in the past. 4 | 5 | ## Past contributors 6 | 7 | Thank you to all the people who have contributed to Unity's OSC Protocol Support! 8 | 9 | Top contributors: 10 | [Scott Sewell](https://github.com/scsewell) 11 | 12 | Other devs, QAs, docs, UX, PM contributors (Alphabetic order): 13 | [Amine Bechrifa](https://github.com/bechrifaAmine), [Mark Beiline](https://github.com/mark-beiline), [Krisztian Birkas](https://github.com/gaborkb), [Jean Blouin](https://github.com/jeanblouin), [Etienne Cella](https://github.com/etienne-p), [Antoine Charton](https://github.com/AntoineCharton), [Thierry Dubois](https://github.com/ThierryDubois-unity), [Sebastien Duverne](https://github.com/sebastienduverne), [Guillaume Levasseur](https://github.com/guillaumelevass), [Kazuki Matsumoto](https://github.com/karasusan), [Marek Niedbalski](https://github.com/marekniedbalski), [Denis Racicot M.](https://github.com/denisAlexRM), [Jonathan Sawyer](https://github.com/sawyj), [Yohann Vaast](https://github.com/YohannVaastUnity), [Sergi Valls](https://github.com/sergi-unity), [Jessica Walker](https://github.com/JWalker0007), [Brad Weiers](https://github.com/bradweiers), [Wind Xu](https://github.com/windxu88), [Kylo Xue](https://github.com/alfance), [Wen Zhang](https://github.com/wenzhang-unity) 14 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/installation.md: -------------------------------------------------------------------------------- 1 | [Contents](TableOfContents.md) | [Home](index.md) > Installation 2 | 3 | # Installation 4 | 5 | This package is only available in its repository, and can't be discovered via the Unity registry. 6 | 7 | To install it, you have two main options: 8 | 9 | * Get a local copy of the package (i.e. the folder that includes the ­­`package.json` file) and follow the instructions for [local package installation](https://docs.unity3d.com/Manual/upm-ui-local.html), OR 10 | 11 | * Install the package directly from its GitHub repository [using a Git URL](https://docs.unity3d.com/Manual/upm-ui-giturl.html). 12 | 13 | ## Requirements 14 | 15 | | | | 16 | |:---|:---| 17 | | Unity Editor | **2022.2 or later** (recommended). | 18 | | OS | • In-Editor functionality: all platforms.

• Built runtime app functionality: Windows, MacOS, Linux, UWP, iOS, Android. | 19 | | Network | Your firewall must be configured to allow the Unity Editor to receive messages from the network.

See [how to manually create firewall rules](https://docs.unity3d.com/Packages/com.unity.live-capture@3.0/manual/setup-network.html) for this (example from the Live Capture package documentation). | 20 | | External OSC device | Any OSC compatible application or device connected to the same network as your Unity workstation or runtime app. | 21 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ContactPairsMode: 0 26 | m_BroadphaseType: 0 27 | m_WorldBounds: 28 | m_Center: {x: 0, y: 0, z: 0} 29 | m_Extent: {x: 250, y: 250, z: 250} 30 | m_WorldSubdivisions: 8 31 | m_FrictionType: 0 32 | m_EnableEnhancedDeterminism: 0 33 | m_EnableUnifiedHeightmaps: 1 34 | m_DefaultMaxAngluarSpeed: 7 35 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.MIDI.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using Unity.IL2CPP.CompilerServices; 4 | 5 | namespace Unity.Media.Osc 6 | { 7 | unsafe partial class OscMessage 8 | { 9 | /// 10 | /// Read a MIDI message argument. 11 | /// 12 | /// The index of the argument to read. 13 | /// The MIDI message if the argument has a matching tag; otherwise, . 14 | /// Thrown if is negative or exceeds the 15 | /// number of message arguments. 16 | [Il2CppSetOption(Option.NullChecks, false)] 17 | [Il2CppSetOption(Option.ArrayBoundsChecks, false)] 18 | public MidiMessage ReadMidi(int index) 19 | { 20 | CheckIndexValid(index); 21 | 22 | return m_Tags[index] switch 23 | { 24 | TypeTag.MIDI => ReadMidiUnchecked(m_Offsets[index]), 25 | _ => default, 26 | }; 27 | } 28 | 29 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 30 | MidiMessage ReadMidiUnchecked(int offset) 31 | { 32 | return *(MidiMessage*)(ElementPtr + offset); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/ArgumentOutputAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Unity.Media.Osc 4 | { 5 | /// 6 | /// An attribute placed on a class inheriting from to enable it 7 | /// to be used by . 8 | /// 9 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)] 10 | public class ArgumentOutputAttribute : Attribute 11 | { 12 | /// 13 | /// The type of the data to output. 14 | /// 15 | public Type Type { get; } 16 | 17 | /// 18 | /// If multiple argument outputs are used for the same , the argument output with the greater 19 | /// priority is used. 20 | /// 21 | /// 22 | /// Use a priority greater than zero to override the default argument outputs with custom implementations. 23 | /// 24 | public int Priority { get; set; } = 0; 25 | 26 | /// 27 | /// Creates a new instance. 28 | /// 29 | /// The type of the data to output. 30 | public ArgumentOutputAttribute(Type type) 31 | { 32 | Type = type; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.AsciiChar.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using Unity.IL2CPP.CompilerServices; 4 | 5 | namespace Unity.Media.Osc 6 | { 7 | unsafe partial class OscMessage 8 | { 9 | /// 10 | /// Read an ASCII char argument. 11 | /// 12 | /// The index of the argument to read. 13 | /// The character value if the element has a matching tag; otherwise, . 14 | /// Thrown if is negative or exceeds the 15 | /// number of message arguments. 16 | [Il2CppSetOption(Option.NullChecks, false)] 17 | [Il2CppSetOption(Option.ArrayBoundsChecks, false)] 18 | public char ReadAsciiChar(int index) 19 | { 20 | CheckIndexValid(index); 21 | 22 | return m_Tags[index] switch 23 | { 24 | TypeTag.AsciiChar32 => ReadAsciiCharUnchecked(m_Offsets[index]), 25 | _ => default, 26 | }; 27 | } 28 | 29 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 30 | char ReadAsciiCharUnchecked(int offset) 31 | { 32 | return (char)ElementPtr[offset + 3]; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.TimeTag.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using Unity.IL2CPP.CompilerServices; 4 | 5 | namespace Unity.Media.Osc 6 | { 7 | unsafe partial class OscMessage 8 | { 9 | /// 10 | /// Read a time tag argument. 11 | /// 12 | /// The index of the argument to read. 13 | /// The time value if the argument has a matching tag; otherwise, . 14 | /// Thrown if is negative or exceeds the 15 | /// number of message arguments. 16 | [Il2CppSetOption(Option.NullChecks, false)] 17 | [Il2CppSetOption(Option.ArrayBoundsChecks, false)] 18 | public TimeTag ReadTimeTag(int index) 19 | { 20 | CheckIndexValid(index); 21 | 22 | return m_Tags[index] switch 23 | { 24 | TypeTag.TimeTag => ReadTimeTagUnchecked(m_Offsets[index]), 25 | _ => default, 26 | }; 27 | } 28 | 29 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 30 | TimeTag ReadTimeTagUnchecked(int offset) 31 | { 32 | return TimeTag.FromBigEndianBytes(ElementPtr + offset); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Color32.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using Unity.IL2CPP.CompilerServices; 4 | using UnityEngine; 5 | 6 | namespace Unity.Media.Osc 7 | { 8 | unsafe partial class OscMessage 9 | { 10 | /// 11 | /// Read a 32-bit RGBA color argument. 12 | /// 13 | /// The index of the argument to read. 14 | /// The color value if the argument has a matching tag; otherwise, . 15 | /// Thrown if is negative or exceeds the 16 | /// number of message arguments. 17 | [Il2CppSetOption(Option.NullChecks, false)] 18 | [Il2CppSetOption(Option.ArrayBoundsChecks, false)] 19 | public Color32 ReadColor32(int index) 20 | { 21 | CheckIndexValid(index); 22 | 23 | return m_Tags[index] switch 24 | { 25 | TypeTag.Color32 => ReadColor32Unchecked(m_Offsets[index]), 26 | _ => default, 27 | }; 28 | } 29 | 30 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 31 | Color32 ReadColor32Unchecked(int offset) 32 | { 33 | return *(Color32*)(ElementPtr + offset); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /com.unity.media.osc/Third Party Notices.md: -------------------------------------------------------------------------------- 1 | This package (com.unity.media.osc) contains a modified version of third-party software components governed by the license(s) indicated below: 2 | --------- 3 | 4 | Component Name: OscCore (https://github.com/stella3d/OscCore) 5 | 6 | License Type: [MIT](https://github.com/stella3d/OscCore/blob/main/LICENSE) 7 | 8 | MIT License 9 | 10 | Copyright (c) 2019 Stella Cannefax 11 | 12 | Permission is hereby granted, free of charge, to any person obtaining a copy 13 | of this software and associated documentation files (the "Software"), to deal 14 | in the Software without restriction, including without limitation the rights 15 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 16 | copies of the Software, and to permit persons to whom the Software is 17 | furnished to do so, subject to the following conditions: 18 | 19 | The above copyright notice and this permission notice shall be included in all 20 | copies or substantial portions of the Software. 21 | 22 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Utility/EnumUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Reflection; 5 | using UnityEngine; 6 | 7 | namespace Unity.Media.Osc 8 | { 9 | static class EnumUtils 10 | { 11 | static class DisplayNameCache where T : Enum 12 | { 13 | public static readonly Dictionary s_Cache = (Enum.GetValues(typeof(T)) as T[]) 14 | .ToDictionary(value => value, value => 15 | { 16 | var name = value.ToString(); 17 | return typeof(T).GetMember(name).FirstOrDefault()?.GetCustomAttribute()?.displayName ?? name; 18 | }); 19 | } 20 | 21 | /// 22 | /// Gets the display name of an enum. 23 | /// 24 | /// 25 | /// This returns the name given by if the attribute is used. 26 | /// The name values are cached, so there is little cost to getting the name. 27 | /// 28 | /// The enum value to get the display name of. 29 | /// The type of enum. 30 | /// The display name. 31 | public static string GetDisplayName(this T value) where T : Enum 32 | { 33 | return DisplayNameCache.s_Cache[value]; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/features.md: -------------------------------------------------------------------------------- 1 | [Contents](TableOfContents.md) | [Home](index.md) > Features 2 | 3 | # Features 4 | 5 | ## OSC messaging 6 | 7 | - OSC message writing and parsing from buffers and streams. 8 | 9 | - OSC message sending and receiving. 10 | 11 | - OSC address space management: message dispatching and pattern matching. 12 | 13 | - OSC message bundle support. 14 | 15 | - [OSC 1.0 specification](https://opensoundcontrol.stanford.edu/spec-1_0.html) full support. 16 | 17 | - [OSC 1.1 specification](https://opensoundcontrol.stanford.edu/spec-1_1.html) partial support (mostly to use SLIP for stream-based protocols and standardize various metadata formats). 18 | 19 | ## Message transport 20 | 21 | - Support for UDP and TCP over the network. 22 | 23 | - Support for UDP multicast. 24 | 25 | - API available to add support for other transport media such as serial connection. 26 | 27 | ## Unity Editor components and windows 28 | 29 | - Components to send and receive OSC messages over the network. 30 | 31 | - Component to apply OSC message data to a Unity Scene. 32 | 33 | - Component to generate OSC messages when the Unity Scene changes. 34 | 35 | - Window to monitor all OSC messages sent and received by the Unity Editor. 36 | 37 | ## Functionality context 38 | 39 | - Works in the Unity Editor in Edit mode and Play mode. 40 | 41 | - Works in Unity built runtime apps. UDP and TCP transport are limited to platforms that support the System.Net.Sockets library (i.e. most platforms except WebGL and some consoles). 42 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/LengthPrefix/LengthPrefixStreamWriter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | /// 7 | /// A class used to write an OSC stream that uses a packet length prefix. 8 | /// 9 | /// 10 | /// A packet length prefix is used by OSC streams following the OSC 1.0 specification. It is not suitable for 11 | /// unreliable streams as this approach makes error recovery impractical. 12 | /// 13 | /// 14 | public class LengthPrefixStreamWriter : OscStreamWriter 15 | { 16 | readonly byte[] m_PrefixBuffer = new byte[sizeof(int)]; 17 | 18 | /// 19 | /// Creates a new instance. 20 | /// 21 | /// The stream to write to. 22 | public LengthPrefixStreamWriter(Stream stream) : base(stream) 23 | { 24 | } 25 | 26 | /// 27 | public override void WriteToStream(byte[] packetBuffer, int packetLength) 28 | { 29 | if (packetBuffer == null || packetLength <= 0) 30 | { 31 | return; 32 | } 33 | if (!BitConverter.TryWriteBytes(m_PrefixBuffer.AsSpan(), packetLength.ToBigEndian())) 34 | { 35 | return; 36 | } 37 | 38 | Stream.Write(m_PrefixBuffer); 39 | Stream.Write(packetBuffer, 0, packetLength); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Int.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using Unity.IL2CPP.CompilerServices; 4 | 5 | namespace Unity.Media.Osc 6 | { 7 | unsafe partial class OscMessage 8 | { 9 | /// 10 | /// Read a 32-bit integer argument. 11 | /// 12 | /// The index of the argument to read. 13 | /// The integer value if the argument has a matching tag; otherwise, . 14 | /// Thrown if is negative or exceeds the 15 | /// number of message arguments. 16 | [Il2CppSetOption(Option.NullChecks, false)] 17 | [Il2CppSetOption(Option.ArrayBoundsChecks, false)] 18 | public int ReadInt32(int index) 19 | { 20 | CheckIndexValid(index); 21 | 22 | var offset = m_Offsets[index]; 23 | 24 | return m_Tags[index] switch 25 | { 26 | TypeTag.Int32 => ReadInt32Unchecked(offset), 27 | TypeTag.Int64 => (int)ReadInt64Unchecked(offset), 28 | TypeTag.Float32 => (int)ReadFloat32Unchecked(offset), 29 | TypeTag.Float64 => (int)ReadFloat64Unchecked(offset), 30 | _ => default, 31 | }; 32 | } 33 | 34 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 35 | int ReadInt32Unchecked(int offset) 36 | { 37 | return (*(int*)(ElementPtr + offset)).FromBigEndian(); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Int64.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using Unity.IL2CPP.CompilerServices; 4 | 5 | namespace Unity.Media.Osc 6 | { 7 | unsafe partial class OscMessage 8 | { 9 | /// 10 | /// Read a 64-bit integer argument. 11 | /// 12 | /// The index of the argument to read. 13 | /// The integer value if the argument has a matching tag; otherwise, . 14 | /// Thrown if is negative or exceeds the 15 | /// number of message arguments. 16 | [Il2CppSetOption(Option.NullChecks, false)] 17 | [Il2CppSetOption(Option.ArrayBoundsChecks, false)] 18 | public long ReadInt64(int index) 19 | { 20 | CheckIndexValid(index); 21 | 22 | var offset = m_Offsets[index]; 23 | 24 | return m_Tags[index] switch 25 | { 26 | TypeTag.Int32 => ReadInt32Unchecked(offset), 27 | TypeTag.Int64 => ReadInt64Unchecked(offset), 28 | TypeTag.Float32 => (long)ReadFloat32Unchecked(offset), 29 | TypeTag.Float64 => (long)ReadFloat64Unchecked(offset), 30 | _ => default, 31 | }; 32 | } 33 | 34 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 35 | long ReadInt64Unchecked(int offset) 36 | { 37 | return (*(long*)(ElementPtr + offset)).FromBigEndian(); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Float64.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using Unity.IL2CPP.CompilerServices; 4 | 5 | namespace Unity.Media.Osc 6 | { 7 | unsafe partial class OscMessage 8 | { 9 | /// 10 | /// Read a 64-bit float argument. 11 | /// 12 | /// The index of the argument to read. 13 | /// The float value if the argument has a matching tag; otherwise, . 14 | /// Thrown if is negative or exceeds the 15 | /// number of message arguments. 16 | [Il2CppSetOption(Option.NullChecks, false)] 17 | [Il2CppSetOption(Option.ArrayBoundsChecks, false)] 18 | public double ReadFloat64(int index) 19 | { 20 | CheckIndexValid(index); 21 | 22 | var offset = m_Offsets[index]; 23 | 24 | return m_Tags[index] switch 25 | { 26 | TypeTag.Int32 => ReadInt32Unchecked(offset), 27 | TypeTag.Int64 => ReadInt64Unchecked(offset), 28 | TypeTag.Float32 => ReadFloat32Unchecked(offset), 29 | TypeTag.Float64 => ReadFloat64Unchecked(offset), 30 | _ => default, 31 | }; 32 | } 33 | 34 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 35 | double ReadFloat64Unchecked(int offset) 36 | { 37 | var val = ReadInt64Unchecked(offset); 38 | return *(double*)&val; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Parser/Arguments/OscMessage.Float.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using Unity.IL2CPP.CompilerServices; 4 | 5 | namespace Unity.Media.Osc 6 | { 7 | unsafe partial class OscMessage 8 | { 9 | /// 10 | /// Read a 32-bit float argument. 11 | /// 12 | /// The index of the argument to read. 13 | /// The float value if the argument has a matching tag; otherwise, . 14 | /// Thrown if is negative or exceeds the 15 | /// number of message arguments. 16 | [Il2CppSetOption(Option.NullChecks, false)] 17 | [Il2CppSetOption(Option.ArrayBoundsChecks, false)] 18 | public float ReadFloat32(int index) 19 | { 20 | CheckIndexValid(index); 21 | 22 | var offset = m_Offsets[index]; 23 | 24 | return m_Tags[index] switch 25 | { 26 | TypeTag.Int32 => ReadInt32Unchecked(offset), 27 | TypeTag.Int64 => ReadInt64Unchecked(offset), 28 | TypeTag.Float32 => ReadFloat32Unchecked(offset), 29 | TypeTag.Float64 => (float)ReadFloat64Unchecked(offset), 30 | _ => default, 31 | }; 32 | } 33 | 34 | [MethodImpl(MethodImplOptions.AggressiveInlining)] 35 | float ReadFloat32Unchecked(int offset) 36 | { 37 | var val = ReadInt32Unchecked(offset); 38 | return *(float*)&val; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Receiving/Arguments/ArgumentHandlerMatrix4x4.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | [Serializable] 7 | [ArgumentHandler("Matrix4x4")] 8 | sealed class ArgumentHandlerMatrix4x4 : ArgumentHandler 9 | { 10 | /// 11 | protected override int ArgumentCount => 16; 12 | 13 | /// 14 | protected override bool TryReadArgument(OscMessage message, int argumentIndex, out Matrix4x4 value) 15 | { 16 | value.m00 = message.ReadFloat32(argumentIndex); 17 | value.m01 = message.ReadFloat32(argumentIndex + 1); 18 | value.m02 = message.ReadFloat32(argumentIndex + 2); 19 | value.m03 = message.ReadFloat32(argumentIndex + 3); 20 | value.m10 = message.ReadFloat32(argumentIndex + 4); 21 | value.m11 = message.ReadFloat32(argumentIndex + 5); 22 | value.m12 = message.ReadFloat32(argumentIndex + 6); 23 | value.m13 = message.ReadFloat32(argumentIndex + 7); 24 | value.m20 = message.ReadFloat32(argumentIndex + 8); 25 | value.m21 = message.ReadFloat32(argumentIndex + 9); 26 | value.m22 = message.ReadFloat32(argumentIndex + 10); 27 | value.m23 = message.ReadFloat32(argumentIndex + 11); 28 | value.m30 = message.ReadFloat32(argumentIndex + 12); 29 | value.m31 = message.ReadFloat32(argumentIndex + 13); 30 | value.m32 = message.ReadFloat32(argumentIndex + 14); 31 | value.m33 = message.ReadFloat32(argumentIndex + 15); 32 | return true; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/index.md: -------------------------------------------------------------------------------- 1 | # OSC Protocol Support package 2 | 3 | >[!NOTE] 4 | >To use the OSC package, you must install it separately. For detailed information about package requirements and installation instructions, refer to [Installation](installation.md). 5 | 6 | Send and receive control messages between the Unity Editor and external devices using the Open Sound Control (OSC) protocol. 7 | 8 | ## Concept and use cases 9 | 10 | The [Open Sound Control (OSC)](https://en.wikipedia.org/wiki/Open_Sound_Control) protocol is a message format used to share simple parameters between devices and/or applications, typically via UDP over the network or via other transport protocols or media. 11 | 12 | OSC is often encountered in virtual production or audio workstation environments. 13 | 14 | In Unity, the OSC package allows you, for example, to: 15 | 16 | - Control GameObjects of your Unity Scene using touch pads, sliders and buttons from a remote OSC app. 17 | 18 | - Automatically update display elements of a remote OSC app when something changes in your Unity Scene. 19 | 20 | ## In this documentation 21 | 22 | | Section | Description | 23 | |:---|:---| 24 | | [Installation](installation.md) | Install the OSC package and learn about the package and environment requirements. | 25 | | [Features](features.md) | Learn about the features and capabilities of the OSC package. | 26 | | [Getting started](getting-started.md) | Get started with basic configuration examples for enabling OSC message input and output. | 27 | | [Interface reference](ui-ref.md) | Get the description of all components and windows available for OSC configuration and use in the Unity Editor. | 28 | 29 | _See also the full [table of contents](TableOfContents.md)_ 30 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputBool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(bool))] 8 | sealed class ArgumentOutputBool : ArgumentOutput 9 | { 10 | [SerializeField, Tooltip("By default boolean values as sent as an integer. " + 11 | "Enable this option to send the value in the tag string using the \"T\" and \"F\" type tags.")] 12 | bool m_SendAsTags = false; 13 | 14 | readonly TypeTag[] s_Tags = new TypeTag[1]; 15 | bool? m_Value; 16 | 17 | /// 18 | public override TypeTag[] Tags 19 | { 20 | get 21 | { 22 | if (m_SendAsTags) 23 | { 24 | s_Tags[0] = (m_Value ?? false) ? TypeTag.True : TypeTag.False; 25 | } 26 | else 27 | { 28 | s_Tags[0] = TypeTag.Int32; 29 | } 30 | return s_Tags; 31 | } 32 | } 33 | 34 | /// 35 | protected override ArgumentDirtyFlags UpdateValue(bool value) 36 | { 37 | if (!m_Value.HasValue || m_Value.Value != value) 38 | { 39 | m_Value = value; 40 | return m_SendAsTags ? ArgumentDirtyFlags.Tags : ArgumentDirtyFlags.Value; 41 | } 42 | 43 | return ArgumentDirtyFlags.None; 44 | } 45 | 46 | /// 47 | public override void Write(OscClient sender) 48 | { 49 | if (!m_SendAsTags) 50 | { 51 | sender.WriteInt32((m_Value ?? default) ? 1 : 0); 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /com.unity.media.osc/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | All notable changes to this package will be documented in this file. 3 | 4 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) 5 | and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). 6 | 7 | ## [Unreleased] - 2023-07-26 8 | ### Changed 9 | - Removed editor analytics. 10 | - Removed Pro License requirement. 11 | 12 | ## [2.0.0] - 2022-03-15 13 | ### Added 14 | - Editor analytics for sender type, receiver type and message counts 15 | 16 | ### Changed 17 | - Updated the required minimum Unity Editor version to Unity 2022.2. 18 | 19 | ## [1.0.0] - 2022-10-03 20 | 21 | ## [1.0.0-beta.2] - 2022-07-13 22 | ### Added 23 | - Added support for the TCP protocol. 24 | - Logged messages may optionally persist through a domain reload. 25 | - Added a search box to the message log. 26 | - Added duplicate argument option to OscMessageHandler and OscMessageOutput components. 27 | 28 | ### Changed 29 | - Reordered update methods to reduce latency in some cases. 30 | - OSC Monitor window message log automatically scrolls to show new messages. 31 | - OSC Monitor window updates less often to improve performance when many messages are being sent. 32 | - Added duplicate argument option to OscMessageHandler and OscMessageOutput components. 33 | - Arguments added to an OscMessageHandler are created with an event targeting the component's GameObject. 34 | - Arguments added to an OscMessageOutput target the component's GameObject by default. 35 | 36 | ### Fixed 37 | - OscMessageOutput does not work in Il2cpp builds. 38 | - Fix undo when adding arguments on OscMessageHandler and OscMessageOutput components. 39 | - Prevent assiging properties that didn't have a public getter on OscMessageOutput components. 40 | 41 | ## [1.0.0-beta.1] - 2022-05-26 42 | 43 | - Initial version of the OSC package. 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OSC Protocol Support for Unity Editor 2 | 3 | Use the OSC Protocol Support package (`com.unity.media.osc`) to send and receive OSC (Open Sound Control) messages from Unity. This package implements full support for the OSC 1.0 specification, and much of the OSC 1.1 specification. 4 | 5 | This repository contains the code package and a test project related with Unity OSC Protocol support. 6 | 7 | ## Get started 8 | 9 | To learn about the Unity OSC Protocol Support package (concepts, features, and workflows) read the [OSC package documentation](com.unity.media.osc/Documentation~/index.md) in this repository. 10 | 11 | ### Check out the licensing model 12 | 13 | The OSC Protocol Support package is licensed under the [Apache License, Version 2.0](LICENSE.md). 14 | 15 | ### Contribution and maintenance 16 | 17 | We appreciate your interest in contributing to the Unity OSC Protocol Support package. 18 | It's important to note that **this package is provided as is, without any maintenance or release plan.** 19 | Therefore, we are unable to monitor bug reports, accept feature requests, or review pull requests for this package. 20 | 21 | However, we understand that users may want to make improvements to the package. 22 | In that case, we recommend that you fork the repository. This will allow you to make changes and enhancements as you see fit. 23 | 24 | ## OSC Protocol Support package 25 | 26 | ### Access the OSC Protocol Support package folder 27 | 28 | | Package | Description | 29 | | :--- | :--- | 30 | | **[OSC](com.unity.media.osc)** | The package that allows you to send and receive OSC (Open Sound Control) messages from Unity. | 31 | 32 | ### Test the OSC Protocol Support package 33 | 34 | Use this Unity project to run various tests against the OSC Protocol Support package: 35 | 36 | | Project | Description | 37 | | :--- | :--- | 38 | | [TestProject](TestProject) | Runs the tests. | 39 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputMatrix4x4.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace Unity.Media.Osc.Arguments 5 | { 6 | [Serializable] 7 | [ArgumentOutput(typeof(Matrix4x4))] 8 | sealed class ArgumentOutputMatrix4x4 : ArgumentOutputEquatable 9 | { 10 | /// 11 | public override TypeTag[] Tags { get; } = 12 | { 13 | TypeTag.Float32, 14 | TypeTag.Float32, 15 | TypeTag.Float32, 16 | TypeTag.Float32, 17 | 18 | TypeTag.Float32, 19 | TypeTag.Float32, 20 | TypeTag.Float32, 21 | TypeTag.Float32, 22 | 23 | TypeTag.Float32, 24 | TypeTag.Float32, 25 | TypeTag.Float32, 26 | TypeTag.Float32, 27 | 28 | TypeTag.Float32, 29 | TypeTag.Float32, 30 | TypeTag.Float32, 31 | TypeTag.Float32, 32 | }; 33 | 34 | /// 35 | public override void Write(OscClient sender) 36 | { 37 | var value = Value; 38 | 39 | sender.WriteFloat32(value.m00); 40 | sender.WriteFloat32(value.m01); 41 | sender.WriteFloat32(value.m02); 42 | sender.WriteFloat32(value.m03); 43 | 44 | sender.WriteFloat32(value.m10); 45 | sender.WriteFloat32(value.m11); 46 | sender.WriteFloat32(value.m12); 47 | sender.WriteFloat32(value.m13); 48 | 49 | sender.WriteFloat32(value.m20); 50 | sender.WriteFloat32(value.m21); 51 | sender.WriteFloat32(value.m22); 52 | sender.WriteFloat32(value.m23); 53 | 54 | sender.WriteFloat32(value.m30); 55 | sender.WriteFloat32(value.m31); 56 | sender.WriteFloat32(value.m32); 57 | sender.WriteFloat32(value.m33); 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 3 | 4 | # A marker file of which existence is used to decide whether to run the first-launch experience or not. 5 | InitCodeMarker 6 | /[Tt]utorial [Dd]efaults/ 7 | 8 | # Packed templates go here 9 | upm-ci~/ 10 | upm-ci.log 11 | 12 | # Never ignore Asset meta data... 13 | !/[Aa]ssets/**/*.meta 14 | 15 | # User's project-specific settings implemented using Settings Manager 16 | /ProjectSettings/Packages 17 | 18 | # The rest are general best practices for Unity projects 19 | /.Editor/ 20 | /[Ll]ibrary/ 21 | /[Tt]emp/ 22 | /[Oo]bj/ 23 | /[Bb]uild/ 24 | /[Bb]uilds/ 25 | /[Ll]ogs/ 26 | /[Mm]emoryCaptures/ 27 | /[Vv]alidationSuiteResults/ 28 | 29 | # Project/user-specific settings using Settings Manager 30 | /ProjectSettings/Packages/ 31 | # UserSettings introduced in 2020.1 32 | /UserSettings/ 33 | 34 | # Uncomment this line if you wish to ignore the asset store tools plugin 35 | /[Aa]ssets/AssetStoreTools* 36 | 37 | # Autogenerated Jetbrains Rider plugin 38 | [Aa]ssets/Plugins/Editor/JetBrains* 39 | 40 | # Rider 41 | .idea/ 42 | 43 | # Visual Studio cache directory 44 | .vs/ 45 | 46 | # Visual Studio Code settings directory 47 | .vscode/ 48 | 49 | # Gradle cache directory 50 | .gradle/ 51 | 52 | # Autogenerated VS/MD/Consulo solution and project files 53 | ExportedObj/ 54 | .consulo/ 55 | *.csproj 56 | *.unityproj 57 | *.sln 58 | *.suo 59 | *.tmp 60 | *.user 61 | *.userprefs 62 | *.pidb 63 | *.booproj 64 | *.svd 65 | *.pdb 66 | *.mdb 67 | *.opendb 68 | *.VC.db 69 | 70 | # Unity3D generated meta files 71 | *.pidb.meta 72 | *.pdb.meta 73 | *.mdb.meta 74 | 75 | # Unity3D generated file on crash reports 76 | sysinfo.txt 77 | 78 | # Builds 79 | *.apk 80 | *.unitypackage 81 | 82 | # Crashlytics generated file 83 | crashlytics-build.properties 84 | *.orig 85 | *.orig.meta 86 | 87 | # Ignore build reports 88 | /Assets/BuildReports* 89 | 90 | # Mac file setting 91 | .DS_Store 92 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Utility/ComponentUtils.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | using UnityEditor.SceneManagement; 3 | #endif 4 | using UnityEngine; 5 | 6 | namespace Unity.Media.Osc 7 | { 8 | /// 9 | /// A class containing utility methods for managing components. 10 | /// 11 | static class ComponentUtils 12 | { 13 | /// 14 | /// Finds a component from the same Scene as the specified GameObject. 15 | /// 16 | /// The GameObject to get the most relevant component for. 17 | /// Allows returning components on inactive objects. 18 | /// The type of component to get. 19 | /// A instance, or if no instance was found. 20 | internal static T FindComponentInSameScene(GameObject gameObject, bool includeInactive = false) where T : Component 21 | { 22 | var component = gameObject.GetComponentInParent(); 23 | 24 | if (component != null) 25 | return component; 26 | 27 | #if UNITY_EDITOR 28 | // Find a component from the same stage if the gameobject is not in a scene 29 | var stage = StageUtility.GetStage(gameObject); 30 | 31 | if (stage != StageUtility.GetMainStage()) 32 | { 33 | foreach (var candidate in stage.FindComponentsOfType()) 34 | { 35 | if (candidate.gameObject.activeInHierarchy) 36 | { 37 | return candidate; 38 | } 39 | } 40 | } 41 | #endif 42 | 43 | foreach (var candidate in Object.FindObjectsOfType(includeInactive)) 44 | { 45 | if (candidate.gameObject.scene == gameObject.scene) 46 | { 47 | return candidate; 48 | } 49 | } 50 | 51 | return null; 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/DynamicGetterCache.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Reflection; 4 | using System.Reflection.Emit; 5 | using UnityEngine; 6 | using Object = UnityEngine.Object; 7 | 8 | namespace Unity.Media.Osc 9 | { 10 | static class DynamicGetterCache 11 | { 12 | static readonly Dictionary> s_Cache = new Dictionary>(); 13 | 14 | public static Func GetGetter(MemberInfo member) 15 | { 16 | if (!s_Cache.TryGetValue(member, out var getter)) 17 | { 18 | var newMethod = new DynamicMethod($"{typeof(T).FullName}.argument_get_{member.Name}", typeof(T), new[] { typeof(Object) }); 19 | var gen = newMethod.GetILGenerator(); 20 | 21 | switch (member) 22 | { 23 | case FieldInfo field: 24 | { 25 | gen.Emit(OpCodes.Ldarg_0); 26 | gen.Emit(OpCodes.Ldfld, field); 27 | gen.Emit(OpCodes.Ret); 28 | break; 29 | } 30 | case PropertyInfo property: 31 | { 32 | gen.Emit(OpCodes.Ldarg_0); 33 | gen.Emit(OpCodes.Call, property.GetGetMethod()); 34 | gen.Emit(OpCodes.Ret); 35 | break; 36 | } 37 | case MethodInfo method: 38 | { 39 | gen.Emit(OpCodes.Ldarg_0); 40 | gen.Emit(OpCodes.Call, method); 41 | gen.Emit(OpCodes.Ret); 42 | break; 43 | } 44 | default: 45 | throw new ArgumentOutOfRangeException(nameof(member), member, null); 46 | } 47 | 48 | getter = (Func)newMethod.CreateDelegate(typeof(Func)); 49 | s_Cache.Add(member, getter); 50 | } 51 | 52 | return getter; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/example-osc-output.md: -------------------------------------------------------------------------------- 1 | [Contents](TableOfContents.md) | [Home](index.md) > [Getting started with examples](getting-started.md) > Controlling a remote OSC app from Unity 2 | 3 | # Controlling a remote OSC app from Unity 4 | 5 | Example configuration to remotely control a slider on your external OSC app over the network by manipulating a single value from the Unity Editor (here, through a Light GameObject). 6 | 7 | 1. In Unity, create an empty GameObject to hold the components required for sending OSC messages: 8 | 9 | a. In the Unity Editor’s menu, select **GameObject \> Create Empty**. 10 | 11 | b. Name this GameObject “OSC Out”, for example. 12 | 13 | 14 | 2. In the “OSC Out” GameObject, add and configure an [OSC Sender](ui-ref.md#osc-sender) component: 15 | 16 | a. In the Inspector, select **Add Component \> OSC \> OSC Sender**. 17 | 18 | b. Set **IP Address** to the address of the receiving device hosting your OSC app. 19 | 20 | c. Set **Port** to the network port the receiving device is listening on. 21 | 22 | 23 | 3. In the “OSC Out” GameObject, add and configure an [OSC Message Output](ui-ref.md#osc-message-output) component: 24 | 25 | a. In the Inspector, select **Add Component \> OSC \> OSC Message Output**. 26 | 27 | b. Set **OSC Address** to the address of the slider you want to control from Unity, according to the specifications of your external OSC app. For example: /myapp/screen1/slider1. 28 | 29 | c. Select **Add New OSC Argument.** 30 | 31 | d. In the created Argument 0, set **Object** to a Light GameObject of your Scene. 32 | 33 | e. Set **Component** to “Light”, and **Property** to “Single bounceIntensity”. 34 | 35 | 36 | 4. In the Hierarchy, select the Light GameObject you targeted in the previous step. 37 | 38 | 39 | 5. In the Inspector, in **Light \> Emission**, play with the **Indirect Multiplier** value between 0 and 1. 40 | In your external OSC app, you should see the slider moving. 41 | 42 | 43 | ## Troubleshooting 44 | 45 | - Make sure you correctly mapped the IP Address and Port in your external OSC app and in the OSC Sender component in Unity. Change the Port value on both sides if needed. 46 | 47 | - Use the [OSC Monitor](ui-ref.md#osc-monitor) to verify if Unity correctly sends OSC messages and to analyze the message details. 48 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Sending/Arguments/ArgumentOutputBlob.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Unity.Collections.LowLevel.Unsafe; 3 | using UnityEngine; 4 | 5 | namespace Unity.Media.Osc.Arguments 6 | { 7 | [Serializable] 8 | [ArgumentOutput(typeof(byte[]))] 9 | sealed class ArgumentOutputByteArray : ArgumentOutput 10 | { 11 | byte[] m_Value; 12 | int m_Length; 13 | 14 | /// 15 | public override TypeTag[] Tags { get; } = { TypeTag.Blob }; 16 | 17 | /// 18 | protected override ArgumentDirtyFlags UpdateValue(byte[] value) 19 | { 20 | var newLength = value?.Length ?? 0; 21 | 22 | // check if the data contents has changed since last updated 23 | bool changed; 24 | 25 | if (m_Value == null || m_Length != newLength) 26 | { 27 | changed = true; 28 | } 29 | else 30 | { 31 | unsafe 32 | { 33 | fixed (byte* src = m_Value) 34 | fixed (byte* dst = value) 35 | { 36 | changed = UnsafeUtility.MemCmp(dst, src, newLength) != 0; 37 | } 38 | } 39 | } 40 | 41 | if (!changed) 42 | return ArgumentDirtyFlags.None; 43 | 44 | // if the data has changed we need to store an updated copy of it 45 | if (m_Value == null || m_Value.Length < newLength) 46 | { 47 | m_Value = new byte[2 * newLength]; 48 | } 49 | 50 | if (newLength > 0) 51 | { 52 | unsafe 53 | { 54 | fixed (byte* src = m_Value) 55 | fixed (byte* dst = value) 56 | { 57 | UnsafeUtility.MemCpy(dst, src, newLength); 58 | } 59 | } 60 | } 61 | 62 | m_Length = newLength; 63 | return ArgumentDirtyFlags.Value; 64 | } 65 | 66 | /// 67 | public override void Write(OscClient sender) 68 | { 69 | sender.WriteBlob(m_Value == null ? Span.Empty : m_Value.AsSpan(0, m_Length)); 70 | } 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscNetworkSender.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /TestProject/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | m_PreloadedShaders: [] 39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 40 | type: 0} 41 | m_CustomRenderPipeline: {fileID: 0} 42 | m_TransparencySortMode: 0 43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 44 | m_DefaultRenderingPath: 1 45 | m_DefaultMobileRenderingPath: 1 46 | m_TierSettings: [] 47 | m_LightmapStripping: 0 48 | m_FogStripping: 0 49 | m_InstancingStripping: 0 50 | m_LightmapKeepPlain: 1 51 | m_LightmapKeepDirCombined: 1 52 | m_LightmapKeepDynamicPlain: 1 53 | m_LightmapKeepDynamicDirCombined: 1 54 | m_LightmapKeepShadowMask: 1 55 | m_LightmapKeepSubtractive: 1 56 | m_FogKeepLinear: 1 57 | m_FogKeepExp: 1 58 | m_FogKeepExp2: 1 59 | m_AlbedoSwatchInfos: [] 60 | m_LightsUseLinearIntensity: 0 61 | m_LightsUseColorTemperature: 0 62 | m_LogWhenShaderIsCompiled: 0 63 | m_AllowEnlightenSupportForUpgradedProject: 0 64 | -------------------------------------------------------------------------------- /com.unity.media.osc/UI/OscNetworkReceiver.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Components/Utility/ReferenceManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace Unity.Media.Osc 6 | { 7 | class ReferenceManager 8 | where TKey : IEquatable 9 | where TOwner : class 10 | where TClass : class, IDisposable 11 | { 12 | struct Reference 13 | { 14 | public TClass Instance; 15 | public List Owners; 16 | } 17 | 18 | readonly Dictionary m_KeyToReference = new Dictionary(); 19 | readonly Func m_CreateInstance; 20 | 21 | public ReferenceManager(Func createInstance) 22 | { 23 | m_CreateInstance = createInstance; 24 | } 25 | 26 | public IEnumerable GetOwners(TKey key) 27 | { 28 | return m_KeyToReference.TryGetValue(key, out var reference) ? reference.Owners : Enumerable.Empty(); 29 | } 30 | 31 | public void GetOrCreate(TKey key, TOwner owner, out TClass instance) 32 | { 33 | if (owner == null) 34 | { 35 | instance = default; 36 | return; 37 | } 38 | 39 | if (m_KeyToReference.TryGetValue(key, out var reference)) 40 | { 41 | instance = reference.Instance; 42 | reference.Owners.Add(owner); 43 | 44 | m_KeyToReference[key] = reference; 45 | } 46 | else 47 | { 48 | instance = m_CreateInstance(key); 49 | reference = new Reference 50 | { 51 | Instance = instance, 52 | Owners = new List 53 | { 54 | owner, 55 | }, 56 | }; 57 | 58 | m_KeyToReference.Add(key, reference); 59 | } 60 | } 61 | 62 | public bool Release(TKey key, TOwner owner) 63 | { 64 | if (owner == null || !m_KeyToReference.TryGetValue(key, out var reference) || !reference.Owners.Remove(owner)) 65 | { 66 | return false; 67 | } 68 | 69 | if (reference.Owners.Count == 0) 70 | { 71 | reference.Instance.Dispose(); 72 | m_KeyToReference.Remove(key); 73 | return true; 74 | } 75 | 76 | m_KeyToReference[key] = reference; 77 | return false; 78 | } 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /com.unity.media.osc/Runtime/Core/Streams/OscStreamWriter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | 4 | namespace Unity.Media.Osc 5 | { 6 | /// 7 | /// A class used to write an OSC stream. 8 | /// 9 | public abstract class OscStreamWriter : IDisposable 10 | { 11 | /// 12 | /// The stream to write OSC packets to. 13 | /// 14 | public Stream Stream { get; } 15 | 16 | /// 17 | /// Creates a new instance. 18 | /// 19 | /// The stream to write to. 20 | /// Thrown if is . 21 | /// Thrown if is not writable. 22 | protected OscStreamWriter(Stream stream) 23 | { 24 | if (stream == null) 25 | { 26 | throw new ArgumentNullException(nameof(stream)); 27 | } 28 | if (!stream.CanWrite) 29 | { 30 | throw new ArgumentException("The stream must be writable.", nameof(stream)); 31 | } 32 | 33 | Stream = stream; 34 | } 35 | 36 | /// 37 | /// Disposes this instance in case it was not properly disposed. 38 | /// 39 | ~OscStreamWriter() 40 | { 41 | OnDispose(false); 42 | } 43 | 44 | /// 45 | /// Disposes this instance. 46 | /// 47 | public void Dispose() 48 | { 49 | OnDispose(true); 50 | GC.SuppressFinalize(this); 51 | } 52 | 53 | /// 54 | /// Releases the resources held by this instance. 55 | /// 56 | /// This is when was called, and 57 | /// when the instance is being disposed on the finalizer thread. 58 | protected virtual void OnDispose(bool disposing) 59 | { 60 | Stream.Dispose(); 61 | } 62 | 63 | /// 64 | /// Writes an OSC packet into the stream. 65 | /// 66 | /// A buffer containing an OSC Packet. 67 | /// The length of the packet in bytes. 68 | public abstract void WriteToStream(byte[] packetBuffer, int packetLength); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /com.unity.media.osc/Documentation~/example-osc-input.md: -------------------------------------------------------------------------------- 1 | [Contents](TableOfContents.md) | [Home](index.md) > [Getting started with examples](getting-started.md) > Controlling a GameObject from a remote OSC app 2 | 3 | # Controlling a GameObject from a remote OSC app 4 | 5 | Example configuration to remotely control the position of a GameObject in your Unity Scene over the network by using a touchpad on an external OSC app. 6 | 7 | 1. In your external OSC app, configure the network settings to send OSC messages to your Unity Editor workstation: IP Address and Port. 8 | 9 | 10 | 2. In Unity, create an empty GameObject to hold the components required for receiving OSC messages: 11 | 12 | a. In the Unity Editor’s menu, select **GameObject \> Create Empty**. 13 | 14 | b. Name this GameObject “OSC In”, for example. 15 | 16 | 17 | 3. In the “OSC In” GameObject, add and configure an [OSC Receiver](ui-ref.md#osc-receiver) component: 18 | 19 | a. In the Inspector, select **Add Component \> OSC \> OSC Receiver**. 20 | 21 | b. Set **Port** to the network port you specified your external OSC app to send messages to. 22 | 23 | 24 | 4. In the “OSC In” GameObject, add and configure an [OSC Message Handler](ui-ref.md#osc-message-handler) component: 25 | 26 | a. In the Inspector, select **Add Component \> OSC \> OSC Message Handler**. 27 | 28 | b. Set **OSC Address** to the address of the touchpad you want to use to control your GameObject position, according to the specifications of your external OSC app. For example: /myapp/screen1/touchpad1. 29 | 30 | c. Select **Add New OSC Argument**. 31 | 32 | d. In the created Argument 0, set the dropdown value to “Vector3”. 33 | 34 | e. In the **Event(Vector3)** list, select **+** (plus) to add an event. 35 | 36 | f. In the added event, in the left dropdown, select **Editor And Runtime**. 37 | 38 | g. Set the target field to the GameObject you want to control. 39 | 40 | h. In the right dropdown, select **Transform \> localPosition**. 41 | 42 | 43 | 5. In your external OSC app, move your finger on the touchpad. 44 | In your Unity Scene, you should see the targeted GameObject move on the X and Y axes. 45 | 46 | 47 | ## Troubleshooting 48 | 49 | - Make sure you correctly mapped the IP Address and Port in your external OSC app and in the OSC Receiver component in Unity. Change the Port value on both sides if needed. 50 | 51 | - Use the [OSC Monitor](ui-ref.md#osc-monitor) to verify if Unity correctly receives OSC messages from your external OSC app and to analyze the message details. The OSC messages sent to Unity should use the tag string “fff” and contain 3 float values for this example to work. 52 | --------------------------------------------------------------------------------