https://github.com/keijiro/klaksyphon
Syphon plugin for Unity
https://github.com/keijiro/klaksyphon
graphics plugin syphon unity unity3d
Last synced: 4 months ago
JSON representation
Syphon plugin for Unity
- Host: GitHub
- URL: https://github.com/keijiro/klaksyphon
- Owner: keijiro
- License: other
- Created: 2018-04-19T13:17:42.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-11-16T14:34:29.000Z (7 months ago)
- Last Synced: 2026-01-15T15:38:29.788Z (5 months ago)
- Topics: graphics, plugin, syphon, unity, unity3d
- Language: Objective-C
- Homepage:
- Size: 843 KB
- Stars: 259
- Watchers: 18
- Forks: 25
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KlakSyphon

**KlakSyphon** is a Unity plugin that lets Unity send and receive video streams
through the [Syphon] system.
[Syphon]: http://syphon.v002.info
## System Requirements
- Unity 2022.3 or later
- macOS system with Metal graphics API support
## How to Install
Install the KlakSyphon package (`jp.keijiro.klak.syphon`) from the "Keijiro"
scoped registry in Package Manager. Follow [these instructions] to add the
registry to your project.
[these instructions]:
https://gist.github.com/keijiro/f8c7e8ff29bfe63d86b888901b82644c
## Syphon Server Component

Use the **Syphon Server** component to send a video stream. It provides three
capture methods:
- **Game View**: Captures the content of the Game View.
- **Camera**: Captures a specified camera.
- **Texture**: Captures a 2D texture or a Render Texture.
The Camera capture method is available only on URP and HDRP—you can't use it on
the built-in render pipeline.
The **KeepAlpha** property controls whether the alpha channel is preserved or
cleared. Enable [alpha output] when using HDRP. On URP, select the Texture
capture method to output alpha.
[alpha output]:
https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@12.0/manual/Alpha-Output.html
## Syphon Client Component

Use the **Syphon Client** component to receive a video stream. It stores
incoming frames in the Target Texture and overrides the material property set
in the Target Renderer.
You can also access the received texture via the `SyphonClient.Texture`
property.
## Scripting Interface
Enumerate available Syphon servers with the `SyphonServerDirectory` class; see
the [SourceSelector example] for details.
[SourceSelector example]:
https://github.com/keijiro/KlakSyphon/blob/main/Assets/Scripts/SourceSelector.cs
You can create Syphon servers or clients at runtime, but you must assign the
`SyphonResources` asset (which holds references to package assets) after
instantiation.