Prefab with button doesn't work?

I have researched the problem with no answer.
I am making a prefab that has a button. That button is set to call a func (public void ButtonPressed())
It returns void and has no parameters. Why am I unable to click it when ran? Anyone know? Its simply supposed to move some other buttons around. I have a Debug.Log being called when the func is called and it’s def not showing.

Besure you’re putting the button into a canvas.

And it needs to be a part of a canvas to display at all. Making it a child of the main (only) canvas still makes it non-functional as far as I can tell. I am looking for a guide on generating buttons live and am finding nothing.

And Button has a RectTrans but I have to access it with the GetComponent for some reason?

So right now if I manually put the button as a child of the Canvas during run time it appears to work a bit so far. Thanks. I’m now off to figure out how to make it a child object upon Instantiation or just after…