Methods to all a lot of moveable furniture in an open world game?

Just want to ask if you guys know any game design or game dev methods for this problem or can share any videos? These are my current possible solutions:

  • spawn all the objects close to the player and despawn them if far. However this issues comes with garbage collecting lag spike which I think applies to all
  • level streaming but I’m pretty sure unloading levels also cause GC lag spikes?
  • object pool all items, issue when players too many furniture close together
  • make the furniture not be able to leave the house
  • an actor as manager that instanced static mesh all the of the furniture and when the player interacts which you then switch out a copy that is intractable then when they stop switch back to an instanced static mesh. But I still have to unload the the instanced static mesh or the actor manager if it’s only for a local region which has GC?
  • maybe I should turn off the GC and trigger it manually when loving far and increment despawn objects? Don’t know if viable or where to start with that.

Hey there @Hero_Tales! It really depends how “Open” your open world is. If it’s a massive sandbox that you intend to have extremely dense groups of meshes, then you may need to aggressively cull objects past a certain amount in proximity. If the objects are stationary and many are the same, Hierarchical/ Instanced Static Meshes (HISM/ISM) will be necessary. I would only worry about garbage collection unless your loading/unloading is going to be happening very rapidly or your instances are quite dense.

1 Like