The biggest change would be to add a way to remove functions, as you're disabling Add-Ons. There's several problems with this, though:
- The game have no clue what function is for what Add-On, leaving them in the open.
- Other Add-Ons don't know that an Add-On was removed, thus their check when starting the game is wasted, even though those Add-Ons should be removed as well.
Basically, we're making a new game engine by adding this single addition.
Edit: But on topic: Making this Unix-like system actually already exists, sort of. First we got the
Updater to download the required files. This is although restricted to that you already got the Add-Ons. Then we got the internal system to load an Add-On. It's quite crude, but it's workable.
Actually, I have my LoadAddon, but it was failed on this forum as it screwed up Badspots new content download system. It worked perfectly fine, though.