Unreal Engine relies on two things large metaverses don't have - precomputation of entire scenes in the creation tools, and extensive asset reuse. In a real metaverse, there are thousands of creators, all making assets. Second Life has over 60,000 different chairs for sale. Each was created independently. The world is assembled dynamically. There is no external "level editor" for a good metaverse, only object editors. You build the world in the world. Although some of the low-end metaverses, like Decentraland, do make you edit your entire land parcel externally and upload it as a unit.
Epic might eventually offer a more dynamic system. It would involve back-end servers doing much of the optimization that the Unreal Editor does now. Maybe in UE6 or UE7. It's certainly possible, but a big job.
Nanite does not eliminate levels of detail. It just does them within meshes, rather than external to them. In most computer graphics, you have explicit objects which appear more than once. That's called instancing. But within a mesh, there's no optimizing out duplicate submeshes. That's what Nanite does. A Nanite mesh, rather than being big lists of vertices and triangles, is a directed acyclic graph, in which common subsections are combined. So, if you have a huge area of buildings, but not that many different windows, the windows are unduplicated.
Notice that in the UE5 demos, they have lots of dirt and rocks, lots of copies of the same statue, and buildings which have a lot of repetition. That's the key here. Those are all things for which this optimization works. Even then, the download for the Matrix Awakens demo is about 16GB, which expands to about 250GB after decompression.
The instancing is recursive. A good example would be a long chain-link fence. If you zoom in close enough, you can see the bends in the wire and the flaws in the galvanizing. Maybe now and then there's a piece of trash or a leaf stuck in the fence. If you zoom out far enough, you can see kilometers of fence. That can all be one Nanite mesh. And if you need to cut a hole in the fence somewhere, that will work.
The level of detail system is automatic. The mesh representation contains within it level of detail information. Nearer areas go further down the DAG to higher levels of detail. There's a clever geometry trick which makes the transitions look good. In general, the idea is to maintain about one triangle per screen pixel. The key to all this is that there are only so many pixels on the screen, and that controls how much geometry detail needs to be displayed. So there are still levels of detail, at a fine-grained level.
All this, unfortunately, turns out to be badly matched to what GPUs do. So about 60-70% of the rendering is done in the main CPUs. Nanite really needs a new generation of GPUs, ones that are good at chasing around complex data structures with internal links and offsets.
If you want to understand Nanite, here's the 155 page paper.[1] There's a video which goes with that. It's brilliant, but it's not magic.
[1] https://advances.realtimerendering.com/s2021/Karis_Nanite_SI...
I had been thinking about my version of the metaverse for a long time and even before FB did their changeup, my conclusion was that this is exactly the reason the corporate metaverses will fail in the long run.
> Are there missing features? Yes, but many features in 4 are quite nice, and not too far behind UE/Unity.
Godot is about infinitely far behind from Unreal. That doesn't mean it's not useful, but Unreal is borderline research, cutting edge techniques, applied in a production engine. And Godot will continue to lag until they start putting out techniques before Unreal. Unreal has the advantage that they can just hire researchers before their papers are published.
Their business model is sane, sustainable, and pretty flexible.
> until I realized there are a lot of questionable practices by Epic and TS
Such as?
> and that the license was actually quite bad
In what ways? It's about the best commercial license I can imagine.
I won't go too much into Epics lies about the engine and other issues (things like refusing all of the linux editor pr's and a community run one was better maintained, not releasing a launcher, using phone home stuff, to be fair this was UE4 days) TS talking lots shit about linux, pushing more launcher fragmentation via store exclusives, and other things that just showed me repeatedly Epic is not to be trusted... and thats before we even get to the license stuff.
Commercial licenses are bad, copyleft is good. Even for games, and sometimes I miss out on a few features by making almost all of my daily stack gpl-compat, but I also believe that computing is an inherently philosophical choice and I wish, more than anything on the topic, that people would get over their fear of selling copyleft software.
Tron fought for the user. Thats what copyleft does. Commercial licenses do not. Niether do BSD style licenses.
I wonder why they didn't consider unreal instead?
A lot of the earlier PC Oculus UI was unreal engine anyway.
Meta's app has to run on what is essentially a mobile phone. You can barely run Nanite in VR on desktop let along on a mobile phone.
Not saying Meta's product couldn't be better but we are talking "better like Rec Room" not "better like UE5's best efforts"