Is there any specifications to how UMap data is processed in UE4?

So a bit of an explanation is in order here…

I plan to write a fully custom terrain streamer and object database for scenes within Unreal Engine. While I know some form level streaming already exists in UE4, my very specific use case has the player flying through a very large level with many geometry and terrain assets at a very high velocity, which would;

A: Use a ton of memory to keep the entire level loaded at runtime and

B: Take a long time to load the said level.

I’m also very aware levels can be split into multiple Umaps and loaded and unloaded that way, but I would much prefer having only one Umap loaded. So my solution is to write a custom terrain streamer that fully loads and destroys terrain ‘Chunks’ within a certain radius of the player at runtime, keeping memory usage and map loading times down.

Also, while the terrain geometry largely stays the same every time the level is loaded, I also want to be able to change the map’s object layout (E.G. pickups for the player character, any interactable objects that aren’t baked into the scenery) for different use cases, such as having different level routes depending on the character chosen.

Is there any sort of documentation or breakdown on how Unreal Engine processes its UMap files, so I can implement my own custom functionality into it?

Side note: This has actually been done before, in Unity, and worked brilliantly. I’d like to be able to port it into Unreal Engine, if possible.

Thanks in advance! - Multi