Skill Tree
  • Skill Tree Documentation
  • Legacy Product
  • 🕹️Quick Start
    • Installation
    • Default Prefabs
    • Start Editing
    • Making it Work
  • 🎮Demo Scene
    • Endless Death
  • ⚙️Systems
    • Skill Tree
      • Editor Window
        • Skill Trees (Skill Graphs)
        • Skills (Skill Nodes)
          • Skill Stats Editor
          • Text Tags
        • Connections
      • Skill Tree Settings
      • Components
        • Skill Tree Initializer
        • Default Components
          • Confirmation Prompt
          • Default Input Handler
          • Skill Tree Window
          • Skill Details
          • Skill Menu
          • Skill Bar & Windup UI
        • Skill Interpreter
      • Customizations
        • UI Customizations
          • Custom Skill Menu
          • Custom Skill Details
        • Custom Objects
      • Scripting
        • Initialization
        • Player Level & Skill Points
        • Skill Graphs
        • Skill Nodes
        • Using Skills
        • Saving & Loading Graphs
        • Default Skill Tree Window
        • Events
    • Stats
      • Stats Editor
      • Components
        • Unit Stats Provider
      • Creating & Providing Stats
      • Scripting
        • Stat Groups & Identities
        • Stats
        • Unit Stats Provider
          • Events
        • Saving & Loading Stats
  • 🛠️Support
    • Getting Help
  • 📚Changelogs
    • Latest Releases
  • ⭐Rate Me?
Powered by GitBook
On this page
  • Saving Stats
  • Loading Stats
  1. Systems
  2. Stats
  3. Scripting

Saving & Loading Stats

Learn how you can save and load stats.

PreviousEventsNextGetting Help

Last updated 5 months ago

UnitStats and Stat are serializable classes; thus, they can be saved by most save systems. If you're looking for a save system, try —it has been tested with Skill Tree, and it's free!

Since every save system may be different, this example will only show you how stats can be saved with ESave.

Saving Stats

// Get the save file reference
var saveFile = GetComponent<SaveFileSetup>().saveFile;

// Where unitStats is a UnitStats object (this can be obtained from a UnitStatsProvider)
// Save the data
saveFile.AddOrUpdateData("stats", unitStats);
saveFile.Save();

Loading Stats

// Get the save file reference
var saveFile = GetComponent<SaveFileSetup>().saveFile;

// Load the stats
var unitStats = saveFile.GetData<UnitStats>("stats");

// Where statsProvider is a UnitStatsProvider object
// Set the data to the provider
statsProvider.data = unitStats;
statsProvider.Refresh();

Learn more about ESave .

⚙️
ESave
here