How can i swap a models mesh using script

I’ve spent far too long looking online for a solution, every response to questions similar to this don’t explain much at all i am a complete noob when it comes to scripting so if anyone does know how it’s done i would appreciate it if you could explain in as much detail as possible.

Here is the basic idea.

I would take advantage of Unity’s hierarchy concept: GameObjects can be parented to each other, allowing them to move and behave together.

If you keep that hollow disk as your base player GameObject, then attach “slices” as children, you could have a script on the player which keeps track of those slices and activates/deactivates them as needed.

Something like this, maybe?

//populate this list in the Inspector
var slices : GameObject[];

private var numSlices : int;

//this is just an example, you will probably need something else
//this function will be called each time we enter a "trigger" collider
//    - check if we hit a trigger named "SlicePickup"
//    - if we did, destroy it and add a slice
function OnTriggerEnter(Collider other) {
	if (other.name == "SlicePickup") {
		Destroy(other.gameObject);
		AddSlice();
	}
}

//call this to add one more slice
function AddSlice() {
	if (numSlices < slices.length) {
		slices[numSlices].SetActive(true);
	}
	numSlices += 1;
	
	//TODO: something cool when we fill up the slices?
}

//call this to reset (turn off) all of your slices
function ResetSlices() {
	for (var i=0; i<slices.length; i++) {
		slices*.SetActive(false);*