I’ve run into a bit of a snag with creating a button in the editor.
I need to dynamically add listeners to my button, but it just keeps adding the same 3 listeners over and over because there is nothing stopping it from adding the same ones on each Awake.
Here is my code…
var button = gameObject.GetComponent<Button>();
if (receiver1 != null)
{
var go1 = receiver1;
UnityAction<GameObject> action1 = new UnityAction<GameObject>(this.OnClickEvent1);
UnityEventTools.AddObjectPersistentListener<GameObject>(button.onClick, action1, go1);
}
if (receiver2 != null)
{
var go2 = receiver2;
UnityAction<GameObject> action2 = new UnityAction<GameObject>(this.OnClickEvent2);
UnityEventTools.AddObjectPersistentListener<GameObject>(button.onClick, action2, go2);
}
if (receiver3 != null)
{
var go3 = receiver3;
UnityAction<GameObject> action3 = new UnityAction<GameObject>(this.OnClickEvent3);
UnityEventTools.AddObjectPersistentListener<GameObject>(button.onClick, action3, go3);
}
Any help is appreciated!

Thank you very much! :)
– geoffrey-freudenberg