The greatest restriction we have atm in UEFN and Creative is memory. We simply cannot develop indie-size games with the current limitations, not if we want to have the depth and immersion of Steam games. So I was told to look out for Scene Graph and how that would solve this problem.
Now I understand (and if not feel free to correct me) that Scene Graph will reduce the size of assets and through optimization will allow us to increase the size of the content we can pack in one level, but from what I currently see in the current architecture of the game, its not only assets that cause the loss of performance, it could be players or player actions.
So I would love to see a feature that would allow us to create instanciated levels and branch a player or set of players away from a public lobby, then put them back once that content/level is consumed. Some examples, you enter a rocket and instead of loading all the cutscene assets into the level, you have a separate level that will show the rocket launching into space, then you are sent back into the first level in a playable space that is inside the rocket. This is so the logic of the cutscene is not loaded into memory. And sure, you can maybe make the logic derender, but IMO it complicates things and any issue on that complexity poses a risk to the entire game afterwards (if everything is in one level and run by global logic). Another example is that you enter a dungeon with a group of friends. You go from the public lobby to the instanciated dungeon, which is full of monsters and closed chests. After the players beat it, level gets deleted and they return to the main public lobby (think a castle; normally what our levels are right now). The beauty of this, is that if another group of players chose the same dungeon while the first group is in it, a second instance of the same dungeon would spawn and allow both groups to experience a non-tampered version of it. Also, having sub-levels that we can control would allow us to overcome the obstacle of memory and potentially allow for infinite content as that sub-level can also be downloaded from a server only if needed.
So in a list format:
-Ability to have sub-levels in a project file
-Ability to send a player of players to a sub-level through a device or verse
-Ability to define if that sub-level is instanciated or public
-Ability to send information between sub-levels, using special scope verse variables
-Ability to trigger a download of a sub-level within the core level, in case the player doesn’t need to download that level from the beginning, to save on initial download space.