Obviously I’m not but I can probably answer most of that since I’ve talked to him a ton over the past months and also implemented my own block engine in UE4. (feel free to correct me if I’m wrong on any of this )
- He means instead of ISMCs he’s creating an optimized single mesh per chunk (or maybe 2 to support foliage) and rendering whole chunks as single meshes. That can be accomplished using the ProceduralMeshComponent in the engine or my upgraded version that’s linked in my footer, the RuntimeMeshComponent. To handle texturing, one way is to use an atlas like Minecraft does/did, the other way is to use texture arrays which are not currently in the engine but I have an open PR for.
- In his case, and he can feel free to correct me if I’m wrong, I believe he’s got a component per chunk (inherited from the RuntimeMeshComponent or RMC) and an actor that owns them all and manages them.
- A block is definitely not an actor or component as that would be prohibitively expensive and very slow to update those all individually and would have hundreds of thousands to millions of draw calls which would be impossible.
- If I understand your question correctly, the thing to do is only add vertices for a face of a block when that block has air next to it on that face. You can go further using something like greedy meshing, or optimal meshing, but those get a bit more complicated to do.