In Unity's (very useful) UI you can drag any script/component into one of the event slots. Then a dropdown with all public functions inside that script appear. I like how the button and script dont need to be explicitly liked, The Button component accepts any script and somehow finds all the public functions inside of it. You dont have to specifically declare a script type in the code. Is it possible to make a c# script that does something similar? Like with a slot i could drag any script into, and then call any of the public functions inside that script from it?