You could do it like Kerbal Space Program does it: Allow your game to load AssetBundles at runtime by having it read config files which tell it where and in what way the assets in the bundle are supposed to appear in the game.
Then tell your modders to get Unity Personal Edition and use it to build their mod as one such asset bundles with an appropriate config file. You might need to open source some of your interfaces and offer them as a "mod SDK" asset bundle for your modders in order to interface properly with the rest of your game.
This method has the advantage that your modders can do anything Unity can do, which is a lot of nice stuff. But unfortunately, this method has the disadvantage that modders can do anything Unity can do, which also includes a lot of malicious stuff. So you need to educate your players to not download any mod they find.
If you want more secure modding, then you need to invest some more work. A good method to properly sandbox mods is by using a scripting language which allows you to selectively expose certain functionality of your game. You could write it yourself, but designing a good programming language and writing an interpreter for it is much more difficult than it seems. A better solution can be to use an existing scripting engine. There are scripting engines for C# available for pretty much any well-known scripting language.