public static void SaveJediumSettings(JediumSettings settings, string path)
    {
        Debug.Log($"Saving Settings: {path}");
        IniData data = new IniData();

        data.Sections.Add(new SectionData("Main"));
        data["Main"].AddKey(new KeyData("UpdateRate"));
        data["Main"]["UpdateRate"] = settings.UpdateRate.ToString();
        data["Main"].AddKey(new KeyData("UseFixedUpdate"));
        data["Main"]["UseFixedUpdate"] = settings.UseFixedUpdate.ToString();

        data["Main"].AddKey(new KeyData("UseUpdateThread"));
        data["Main"]["UseUpdateThread"] = settings.UseUpdateThread.ToString();

        data["Main"].AddKey(new KeyData("UpdateThreadInterval"));
        data["Main"]["UpdateThreadInterval"] = settings.UpdateThreadInterval.ToString();

        data["Main"].AddKey(new KeyData("WebApiUrl"));
        data["Main"]["WebApiUrl"] = settings.WebApiUrl.ToString();

        data["Main"].AddKey(new KeyData("ServerUrl"));
        data["Main"]["ServerUrl"] = settings.ServerUrl;

        data["Main"].AddKey(new KeyData("InitialScene"));
        data["Main"]["InitialScene"] = settings.InitialScene;


        var parser = new FileIniDataParser();

        parser.WriteFile(path, data);
    }
    public static void LoadJediumSettings(JediumSettings settings, string filename)
    {
        var     parser = new FileIniDataParser();
        IniData data   = parser.ReadFile(filename);

        settings.UpdateRate           = float.Parse(data["Main"]["UpdateRate"]);
        settings.UseFixedUpdate       = bool.Parse(data["Main"]["UseFixedUpdate"]);
        settings.UseUpdateThread      = bool.Parse(data["Main"]["UseUpdateThread"]);
        settings.UpdateThreadInterval = long.Parse(data["Main"]["UpdateThreadInterval"]);
        settings.WebApiUrl            = data["Main"]["WebApiUrl"];
        settings.ServerUrl            = data["Main"]["ServerUrl"];
    }