How would I go about making an open world game?

I’m making an adventure game, being an adventure game I’d like it not to be so linear, I’d like it to have a fairly open world.
I’ve got an idea or 2 as to how I would pull it off, but I’d like to know if there were more stable ways, or what I should look out for in particular to not impact performance.

So my base idea is cut a map into chunks, in relation to the player I’d say these chunks would take around 40 seconds to traverse (possibly 20 seconds with a mount, which is a planned part of late gameplay)

the chunks will be loaded into memory not long before their due at the cameras far plane, once loaded they will have references to resource profiles, defining the textures / models / sounds, they will need, if the resource profiles contents are already loaded, it will be referenced, if it is not, it will be loaded.

chunks are unloaded when they are 2 chunks away from the cameras far plan, each 2 waves of unloading resource profiles are checked for references, if nothing is referencing them they are unloaded. a resource profile will not link to a chunks model, the chunk itself will link to that directly as well as ofc links and transforms for the objects in the chunks.

I know its a hell of a read, but I’d like an outside opinion on this, is there another way to consider? will this impact performance in any significance?
in general I’d like to know of any pros and cons I may have overlooked of both my concept and any options I may have.

This has been asked/answered before so search around. But my $.02: If it’s web-based, you can uses LoadSceneAdditive to add more stuff to the existing level. If you have Pro you can use AssetBundles to load things on the fly. If you don’t want to use either of those, you can use the WWW class to download your own assets, but it will be up to you to parse them into the scene. Look in the Asset Store I think there are some addons for doing this stuff.