Unity + Babylon = Union

Hey everyone! I just wanted to share a project I’ve been working on.

As a long-time Unity user I have gotten real used to their workflow, using GameObject, Components, Start & Update loops and everything else that comes with Unity.

My biggest struggle with Babylon was despite it’s amazing capabilities, I felt the interface was lacking and to create a simple scene with a rolling ball and some physics, I was required to learn a lot of new concepts. As I work in education, I felt like this could be a barrier for students to adopt Babylon.

So… long story short, I spent a few weeks on a simple wrapper for Babylon - and I called it Union. It allows for a more user-friendly interaction with basic GameObjects etc. It’s still very much in development, but I was hoping to get some initial feedback from people on the idea of it. Is it crazy? Does it already exist? Is it pretty neat? I’m looking for any feedback really - just hoping to get some feedback from the community. I added a screenshot, but you can play around with it here:

Angry Spheres <- you can open and modify the project, just not save (for obvious reasons). Please note this is a test environment only and the link will likely be broken at some point. If there’s interest I’ll be sending updates.

6 Likes

The Source Code of Babylon is open. So far I know you can do with the code what ever you want. So, why writing a wrapper and not expanding the origin classes? I think the apps would run faster…

1 Like

Have you seen the unity toolkit that @MackeyK24 made?

Hey @Necips - thanks for your feedback! Yes I should have clarified this is not meant as an optimized/more feature rich version of Babylon, it is an interface on top of Babylon. All regular Babylon features are also still accessible.

I wrote a wrapper instead of simply using the Babylon code:

  1. I didn’t want to modify existing logic to ensure future compatibility. When Babylon updates I could just replace the engine code with little to no modifications
  2. I wanted to recreate a Unity-esque environment to make it easy and familiar for Unity developers (or a way to get into Unity concepts without needing an editor).
  3. Some features (like SerializeField exposing variables to the inspector) wouldn’t be possible without writing custom components
  4. The overhead is minor as most components directly translate into Babylon system. E.g. my Transform just uses a BABYLON.TransformNode, and the Rigidbody/Colliders are using the ObjectPhysics.
1 Like

Hey @Pryme8 - thanks I had seen it before, it’s really awesome (and with Unity as an interface has lot more features than my editor does).

So yea for anyone creating levels that could actually be a better solution - but my editor is a bit more integrated and allows anyone to get started within seconds without having to install Unity.