Download SDK
The ViveSound SDK contains the client libraries, API specifications, examples, and tools you use to control ViveEngine or build plugins.
In this step you will clone the SDK repository, install the required dependencies, and build vive-ctl, the command-line client tool.
What is in the SDK
The SDK is an open source, Apache-licensed repository on GitHub:
Clone the repository once, then build only the parts you need:
| Component | Use it when you need to |
|---|---|
| API specifications | Generate clients or inspect the raw interfaces. See Control RPC and Native plugin interface. |
| .NET libraries | Control ViveEngine from .NET apps with ViveSound.Sdk.Ctl. See .NET client library. |
| Go libraries | Control ViveEngine from Go with vsctl and vsapi libraries. See Go client library and Go client API definitions. |
| Command-line tools | Use vive-ctl to inspect and configure a local engine from a terminal. See Client tool. |
| Examples | Try small apps and plugins before wiring ViveEngine into your product. See Examples. |
Prerequisites
Install the tools for the SDK parts you want to build:
| Tool | Required for | Install instructions |
|---|---|---|
| Git | Cloning the SDK | Install Git |
| Go 1.23 or later | Building vive-ctl and Go libraries |
Install Go |
| .NET 10 or later | Building the .NET GUI demo | Install .NET |
| Xcode 26 or later | Building the GUI demo on macOS | Install Xcode |
Tip
You only need Git and Go for the command-line path. Install .NET and Xcode if you want to build the GUI demo too.
Clone the SDK
Clone the SDK into any directory you use for source code:
git clone https://github.com/vivesound/sdk.git
cd sdk
The directory name is not special. If you prefer another location, clone it there and run the later commands from that SDK directory.
Build vive-ctl
The vive-ctl source code is in go/cmd/vive-ctl.
From the SDK directory, run:
go install ./go/cmd/vive-ctl
Go installs the binary into GOPATH/bin. On most systems, that is:
- macOS:
$HOME/go/bin - Windows:
%USERPROFILE%\go\bin
Add that directory to your PATH so you can run vive-ctl from any terminal.
export PATH="$PATH:$(go env GOPATH)/bin"
To keep it after reopening your shell, add the same line to your shell profile, such as ~/.zshrc or ~/.bashrc.
$env:Path += ";$(go env GOPATH)\bin"
To keep it for future terminals, add expansion of $(go env GOPATH)\bin to your user Path environment variable.
Check that the tool runs:
vive-ctl --version
If the command is not found, close and reopen your terminal, then check that GOPATH/bin is on PATH.
Optional: build the GUI demo
The SDK includes a cross-platform .NET GUI demo in examples/dotnet-app. Build it if you want a small desktop app to inspect before writing your own integration.
If you're on macOS, ensure that Xcode is configured properly:
sudo xcode-select -s /Applications/Xcode.app
Install the .NET MAUI workload (all operating systems):
dotnet workload install maui
See the .NET MAUI installation guide if the workload install needs platform-specific setup.
Then restore dependencies and build the app:
cd examples/dotnet-app
dotnet restore
dotnet publish -f net10.0-windows10.0.19041.0 -c Release
The built app is under:
bin/Release/net10.0-windows10.0.19041.0/win10-*/publish/
dotnet publish -f net10.0-maccatalyst -c Release
The built app is under:
bin/Release/net10.0-maccatalyst/maccatalyst-*/publish/
Note
The exact output folder can include a runtime identifier, such as win10-x64 or maccatalyst-x64. If you do not see the folder shown above, check the build output for the final publish path.
Next step
Now that you have the SDK and vive-ctl, try talking to a local engine: