Experimental support for Unity native audio plugins on the develop branch

You sure about that? On my late 2012 iMac running Parallels 13

The Rendering tests work for 3.2 (but nothing after that)


Yeah I think 3.2 is supported on Windows but my Linux VM only supports 2.1.

In the “Plugins with custom GUIs” section it looks like the Unity Native Audio Plugin SDK API has a get and set method, and the included example for the EQ supports some advanced editing through the custom GUI. It appears that maybe the custom GUI sets the values of the Unity Editor sliders, but seems pretty powerful mix of “best of both worlds”.

@ed95 I’m very happy to see some movement in this direction, but it’s not something I see myself using until this caveat is somehow addressed. I totally agree with @mtytel here. It’s shocking that Unity doesn’t allow this kind of interaction.

Did anybody get in touch with the unity devs about that? I’d imagine there are reasonable devs as well, who might be able to improve that?

Both @mtytel and I have posted on the Unity forum about this in the past. Our concerns seemed to have fallen on deaf ears. I’ve taken a big step back from Unity as a result. I have to say however, that I haven’t looked into this area in quite some time, but if @ed95 also reports issues with automation on custom GUIs then it looks like the problem is still there. Might be nice if ROLI reached out to them. It would be to Unity’s advantage. Heck, why not turn the screw a little and release a UE4 plugin that does allows automation. Apropos, their audio API has got a lot better in recent releases. I imagine supporting JUCE plugins there may be not be that tricky.

@ed95 Really nice new feature :slight_smile: Did I miss something or the unity plugin generated via Juce produces an empty shell? I just tried and the VST and AU builds are OK with the compiled code visible inside the plugin via ‘show package content’. But the unity generated plugin does not contain any compiled code… Does anyone also have this issue? Or I did something wrong?

On macOS it should build a .bundle package which contains the executable in Contents/MacOS - do you not have this?

@ed95 It builds the .bundle package: it contains the C# script, the Contents/ folder with Resources/ inside but no MacOS/ folder and consequently no executable inside. This is strange because the same XCode project builds AU and VST which contains the MacOS/ folder and executable inside (and they work fine in ableton). By the way, I just tried to build the “Hello world” plugin starter code from the ProJucer.

Are you using the latest JUCE from the develop branch? You’ll need to rebuild the Projucer and make sure that the JUCE modules that the project is using are up to date. It sounds like your building against an older juce_audio_plugin_client module that doesn’t contain the Unity/juce_Unity_Wrapper.cpp file.

1 Like

You are wright, I think I was building against an older version of the modules… Now it works, thank you! Will verify this next time :wink: By the way, I had an error when I compiled the projucer plugin starter project (see the picture). I commented the line to make it work, maybe it’s normal because it’s the develop branch but I inform you just in case…

Are you sure your JUCE modules are all the same version? This looks like an error from a mismatch…

Yes, all JUCE modules are those of the develop branch.

And the project that you’re trying to build is definitely using these modules? If you open the project in the Projucer and then navigate to the modules pane you can see where each module is located.

Yes, I changed the modules path in the pane and they are all the same: the path of the develop branch.

That’s odd. What version of macOS and Xcode are you using?

MacOS: 10.12.6
XCode: 8.2.1 (maybe I have to update Xcode?)

Hello, I am sort of having issues getting started. I have pointed to the modules folder, the Unity supported format does not show, and even copied & pasted the modules into the folder that JUCE comes in, is this wrong? Help would be much appreciated…

It is only on the develop branch, and was added only 3 months back.

  • Did you check out develop?
  • Did you rebuild Projucer?
  • Did you activate the “Unity” in the “Plugin Formats” and save the project? You have to click the little triangle to show all of them…

You shouldn’t copy files inside the modules folders, it won’t help, since in the module header it is defined, what gets compiled in.

Hope that helps

Is it okay to download the develop folder c&p into the JUCE folder?
Or can you explain “check out” to a newer person like me…
And how would you rebuild the projuicer?