Displaying score from a scene to another

Hi,
I would want to display the score when it’s on the Game Over Scene.
Here’s how I display the score while playing :

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class SnakeBody : MonoBehaviour {

	private int myOrder;
	private Transform head;
	private Vector3 movementVelocity;
	[Range(0.0f,1.0f)]
	public float overTime = 0.5f;
	public float score;

	void Start(){
		head = GameObject.FindGameObjectWithTag("Player").gameObject.transform;
		for (int i = 0; i < head.GetComponent<SnakeMovement>().bodyParts.Count; i++) {
			if(gameObject==head.GetComponent<SnakeMovement>().bodyParts*.gameObject){*
  •  		myOrder=i;*
    
  •  		Scoring(i);*
    
  •  		}*
    
  •  }*
    
  • }*

  • void Scoring(int i){*

  •  score = 1;*
    
  •  score = score + i;*
    
  •  GameObject.Find("Score").GetComponent<GUIText>().text = "" + score;*
    
  • }*

  • void FixedUpdate(){*

  •  if (myOrder == 0) {*
    
  •  	transform.position = Vector3.SmoothDamp (transform.position, head.position, ref movementVelocity, overTime);*
    
  •  	transform.LookAt (head.transform.position);*
    
  •  } else {*
    
  •  	transform.position = Vector3.SmoothDamp (transform.position, head.GetComponent<SnakeMovement> ().bodyParts [myOrder - 1].position, ref movementVelocity, overTime);*
    
  •  	transform.LookAt (head.transform.position);*
    
  •  }*
    
  •  }*
    

}
And my Game Over Script :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ScoreGameOver : SnakeBody {

  • void DisplayScore(){*
  •  GameObject.Find ("Score").GetComponent<GUIText> ().text = "Score : " + score;*
    
  • }*
    }

Not really sure what are you asking but you can save varibles between scene using
PlayerPrefs

In you game scene do sometihg like PlayerPrefs.SetInt(“Player Score”, 10);
In score scene PlayerPrefs.GetInt(“Player Score”);

You should use a singleton to manage stuff like score, game state etc. then you can set and access the score from anywhere.

public float score;
public int level;
public float level speed;

public static ClassName  instance = null;

    void Awake()
    {
         //Must be active in scene
         //This is a quick and dirty singleton. Please research Singleton design pattern
         instance = this;
    }

Now you can do this from any script…

void Start()
{
     ClassName c = ClassName.instance;

     c.score += 100;
     c.level += 1;
     c.levelSpeed = 20;
}

or

void OnTriggerEnter2D(collider2D col)
{
     if(col.tag == "SomeTag")
     {
          ClassName.instance.score += 100;
     }
}

or

void Start()
{
     PlayerPrefs.SetFloat("Player Score", ClassName.instance.score);
}