Experimental support for Unity native audio plugins on the develop branch


#21

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.


#22

@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?


#23

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


#24

@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.


#25

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.


#26

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…


#27

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


#28

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


#29

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.


#30

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


#31

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


#32

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


#33

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…


#34

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


#36

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?


#37

Ideally you use source control git for your projects, but also to get the latest juce.
It works like this, in a terminal type:

git clone -b develop https://github.com/WeAreRoli/JUCE.git

This will copy JUCE with all history to your drive. Whenever you want to update, simply call inside that directory

git pull origin develop

Now you cd into JUCE/extras/Projucer/Builds/MacOS (or VisualStudio2017 or whichever fits your system) and build the Projucer project there. Then you have everything as new as possible.

I don’t know by heart when the zip file is updated, hence I always stick to git.


#38

Just wondering, where in the script would you place the AudioProcessor::addParameter()? and how would you use it?


#39

addParameter() is a member of AudioProcessor, which is the base class that your plug-in should use for processing audio. Take a look at the JUCE tutorials (such as this one) for further info.


#40

Perhaps a silly noob question but how exactly does one download this version of JUCE with the Unity support?


#41

Are you familiar with git? It is highly recommended for all version control, and JUCE uses this too.
See my answer above, call git clone -b develop https://github.com/WeAreRoli/JUCE.git
git is a command which is already present on MacOSX and on Linux.
On Windows you will have to install it yourself:
https://git-scm.com/download/win

Hope that helps