Dynamic MOD Loading
Instead of having a world configured with all of its mods statically defined at world startup -- have blueprints and grids aware of the mods which they require while changing the game client to download mods when the player's area of perception is approaching a modded grid.
* This saves initial connection and loading time by allowing the game client to only need to load (stream) the mods when a player is approaching a grid or loading a blueprint which has a mod
* this will also allow for any modded ship to be uploaded to the workshop and then downloaded and built on any server with experimental/mods enabled without the server having to support the *specific* mods that this ship was designed with.
* This does not affect the behavior of the server who is aware of all grids at launch time, therefore has to load all mods the same as it does today.
* A large mod (or group of mods) appearing in an area of perception could impact player experience. Mitigation #1: A nondescript "loading" block could take the place of modded blocks while the mod was being downloading in the background. Mitigation #2: If the game client was aware of the download size of all mods on the server, it could dynamically calculate when to begin downloading the mods in the background to the game client.
* the "G" menu would need to be rethought, as this implies that a user can build any modded block available on the workshop. Mitigation #1: Require all modded blocks to be in their own tab, requiring the player to select the specific tab to view the modded block's available there. If they haven't yet downloaded that mod, a click on the tab shows the streaming icon as it downloads the mod's block icons. Mitigation #2: Only place tabs and items into the G menu after a user has discovered them on the server (similar to how Grind to Learn works).
* this implies that any mod on the workshop could potentially be loaded and the code within the mod would be run without the server admin having direct control. Mitigation #1: Allow the server admin to blacklist/whitelist mods or mod authors. Mitigation #2: Allow admin to limit PCU cost of mods imported to be run on server (once mod PCU cost evaluation is complete).
* this also implies that if a new projection or blueprint is pasted onto the server after server startup, the server needs to load those mods before instantiating the grid into the world, potentially affecting server performance.