Hello Juce Community!
I’m thinking about using Juce to create virtual instrument plug-ins and apps but I was wondering if it’s possible to create a plugin or app virtual instrument that will work on Apple’s new visionOS? For example I want to be able to take advantage of the 3D models, spaces, spatial computing, spatial audio, etc. I was thinking about doing it in Unity, but Unity has very little info about creating virtual instruments.
1 Like
Since it’s so Apple specific, I’d assume the JUCE team has focus on other priorities right now.
Also, JUCE is conceptually quite far from a game engine where you represent localized actors and listeners, 3D stuff etc…
Anyways, if you can somehow link a library you wrote in JUCE with Unity, you essentially need some glue code to fill audio buffers, which would get you a long way when it comes to performance. I tested Unity Plugin export once, and it worked pretty much out of the box (UI was sluggish, but automation with Unities mixer interface worked). The CS code didn’t look too complicated as well.
It’s probably a reasonable assumption that Apple and Unity will provide a set of ready to use components for Unity integration, if they expect people to embrace this platform. To kitbash something together in Unity or at least find out how far one can get feels like a weekend proof of concept project.
Just writing out of interest
I’d love to play with it as well at some point.
1 Like
Thanks for your perspective! I appreciate the response. It’s a bit of a muddy space for me to figure out and it’s all a bit strangely connected. Like for example, Apple says that 98% of iPad apps will just work without modification on visionOS so technically speaking any iPadOS apps built with Juce should work, but Apple is obviously encouraging developers to go beyond that and actually take advantage of the Vision Pro’s spatial computing features. It doesn’t seem like that would be an option at this point for Juce developers … but there is a 3D section that I see in the Juce framework… could that be a part of it? Also, I’m still trying to understand how Juce integrates with Unity. When you say that you can export a Juce project to Unity… what does that mean exactly? For example: Does that mean that I can create a virtual instrument in Juce and then import it into Unity so end users can play it and see the virtual instruments interface and interact with it and use all the midi functions or is it only for inserting into a Unity mixer slot for developers use in sound design for their games? And since Apple has partnered with Unity for developing apps and games for the VisionPro does that mean that I could create a virtual instrument in Juce and then export it to Unity and then use Unity to add all the spatial computing stuff? So like what does it look like when a virtual instrument from Juce is exported to a Unity project? Also, you mentioned C# code… does that mean that Juce projects exported to Unity can then be accessed via C# from within Unity?