Babylon Native as a plugin

Hello Babylon team :slight_smile:

We are making tremendous progress with Babylon Native. In fact it is so easy to use (even with advanced features such as ARKit compatibility) it almost feels like magic from time to time.

Our scenario is to ship a (iOS at the beginning) minimalistic SDK for viewing AR scenes. Babylon Native being so easy to use, it seems like it’s possible for app developers to launch a scene with just one line of code, which passes the target MTKView as parameter. So this part seems to be fairly easy to explain to app developers :slight_smile:

However we are wondering what is the target vision for the build and dependency story. Is the goal to provide something as simple to consume as having a BabylonNative dependency specified in a Podfile, or a NuGet package for HoloLens apps? Is this scenario even possible?

Thank you for your time and take care

edit: been searching for the answer myself for a few days, and found this right after posting this message :see_no_evil:

pinging @bghgary / @syntheticmagus

Hi ThomasNigro,

Welcome to Babylon! @bghgary and @Cedric may have additional context on this, but my understanding is that our goal is to make Babylon Native as easy to integrate into as many scenarios as possible. This does not necessarily mean that every consumption mechanism will be supported as part of the main Babylon Native repo. Rather, we want to use that repo to house core functionality and scenarios, and we can then consume those core stories in other projects that will more easily enable specific development/consumption mechanisms. The Babylon React Native project is an example of this: it consumes Babylon Native, packages it up, and re-exposes it in a way that will be as easy and familiar for React Native developers as possible.

I don’t know what specific plans for CocoaPods or NuGet may or may not exist, but I don’t know of any reason why it couldn’t be done. I’m less familiar with CocoaPods, but NuGet in particular seems like it would be quite straightforward; all we’d have to do is create a project that takes Babylon Native as a dependency, exposes its functionality through an API as desired, builds it in the required flavors, then bundles the binaries into a package. It’s not something we’ve done, but it seems very doable!

Hello syntheticmagus,

Thank you for your fast and detailed answer. This is excellent news! I believe this will benefit many developers - it may even be worth mentioning it somewhere easier to find than this thread!

1 Like