URack is a project that combines the VCV Rack software modular synthesizer with the Unity game engine. You can learn more about URack here.
This repository hosts the Unity SDK. For the VCV Rack (front-end) SDK, visit URack-VCV.
To get set-up for development within Unity:
- Create (or open) a Unity project that uses the High Definition Render Pipeline.
- Import this package into your project by adding this git repository to the Unity Package Manager.
- Change your player settings to use the .NET 4.x runtime.
To create a new module:
- Create a new C# script in your Assets directory.
- Import
Eidetic.URack
. - Extend the script from
UModule
instead ofMonoBehvaiour
.
A gameobject with the script will be added to the scene when the corresponding module is spawned in VCV.
For more detailed information on this SDK and the URack SDK for VCV, visit the URack website.
-
Thanks pardeike for the Harmony library, which is used to patch methods and properties at runtime. It is licensed under the MIT license.
-
The OSC message encoding and parsing is based on this implementation by keijiro. It is licensed under the MIT license.
-
Packing and unpacking URack plugins uses the Archiver-Unity project by Vangos Pternias from LightBuzz. It is licensed under the Apache License 2.0.
This code is licensed under GPLv3.0.