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:
How Unity Should Start Improving for Virtual World/Metaverse Platform Developers
Asset loading and multithreading.
Asset loading in Unity is still terrible — you can't load much in the background, so you have to do things like load textures in the main render thread which causes frame rate drops.
Or worse, stalls.
It's impossible to avoid; you just can't load dynamic content without running into that.
It's fine for games; they have loading screens, you can do all your messy stuff there.
But virtual worlds? People are creating and updating stuff constantly; and downloading the entire world is impossible really.
So that's the first big issue.
The second is related; Unity can only accept updates to the world rendering state on its primary thread. Which means you end up bottlenecking a lot of the updating in the worst possible spot.
You have to spend a stupid amount of time optimizing the crap out of anything that touches that.
When in a modern system you've got a half dozen plus CPU cores sitting ready to go.
Now there are some very hacky workarounds to both of these issues.
I've spent the better part of several years working with them; doing low level stuff Unity doesn't officially support in any real way. (Memcpy textures into GPU RAM yourself? Don't mind if I do…)
But even still, some stuff is just resistant to being worked around, loading custom shaders is a big one that still has no real workaround. To be fair, pretty much every popular engine has some variation of this problem, but Unity is particularly bad.
How Unity Became So Bad for Virtual World Developers
They didn't need to be good at it, basically.
Unity has a long lifecycle, projects take 3+ years to get to where they need to go, faults don't really hurt until several years down the road.
Technical debt can remain hidden for years, until someone wraps it up in a CDO and gets Goldman Sachs to offload it to some sucker, or someone updates to the latest Unity version.
It's an invisible problem for a long time in a product like Unity where people upgrade rarely.
That's in response to the first part, the splintering. [See above] In response to the second part, dynamic content isn't common outside of virtual worlds
The occasional procedural game like No Man's Sky needs it, but little else.
Games? All the assets are hand crafted and available when the game is published
So you can stuff a lot into a loading screen and rest happy.
Even a quite big game with a huge world and users building in it, like say Satisfactory, still only has a finite map and a finite amount of buildings and objects
It just loads them when you first fire up the game and keeps them in memory, even if they aren't needed right now.
How Unity Could Quickly Improve for the Standard Game Dev
Well, unifying would still be the #1 win, but other issues are definitely there – HDRP can make pretty renders, but it's still not quite on the level of Unreal; Epic has invested a lot into their great lighting tech.
A lot of Unity's built in systems also need to be overhauled, they're positively ancient — the terrain system springs to mind.
When I was talking about them needing a product-focused leader, this is why — fixing systems like that just isn't going to be a priority for a marketing person.
The marketing leader is going to say "Hmm. But we make all our money from ads. So clearly we need to invest more in that"; but they've already saturated that market, and without the engine as a loss leader, no one really is going to use Unity Ads; at least not with a good margin.
Improving Unity as Sustainable, Profitable Business
There's no real moat in the ads business. All it takes is Apple or Google doing something anticompetitive and they're a has-been. Look at how Apple crushed Facebook's ad revenues.
Whether that was out of spite, or just genuine belief in user privacy I'll let the reader determine, but I'm pretty sure Zuck isn't terribly popular in Cupertino.
At least with the engine; Unity has a real valuable niche. There's value in what they've built.
Unity is the only engine that works well on mobile. Yes, Unreal can run on iOS and Android, but no – it won't work on obscure weird cheap Android phones made by a company you've never heard of.
That's Unity's big advantage – it works everywhere, and it's surprisingly stable and reliable in actual use. (At least compared to others.)
It used to be also you could build one project and target 34 platforms without rebuilding your game. Hopefully they'll get back to that.
The problem of course is they're a public company. The issue is twofold;
1) There is a market size for tools. Adobe, try as they might can't double or triple the number of sales they make of Adobe Photoshop. They can grow 10% a year, sure, but that's blue chip big company numbers, not 5000% per year tech company hype.
Unity's value is based on forward earnings, if they can't prove market growth, their price will collapse and shareholders will be upset.
This is why companies implode: they extract as much as they can from their users, until those users finally reach their breaking point because the product sucks or is overpriced. They migrate and the company's share price takes a short detour to the center of the earth. Tools just aren't sexy.
So Unity has tried to enter dozens of markets — "Look! We're not just games, the automotive industry is migrating to us!" or "We bought WETA, we're in the film industry now." — they have to show that being a good product isn't enough. They have to grow.
To do that, they have to be credible, they have to show it could be used that way, to justify the investment case. That means splintering the product, adapting it away from its core utility.
So, Unity needs sexy — or it has to be honest with shareholders about their opportunities to grow. A reckoning will be painful, but it's a lot better than long term collapse when all these schemes fail to pan out.
2) Unity was according to Aras on Twitter, profitable when it cost half as much as it did now, when Unity had only 500 staff. [Aras was a founding dev at Unity. -ed]
If not profitable, at least pretty healthy.
In the pursuit of all sorts of mad goals trying to expose new markets, Unity acquired a lot of staff.
I think it's what? 6000 now?
That's a lot of overhead they need. To be profitable they'd need to double the cost it is today, twice..
I genuinely believe a lot of tech companies acquire people for the prestige of having "Team of 500" doing XYZ; or because there's some problem they think they need to solve that actually doesn't need to be solved.
When Unity had 500 staff they were focused on the right things, they hadn't broken the engine into pieces to try satisfy every possible customer. That aspiration only became possible when they had several thousand staff.
Layoffs aren't great, they hurt staff morale, individuals, and signal to the market that what you hired those people for, isn't panning out; but going from meeting the needs of say, 80% of users, to meeting the needs to 99.95% of users, that needs a team tens or hundreds of times as big.
Maybe, that isn't worth it. Maybe that extra 19.95% revenue isn't going to deliver what you cost to get it. It will certainly add risk to the business carrying those costs.
Healthy profitable companies don't do stupid things. Growth at all costs companies do.
In the long run, revenue-commensurate staff cutbacks as needed benefit most. For the remaining employees, that means everything from competitive pay rates and benefits; and for users, it's stability. You know the company is profitable and isn't going to suddenly pivot into some half-baked idea.
But you have to abandon one of the biggest articles of faith in the tech industry — that you can grow beyond your market, forever.
Only a few have succeeded.
Adam Frisby is CEO and lead developer of Unity-based platforms Sinespace and Breakroom (pictured above).
amzn_assoc_tracking_id = "newwornot-20";
amzn_assoc_ad_mode = "manual";
amzn_assoc_ad_type = "smart";
amzn_assoc_marketplace = "amazon";
amzn_assoc_region = "US";
amzn_assoc_design = "enhanced_links";
amzn_assoc_asins = "1394155816";
amzn_assoc_placement = "adunit";
amzn_assoc_linkid = "09778d9a32dae1475f81139abdba7c70";
Read More: nwn.blogs.com