You could do it with reflection but it wouldn’t be pretty. Why cant you use instantiate? Could you not instantiate it and then copy what you need from object 2 to the new object?
I’m macking an endless run so i don’t wont instantiate and destroy many time, so i decide to recicle a gamobject and when i re use it i don’t wont that it is the same