One of the massively important things you neglect to mention here is that Roblox has to maintain complete backwards compatibility in order for this entire model of game distribution to work. Game engines like Unity, Unreal and Godot, and more broadly other 3D software from 3DS Max to Blender all have the luxury of heing versioned standalone binaries, each versioned binary then being associated by game developers and content creators with files and releases designed for that specific version. Within this model, it is far easier to make throwaway API design choices, including API choices that can better exploit hardware in the short term with hyperspecialised techniques, at the expense of inevitable long term incompatibility. Look at the laundry list of features that get deprecated over time for these platforms and what you soon realise is that the entire rest of the game industry is predicated on continual and constant abandonment and adaptation on a level that Roblox is simply not capable of.
Where you should be looking in your analysis is not to these disposable platforms, but towards evergreen platforms such as web browsers. Without backwards compatibility, the entire model of distributing a single engine binary doesn’t work, and as a consequence, you seriously lose out on a whole host of benefits, especially where this intersects app stores on heavily regulated platforms… like, I don’t know, the largest mobile platform in the United States, perhaps? Similar lines of logic similarly explain the absence of other features like user shaders (which I have good authority was partially shot down due to platform concerns about running untrusted machine code OTA on console GPUs).
Take a look at how the W3C have to painfully and thorougly work through every single scenario that their APIs are used for. Missteps are not simply disposable - they have to be supported into perpetuity, across hardware that does not just scale upwards but also downwards, that may look completely different in the future (Meta Quest running into performance issues, anyone?), with the very rare exceptions proving the rule. Sound familiar? This is exactly how Roblox works too.
You complain about how far behind Roblox is to these disposable platforms, and you know what? I’m right there with you. Take a look at any of my projects and you see that I’m constantly running up against these limits. But I do not blame that on any kind of incompetence, ignorance of feedback or some C-suite so far up their own selves that they can’t see what actually needs to happen. I wouldn’t entirely rule any of those things out, but as someone who has watched exactly how this platform has developed over the past 15 years plus, it is clear and painfully obvious that what Roblox is trying to build is, much like the web, a semantic language within which levels are defined. I don’t think that’s nonsense and I don’t think it’s unreasonable. It’s simply forward-thinking insurance. And you know what? Roblox has the single best track record for backwards compatibility of any of these platforms full stop. I can boot up games made almost two decades ago and they have evolved right alongside the platform in ways that you could only ever dream of elsewhere. Roblox have not failed in their goal, and if anything, they have historically threaded this particular needle very well, even at the cost of fast movement.
I have no idea why the idea of Roblox as some thick vision-obsessed corporation is so alluring here. It’s not entirely untrue - that’s just Silicon Valley for you - but you guys are giving them far too little credit for what amount to very real and serious problems.