Code (csharp): // So, I can add a listener via code by method name with button.onClick.AddListener(SomeMethodName); // but can't include an argument? button.onClick.AddListener(SomeMethodName(SomeObject)); I noticed this custom events solution in the FAQ's - is that the best way to achieve sending any kind of argument? Given my argument inherits from MB - in keeping with the rules of what arguments events can have - I feel I'm just missing an easier way. Can I create a UnityEngine.Events.UnityAction object which features my MB-derived-object argument instead? Thanks, Also, I can't paste from Mono into text box, I keep getting Chinese characters?