Save System Performance Issue

Hey, so i use EasySave to save all the data in my game and when i run the Save function it freezes for 4-10 seconds depending on your devices to save all the stuff, i was wondering if this is to do with EasySave and something i will just have to live with as theres a lot of data or if i have done something wrong in the code.

 public void Save()
    {
        ES3.Save("OhChrt1", IntManager.OHCHRT1);
        ES3.Save("OhDlg1", IntManager.OHDLG);
        ES3.Save("Rcp1", IntManager.RCP1);
        ES3.Save("Mt1", IntManager.MT1);
   
        ES3.Save("Money", IntManager.TotalMoney);
        ES3.Save("Top2", IntManager.Top2);
        ES3.Save("Shorts2", IntManager.Shorts2);
        ES3.Save("DayNight", IntManager.DayNight);
        ES3.Save("PhoneAcc", IntManager.PhoneAcc);
        ES3.Save("OfficeBuy", IntManager.OfficeBuy);
        ES3.Save("VelmaLoy", IntManager.VelmaLoy);
        ES3.Save("ZeldaLoy", IntManager.ZeldaLoy);
  
        ES3.Save("RavenLoy", IntManager.RavenLoy);
        ES3.Save("RavenUnlockBeta", IntManager.RavenUnlockBeta);
        ES3.Save("SamsungSamLoy", IntManager.SamsungSamLoy);
        ES3.Save("SamsungSamUnlockBeta", IntManager.SamsungSamUnlockBeta);
        ES3.Save("KimPossibleUnlockBeta", IntManager.KimPossibleUnlockBeta);
        ES3.Save("KimPossibleLoy", IntManager.KimPossibleLoy);
        ES3.Save("GloriaLoy", IntManager.GloriaLoy);
        ES3.Save("Charisma", IntManager.Charisma);
        ES3.Save("SamUnlockBetaTwo", IntManager.SamsungSamUnlockBetaTwo);
   
        ES3.Save("MoneyMulti", IntManager.MoneyMultiplier);
       
        ES3.Save("SGV1", IntManager.SGV1);

        ES3.Save("Coins", IntManager.Coins);
      
        ES3.Save("Diamonds", IntManager.Diamonds);
        ES3.Save("TalkGloriaSam", IntManager.TalkGloriaSam);
        ES3.Save("Alcohol", IntManager.Alcohol);
        ES3.Save("KimFirstVisit", IntManager.KimFirstVisit);

        ES3.Save("GwenStacyLoy", IntManager.GwenStacyLoy);
        ES3.Save("SpiderBite", IntManager.SpiderBite);

        //Loyalty
        ES3.Save("HarleyQuinnLoy", IntManager.HarleyQuinnLoy);
        ES3.Save("JinxLoy", IntManager.JinxLoy);
        ES3.Save("A18Loy", IntManager.A18Loy);
        ES3.Save("MirkoLoy", IntManager.MirkoLoy);
        ES3.Save("RiasLoy", IntManager.RiasLoy);
     

        //Level
        ES3.Save("XP", IntManager.XP);
        ES3.Save("CurrentLevel", IntManager.CurrentLevel);

        //Office Upgrades
        ES3.Save("LBoxDesk", IntManager.LBoxDesk);
        ES3.Save("RBoxDesk", IntManager.RBoxDesk);

        //Active Scene
        ES3.Save("ActiveScene", LoadingBar.levelNum);




      

        //Clock
        ES3.Save("OpeningHours", HouseOpeningHours.OpeningHours);
        ES3.Save("OpeningMinutes", HouseOpeningHours.OpeningMinutes);
        ES3.Save("ClosingHours", HouseOpeningHours.ClosingHours);
        ES3.Save("ClosingMinutes", HouseOpeningHours.ClosingMinutes);
        ES3.Save("TimeHour", HouseOpeningHours.TimeHour);
        ES3.Save("TimeMinute", HouseOpeningHours.TimeMinute);

        ES3.Save("Dictionary", UnlockDic.dict);

        // Quest Save

       
        FindObjectOfType<RavenQuestManager>().SaveAllQuestData();
        FindObjectOfType<SamsungSamQuestManager>().SaveAllQuestData();
        FindObjectOfType<KimPossibleQuestManager>().SaveAllQuestData();
        FindObjectOfType<GwenStacyQuestManager>().SaveAllQuestData();
        FindObjectOfType<HarleyQuinnQuestManager>().SaveAllQuestData();
        FindObjectOfType<PeachQuestManager>().SaveAllQuestData();
        FindObjectOfType<SceneQuestManager>().SaveAllQuestData();
        FindObjectOfType<AndroidQuestManager>().SaveAllQuestData();
        FindObjectOfType<MirkoQuestManager>().SaveAllQuestData();
        FindObjectOfType<RiasQuestManager>().SaveAllQuestData();
        FindObjectOfType<LolaQuestManager>().SaveAllQuestData();


        //Shop Save
        FindObjectOfType<DeskInfoSaveLoad>().SaveAll();

    }

The weird think is loading it is fine takes like a second

The 12 FindObjectOfType calls probably take up a lot of this time.

You should probably introduce a singleton pattern to these ‘managers’ so you can access their methods a whole lot quicker.

Or have a master manager that keeps references to all of them, OR have them subscribe to a global callback that gets invoked when you save.