Building for Mod Compatability

I would really like to find a way to make my Unity game compatible with mods, and easily moddable / hackable so that the game’s community can express their own artistic freedom and tweak the game’s files for their enjoyment.

Ideally, I would just like all of my game’s directories and files to be visible and easily accessable, like in the Unity game “Kerbal Space Program” -which is very easily modded, and has a massive community dedicated to modding the game.

However, I don’t know how to do this. Is there a way that I can reference external files and load the assets into the game at launch, or an option in the build settings that builds the directories this way for me?

To reiterate:

Instead of my game’s file system looking like this:


I would like my game’s file system to resemble somthing like this:


That way, modding my game would be a blast. I could even add a mods folder, to make things convenient.

Is this feasable? How did the developers do this for Kerbal Space Program? And how would I do it for my game (if possible)?

This question is probably quite out of the ordinary, so thank you for all advice.

Well its simple really… create an API, or use unity to make a mod-maker, essentially create an environment for them to instantiate things in and then have the scene or whatever stored.
And as far as accessing unknown files, it is pretty easy to iterate through a directory and load the classes in. Depending on your programming language will depend on how this goes, but I highly suggest C#.
The the main thing is all the mods have to utilize the existing game parameters. The more complex you are willing to make it, the better your mod creation system can be. An API would provide more mod capabilities and would be easier for you, but much more difficult for your players, a mod maker will produce more content though.