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.
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:
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
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).
Some features (like SerializeField exposing variables to the inspector) wouldn’t be possible without writing custom components
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.