Problems with saving a highscore with Shared Objects

Hey, so I’ve been trying to get this problem right for a couple of hours now, but i just cant get it right. I’m making a game, and I’m trying to add a high score stat and saving it for next launches with Shared Objects. The only thing that’s not working is retrieving the saved high score stat from the sol file (I think) I have a sol file with the name HighScoreSolThingy. The trace is giving an output of “HighestScore data IS in (SharedObject.getLocal(‘HighScoreSolThingy’), it is undefined.” Final trace at the bottom just gives me undefined. Any ideas?

My Game. as class is as follows (without some unnecessary stuff, the full one is attached):

package{

import flash.display.MovieClip;
import flash.events.Event;
import flash.utils.Timer;
import flash.text.*;
import flash.net.SharedObject;

public class Game extends MovieClip{


    
    static var scoreText:TextField;
    static var HighScoreTextDisplay:TextField;
    static var dFormat:TextFormat; 
    static var eFormat:TextFormat; 
    static var fFormat:TextFormat;
    static var sharedObject:SharedObject;
    
    
    
    
    
    function Game(){
        ShipVisible = 1;
        kills = 0;
        fired = 0;
        hits = 0;
        accuracy = 0;
        Key.initialize(stage);
        BackgroundMusic.play(0,1000);
        ship = new Ship;
        ship.x = 40;
        ship.y = 180;
        stage.addChild(ship)

This next part is in tha game over menu:
HighScoreTextDisplay = new TextField();
HighScoreTextDisplay.defaultTextFormat = fFormat;
HighScoreTextDisplay.x = 400;
HighScoreTextDisplay.y = 220;
HighScoreTextDisplay.text = String(0);
addChild(HighScoreTextDisplay);
HighScoreTextDisplay.visible = false;

        sharedObject = SharedObject.getLocal("HighScoreSolThingy");
        if(sharedObject.data.highestScore != undefined) {
            //data exists
            //do actions
            Game.highestScore = sharedObject.data.highestScore;
            sharedObject.flush();
            trace("HighestScore data IS in (SharedObject.getLocal('HighScoreSolThingy'), it is " + sharedObject.data.HighScoreSolThingy + ".");
        } else {
            //data does not exist
            //do actions
            sharedObject.data.highestScore = 0;
            Game.highestScore = sharedObject.data.highestScore;
            sharedObject.flush();
            trace("HighestScore data IS NOW in (SharedObject.getLocal('HighScoreSolThingy') with value ZERO.");
        }
        
        resetScore();
        
    }
    

    function newGame(e:Event){
        resetScore();
    }
    
    static function updateScore(points){
        score += points;
        scoreText.text = String(score);                        
        eGScoreDisplay.text = String(score);                        }
    
    static function resetScore(){
        score = 0;
        scoreText.text = String(score);    
        eGScoreDisplay.text = String(score);                        } 
    
    static function gameOver(){
        if(CheatsUsed == 0){if(score > highestScore){highestScore = score}};
        HighScoreTextDisplay.text = String(highestScore);
        saveHighscore();
    }

    static function saveHighscore(){
        if(CheatsUsed == 0){
        //trace(sharedObject.data.HighScoreSolThingy)
        Game.score = sharedObject.data.HighScoreSolThingy; 
        sharedObject.flush();
        }
    }
}

}