This is a paid asset, but now you can download IUnified for FREE, but please remember this package is provided only for learning purposes or to be able to test before buying the product, NOT FOR COMMERCIAL PURPOSES.
Detail this asset from Unity Store: Original Link
Use C# interfaces within Unity!
With this package you can create interface fields for your MonoBehaviour or ScriptableObject scripts and be able to set them to any serialized object that implements your interface from within the editor – just drag and drop like any regular Unity object or select your implementation from a list!
It is fully serialized and integrated into Unity and includes it’s own property drawer and selection window that shows all objects and components that implement the interface.
No need for you to create custom editors or property drawers, it all happens automatically!