Organize a scene for game engine workflow?

I’m making a decently sized project where I have lots of objects, but I’m ot sure what would be the most optimal way to do it.

I’m using geometry nodes so I can reduce the amount of clutter in the scene and the outliner, but I’m not sure if that would help me once I want to move to unreal or unity, this is just a project where you’ll walk around the scene.

To give you some background about what I plan to do, this is a reconstruction of a historical place, and I plan on having the same scene with different materials and slightly changed models for different time periods.

Here you can see two buildings, left one is only like 17 objects, right one… I haven’t even counted it but it’s already more just with windows alone.

As you can see, not all balconies are the same, the right building has a big one connecting that expands three windows, so there’s not always possible to just array everything and call it a day, also some buildings like the left one I believe was made in the 70s despite looking like the more than a century old right one, so while that’s more perfect, I want some irregularities in the position of the older ones.

Thanks to chat-gpt I’ve made a small script where I select every object and get a point object to help duplicate everything with geometry nodes. (You can see some black dots there).

I tried adding the geo nodes in the facade object so I can carve the places where the windows go, instead of using arrays, and use a sample nearest surface to match the rotation of the lateral windows.

This is what the geo nodes look like:

I also encountered some roadblock with geo nodes, you need to realize instances if you want that nodetree to work if you have different window types, like the right building, where on it’s side facade there’s a different kind of windows.

Some buildings are even different than the other standard ones you see, so they’re not as taylored to a geometry nodes workflow and they’re already modeled, right now I was making some tooling for those more typical buildings you see on this picture below.



If you’re interested you can see how the place looks like in google maps here.

I also plan on adding the old town hall and for the old version will mostly have to change materials and models for the floor, you can see old pics here:

https://www.google.com/search?q=plaza+mayor+valladolid+siglo+xx&tbm=isch

Tl;dr recap:
I want to organize this scene to be easily optimized in a game engine.
I want to use geometry nodes for the more standard buildings if possible.
I also want to know if there are better ways withing geometry nodes for what I intend to do.
And if there’s some drawback or something to consider for multiple scenes with different materials for the previous historical state.

Exactly which “game engine?” What is your “intended final deployment state” for this grand project? The devil, as usual, is in the details.

1 Like

Depending on how many variations of the things like windows and doors and balconies you have, the version with more components will usually perform better in a game engine than the version that is just one big object, as the game engine can cull the components that it can’t see (either through frustum, occlusion, or other culling methods).

It’s also possible that you could reduce the number of variations of some objects and use vertex offset shader methods to recreate them to reduce your draw calls even further.

In either case, you will have to realize instances before exporting anyway. And a tip if you’re using Unreal: Use the ‘Import into Level’ option instead of dragging and dropping the fbx into the engine to properly retain the instanced geometry.