Unity Video Sender is a plugin for Unity that allows sharing rendered frames with other Applications.
This project aims to gather all techniques of frame video sharing for Unity in a single plugin. Its main goal is to bring all advances from the community in a common plugin that can be maintainable in the long term.
- Send frames with : NDI, Spout, Syphon (OpenGL Core), Syphon (Metal)
- Send frames in Play mode and in Edit mode
- Switch between techniques with a single click
- Unity 2018.3 or above
- Windows or OSX, 64-bit only
Download and import one of the .unitypackage files from Releases page.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
The code is split in two parts :
-
A C++/ObjC nativePlugin, completely separated from Unity context and built as a .bundle (osx) or .dll (win)
-
A C# editorPlugin running in the Unity Editor context and built as a managed .dll
-
We are using a custom Syphon Framework that works with Metal and allows to create custom server implementations.
The fork is available here Syphon Framework Fork
- For OSX and Windows, Visual Studio
- Unity
- For OSX, Xcode 10
- You might need to manually download the .NET Framework
- Open EditorPlugin/UVSEditor.sln and run the build
- Open the Xcode project (OSX) or VisualStudio project (Windows) inside the NativePlugin folder and run the build
- The built files are available in the "dist" folder
- Built files are automatically copied to the "DemoUnityProject" for test purposes
- Don't forget : it is mandatory to restart Unity when updating the Native Plugin DLL (UVSNative)
- Syphon OpenGL might loose the texture in Edit mode while switching between the Game and Scene view
- The linear color space and changes between linear/gamma color space are not properly supported
- Some exotic resolutions can cause problems with NDI (For example 499x312)
This plugin was made possible thanks to :
- The folks behind Syphon
- The folks behind Spout
- The folks behind NewTech NDI
- Keijiro Takahashi for his work of bringing all of these technologies in Unity
See the licence file for more details