I’ve been working with Babylon.js for quite a while and personally really enjoy the engine, and the overall developer experience. I tend to promote it any time I can (which might be annoying to Three.js people when I talk to them xD)
However, I’ve recently started thinking about the broader WebGL / real-time 3D ecosystem, and I noticed that
When looking at the ecosystem around:
Three.js
PlayCanvas
Godot Engine
and Babylon.js
it feels like the visibility of Babylon in the wider developer community is much lower than other engines.
For example, on LinkedIn (at least in my personal network of WebGL / 3D web developers), the vast majority of people seem to be building and sharing work with Three.js. I see posts about Three.js projects almost daily, but I rarely (or not at all) see Babylon.js mentioned or showcased.
This also includes jobs on the market like Upwork platform, where for 1 job posting mentioning Babylon.js there are 10 mentioning and looking for Three.js. In every proposal I have to say something like “My primary engine is Babylon.js, but if it is really required I am comfortable with Three.js as well”, and a lot of times I’ve got answers like “Three.js is hard requirement”
This made me wonder a few things:
Is Babylon just less widely used than other engines.
Is this mostly a visibility / marketing issue, rather than an adoption issue?
Are Babylon developers simply less active on platforms like LinkedIn or social media?
In the very near future, I have a plan to start a small scale series on Linkedin, where I will upload Babylon.js projects weekly, with wide variety of topics. One reason is actually promoting the Babylon.js ecosystem, and other is expanding my skillset with the goal of finding high paying jobs. I might create a thread in the forum as well which will follow the series if anyone is interested.
Timing is actually amazing as Babylon.js 9 is coming out soon and I cannot wait to play with new features and incorporate them in the series.
Yes and I have no problem with that. We are widely used in the entreprise. we work with adobe, ikea, and many more.
Yes and in this AI era it will get worse. The AIs will use threejs as they saw more of it. Which makes sense. Our differentiators like back compat or simplicity will not appeal to the AIs. That will come later in the life cycle of the vide coded products.
Probably too And I have no problem again with that. I want Babylon users to feel supported and happy with what they do. We are #2. Not a bad position relatively.
TLDR: We are smaller than 3js. This is a fact. And we should not be stressed by that. People using three are having fun? Super cool. People knowing Babylon are having fun too
True, AIs reach for THREE.js (and React) first - I tried vibe coding a 3D configurator using 3 different AIs and they all chose exactly the same stack. However, they’ve now advanced to the point that if you specify a tech stack, like my preferred Babylon.js and Svelte/SvelteKit, they do a surprisingly good job and don’t hallucinate much at all. Either way, it still requires manual polishing and benefits from developer experience and knowledge … at least for the time being, so I continue to delude myself that I still have economic value in the world
Babylon.js fits corporate environments very well. In those cases the main value is reliable integration and long-term support and backwards compatibility, which are essential for enterprise systems.
The freelance market may be thinner compared to Three.js, but the corporate segment tends to be much larger and more stable — and that’s where the fattest clients live.
Not always the loudest crowd on social media, but definitely the ones feeding much more than the pizza budget
you also have to factor in that recruiters and job postings will choose threejs not because its better , not because they or the client understand the difference or even care, but simply because it is the popular word to use.
eg , when a brand new framework releases , not even 2 weeks old , and then people report seeing it listed in job postings expecting 3 years expeience in it. It proves they dont actually know what they talking about. Its just trending or popular.
My current client does not care what i use to build stuff. He just wants a working product. I can choose the stack and he trusts me to make the right calls when doing so.
Ill just say this, in the last 10+ years working in the industry every time I’ve gotten involved with a project that uses “ThreeJS” as its render, it usually ends up being amateur hour. Its good for small scoped demos but people have grand ideas and no clue how to actually orchestrate that. I’ve stopped saying yes to jobs that use ThreeJS because usually its people that have no clue how to actually develop a product or its their first venture into this realm. Just because there are more laymen’s and generalist using it does not make it better. BJS in my opinion serves a way better role than Three, if you are using Three you might as well just be using raw webGL… with Babylon JS at least its a real wrapper that abstracts a lot of the gl layer concerns away for you.
That being said, Three is powerful and lightweight. Babylon is structured and dependable (also very powerful depending on how you use it). But when it comes down to it just use webGL if you are using Three and be a purest. But again every project I’ve been pulled into that the team used Three has been an absolute shit show and then when teams use BJS they general are more product minded and made the choice because its the better API for enterprise and large scale 3d web dev… not to mention is backed and maintained by Microsoft instead of a mishmash of random people posting demos to GitHub and Twitter. On a side note, don’t look at the amount of dumb demos and AI generated three posts on LinkedIn or twitter as a statement to that ecosystems validity they are literally just a circle jerk of look at what I can doooo and its the same thing anyone else can do and has done.
I also think there is some part of the education system helping with this as well, its like Python… everyone programs with Python because that’s what they learned in school and people usually don’t venture outside of what they where hand guided in. So its kinda the same thing with Three, I’ve never seen a college coarse teaching webGL with BJS but I have seen them teaching it with Three. Not saying thats a major factor but something to consider.
One last thought, you have a problem with a three js package and you have what options? Fix it yourself, go to the github of the original author and beg? It ends up being rough to get any sort of support. But at least with us here at BJS you have this wonderful community and a damn near fulltime squad of BJS heads ready to help whenever someone is stuck. I cant even count the times legends like Delta or Evgeni have hand guided me to a solution.
I quite agree with Pryme8. People often find it difficult to get out of their comfort zone.
For my part, I think BabylonJS is more modern than TreeJS and attracts an audience that has skills.
Inspector is an amazing tool and a great moat. The API itself feels higher level and easier to use at times.
But I wish some lower level things were more accessible. And if it would be possible to make Babylon Lite build since even with tree shaking it still pulls more weight than threejs
Cant we already do custom builds that only tree shake the features you need? I swear that was a thing, and I brought that up today to a coworker. Now Im wondering if that was a fever dream.
Thanks to contributions from numerous community members, Three.js offers a wide variety of plugins and features. Babylon.js is also excellent, and many of the post-processing libraries developed for Three.js are quite good; it would be even better if they could be ported to Babylon.js.For example:
Postprocessing pipeline is fully supported by Babylon.js
As for Threepipe Examples - there are even more examples spreaded inside Babylon docs and PGs.
The other thing is that it seems that Three.js developers used to have the list of best examples at the left sidebar with canvas at right. Probably it makes some sense to provide the colllection of the best Babylon.js examples in such layout for better demonstration
I know that Babylon.js has post-processing, but there’s still room for improvement in terms of performance and visual quality. However, this is probably something developers will have to optimize on their own.
Compared to experts, more developers are actually novices, so they need more ‘sugar’ and simpler methods to quickly achieve the desired effect. After all, it is not realistic for them to handwrite shaders. Therefore, I think the official website or learning website of babylonjs can be revised to display some typical effects and shaders in categories, so that novices can find the implementation method of the desired effect faster. To be honest, it is not very convenient to search for effects now
Compared to Threejs, babylonjs has limited extension support, such as:
Typical, valuable, and effective cases of cool playgrounds can actually be encapsulated into methods or functional modules with the author’s consent, and added to the list of functional points to make babylonjs sweeter