Adam Frisby, CEO of metaverse platform creator Sine Wave Entertainment, has been developing with the Unity 3D engine since 2006. So in the wake of former CEO John Riccitiello's self-defenestration from the company earlier this week, he's one of the best qualified people to explain what the company needs to do, to build back its business.
His main suggestion is to appoint a tech/product-focused person as Unity's new CEO:
“Look, the CEO job utterly sucks, it's an awful grind, and I get that," he tells me. "As a tech person there's really nothing worse than spending all your time putting out fires. Delegating responsibility to someone else is the easy option."
With Unity, however, "you need someone who understands the product -- who wants to build something customers love -- making the calls."
How Unity Broke Its Own Engine
Back in 2017/2018 Unity basically told their engineers, "build something for everyone!"
So they broke the engine into pieces, so if you needed X you used X, but if Y was better, you use that instead of X.
As a result, Unity now has three entirely separate 3D renderers, three physics engines, two audio engines with some external engines available, two entity systems, two scripting systems, a half dozen networking systems, four UI systems.
I'm not even exaggerating. They literally have that many.
And the kicker: none of them are compatible in the slightest.
So, if you want to reuse stuff from another project, or license some 3rd party tech, from say the Asset Store -- "Good luck!"
It also means if you need features A and B, and they're on different systems -- "Good luck!"
Now it's a total goddamn mess, and someone needs to literally unify Unity.
That's going to take an empowered product manager who can take the hit, and merge everything back together, or at least provide a common interface to all of these parts.
If they do that, they'll make a lot of people happy.
Because up until 2017, you could build for one version of Unity and publish to a dozen devices and take advantage of what's compatible on each without splitting your product into multiple versions.
Now, if you want to, say, have AAA graphics on PS5 and cheaper ones on say the Nintendo Switch, you have to build two versions of your game, one for the high definition renderer, and another for the universal renderer.
That means new art assets, new materials, etc, but also a whole bunch of code too. Also any shaders you've programmed.
When Unity should really have one material format, and one code interface, and the engine adapts under the hood. Like it used to.
But now even stuff like the units used for light intensity are different between the renderers. HD uses Lux or Lumens, and the others use some custom thing. It's totally broken.
Next: How should Unity should improve its product for virtual world/metaverse developers, game devs in general -- and as a business: