Unity webgl or threejs or babylonjs ? Which one is the best for me?

I want to make an online simulator which people easily access it and run at various platforms. This online simulator contains some simple 3d models and an environment to walk through.
What is important is that the size of the web application should be less than 10mb and it should load and run smoothly.
I want to use some 3d models so I know my models should have less size but I want to know which WebGL framework is best in my conditions. Pleas help me to choose the best.

There isn’t necessarly a best framework for your described situation, only that each has their own set of pros and cons. Using Unity has the benefit of being able to put something together quickly with an easy to use drag and drop, abstracted system making certain features easier to implement, like shaders, lighting, particle effects, etc. that you would typically have to write yourself. If you are planing on targeting other platforms, using Unity would save you time from having to port your project to other platforms yourself. That being said, because of the way Unity cross compiles it’s code to JS, I would imagine that file size and loading times are significantly larger than that of the other two frameworks.


As for using one of the frameworks, you will have to write code scene setup and object placement, and code for other features you would like to implement, but most frameworks nowadays have fairly extensive libraries for such tasks anyways, so it’s a matter of getting comfortable working with existing libraries. If you decide to use either one, it really comes down to preference, because the potential differences won’t likely poise any major benefits, seeing how the project scope isn’t that large. Look at both of their coding styles and stick with one you like more. You could do a small hello world for each framework to get familiar with both and then continue with the one you find easier to use. Doing more research on your options will help narrow down which one you think best fits your use case.


Here are a couple links for reference: