How to change a gameobject's spirit based on player choice ?

I am new to unity and started with a simple 2D air hockey game what i want is to make the player select one of player spirits and change gameobject spirit to that

P.S i don’t want to make an object for every spirit and copy the same components and scripts to them all

A simple solution might be to make separate prefabs for each sprite. You make one object, setup as they all will be, then make a prefab out of it. Then you change the sprite, and make a new prefab, and repeat for as many as you need, then instantiate the right prefab.

Alternatively and probably what I’d try to do, is change the sprite through code. Once a player selects a different sprite (hits a button or whatever) then you get the object in code and assign a new sprite - there are many tutorials out there explaining how to do that part.