This is an open world asset streaming system that dynamically loads and unloads static assets and Artificial Intelligence (AI) agents.
This system loads assets in run-time based on the player’s current position. All the asset data like position, rotation and scale is kept on XML files, that are then read in run-time in order to instantiate each prefab.
As shown below, only the surrounding areas to the players get loaded and when the player moves around, the far away areas get deleted.
I created this low poly world to demonstrate this system; it currently holds static assets such as trees and rocks, but it also spawns NPCs that patrol areas, follow, and attack the player.
Have a look at the source code here.
Date: Jan 30, 2019
Tools: Unity, C#, XML