I've spent some time recently trying to figure out how to dynamically load Rust plugins in my Rust app as shared libraries, but couldn't find exactly what I was looking for, so I created a tutorial as I worked through figuring it out. Hope this can help anybody looking for the same thing!
Note: After further testing, I cannot confirm that this plugin setup will work for all applications that have other crates as dependencies. It seems to work fine with the steps outlined in this tutorial, but I was not able to get it to work with a large project like Amethyst.
Additionally, this will only allow you to create plugins using the same version of Rust that the application was built with.
If you are wanting to attempt something similar, I recommend looking at the ABI Stable Crates project.