It’s worth noting … RuneScape has done this for decades 🙂
You would basically have to write your engine to be friendly to the idea that an asset isn’t complete, and set up a non-complete (possibly absent or just low quality) and complete state.
You download everything to the point where it’s suitably non-complete… Then you keep downloading things in the background to complete the install, prioritizing things the player is likely to or is encountering.