How can an object/script know when it is instantiated?

I’m having some problems in a script in an instantiated object, which ive finally traced to leftover variables being set on the firstrun (before any copies are instantiated).

I can thankfully solve this by calling a reset function in the script, at the same time that i instantiate it. But that’s still one more step in the caller, rather than the object itself, which seems messy to me.

is there a monobehaviour that fires when this object is created as a clone of some previous one?

Start, Awake and OnEnable will work.