you will need:
access points INTO your application so the external plug in can call your app to request it to do stuff or request certain variables.
and you will need a way to convey those to the plug ins.

you will need to add code so you can load an external plugin, manage it, and "start" the code in the plugin. Depending on what kind of plugins you're after

you will also need regular calls back into the plugin everytime you have an event the plugin needs to know about.

You also need to give the plugin a chance to do cleanup

you need to actually clean up/dispose of plugins


The above will take many hours of work. And it'll require your own code to follow strict rules so it works nice alongside the plugins.
And then I'm not even talking about the headaches that result of ill written plugins that do things you didn't see coming.