What is a prefab?
TL;DRA prefab is a predefined collection of items and markup used to build the universe without placing everything by hand, whereas object containers handle streaming and performance and allow things like tinting.
So a prefab is a collection of predefined items and entities. So this prefab here will be built out of some junk piles, some assets here like this, these kind of structural elements, ribs, these floor pieces, and that's sort of more of the environment part of things. But for example, this prefab has a table and it has the props and things like that, but we also have markup for sound, for design, say you might have a cup that you can pick up there. And it's just a predefined collection of those items. Prefab is short for prefabricated.
Those prefabs can include just about anything. They can include interactable items, movable items...
It's literally all kinds of stuff. It differs from an object container in that the object container is the final, I guess, resting place of all of these items put together so we can stream them in and out of the universe essentially.
Prefabs are for building the universe so you don't have to sit there and place every silly little thing, so the procedural generation tools don't have to go and place every silly little thing. And then the object containers are more about performance and streaming things in and out of memory and stuff like that.
There are some different things we can do with object containers that we can't with prefabs. Say we make a set of architectural pieces that we can tint different colors. We can put that as a modifier on the object container. So we can make all kinds of similar, but different colored areas and all those kinds of little things like that.