Procedural level generation system that can create and manage large procedural levels that can be saved and reused later.
The project uses combinations of streaming levels to efficiently create larger, more varied game levels from a small set of template streaming levels.
You can easily control which levels are shown or hidden using a tag system that works similarly to actors in unreal engine.
The project contains serveral actors to show how this plugin can be used to create a wide variety of games.
WorldManagementActor – Base actor that contains the functionality to create and manage randomly generated levels. If you’re creating a type of game, where one of the actors below wouldn’t useful then you can inherit straight from this actor to avoid the cruft you don’t need.
SingleMapTestActor – Useful for creating functional tests, so individual streaming levels can be tested in isolation.
FloorManagementActor – Used to create procedural dungeons, underground bunkers, or skyscrapers.
CityManagementActor – Used to generate entire cities, with parks, and tall buildings etc.
SpaceManagementActor – Shows how we can generate large open worlds, or 3D areas of space with asteroid fields and planets because this system is not limited to creating flat levels.
Save and delete functions to manage/reuse previously generated levels.
Draw debug shapes to show where streaming levels will be loaded
Preview level function to show the generated level in the unreal editor
Hide Level function to unload the streaming levels
Efficiently manages where streaming levels can be placed by checking the area isn’t already occupied before loading the streaming level.