Cabbage Logo
Back to Cabbage Site

CsoundUnity 3.0 is out!

Happy to announce that we have officially released CsoundUnity version 3.0!
Here is the ChangeLog:

New Features

  • Restructured the code in the form of a Unity Package (
  • Updated libraries to Csound 6.15.
  • Implemented most of the Csound API.
  • Several improvements of the Editor inspector:
    • Now the changes made to the Control Channels found in the csd are correctly serialised and saved in the Scene, and are fully compatible with Unity Inspector presets.
    • Added Edit Csd Section, to be able to edit the csd from Unity, and save its content on disk.
    • Added Test Score Section, to be able to send score to Unity when testing in Editor.
    • Added AudioChannels: the csd file is scanned for chnseta opcodes, and the resulting Audio Channels can be seen in the inspector, and publicly accessed from a dictionary.
    • Added folded groups:
      • Settings
      • Edit Csd Section
      • Test Score Section
      • Control Channels
      • AudioChannels
  • Added CsoundUnityChild, to be able to read audio from the AudioChannels of a CsoundUnity instance.
  • Added CsoundFileWatcher to detect changes made by an external program to the csds used in the scene, and update them. Add FILEWATCHER_ON in your project Scripting Define Symbols.
  • Added Android libraries, builds working on Android 64bit (it has been successfully tested on Oculus Quest).
  • Added an utility method to load samples from AudioClips (currently from Resources folder only).
  • Added CreateTable methods, to be able to create Csound tables from float arrays.
  • Added a toggle to show warnings and hard filter output samples with values higher than a threshold.
  • Cabbage widgets: Added support for ComboBoxes.
  • Added IsInitialized property and OnCsoundInitialized event.
  • Added PerformanceFinished property.
  • Added Samples: Csound Test, Basic Test, CsoundUnityChild Test, Simple Sequencer, AudioClip Reader.
  • Overriding the sample rate and control rate of the csd using Unity Audio Project Settings.
  • Improved Logging.
  • Updated macOS library to use a .bundle instead of a .framework, to be able to build for macOS straight out of the box.
  • Totally removed the need to use the StreamingAssets folder to store csds, libraries and audio files, the csd is saved into the CsoundUnity instance as soon as it is dragged in the Csd Asset inspector field.
  • Removed the overwriting of the Path variable of the operating system.


  • Crash on exit.
  • Fixes for distorted audio output when reading mono files.
  • Build/Editor DLLNotFound issues on macOS.

Where to ask for help, report bugs, ask for new features:
Cabbage forum: use this forum for everything related to the use and features of CsoundUnity, ask for help, report bugs, ask for new features.
Csound forum: help with Csound code, report bugs / ask for features relative to the Csound library.
Csound dischord chat: where Csound developers meet.
CsoundUnity Github repository: report specific issues with CsoundUnity, ask for new features, contribute to the development.

And now party time! :partying_face:
Very curious to see what you will create with it!


Kudos to @giovannibedetti for all the work on this. He transformed this from being a nice proof-of-concept to a properly organised and structured Unity package with support for Windows MacOS and Android out of the box. :clap: