save class in playerprefs code example

Example: How to save custom class unity

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
 
[System.Serializable]
public class GameSettings
{
    public float AudioVolume = .5f;
}
 
class AudioSettings : MonoBehaviour
{
    private static AudioSettings _instance;
    public static AudioSettings Instance { get { return _instance; } }
 
    public GameSettings Gamer_Profile;
    public string AppLocation => $"{Application.persistentDataPath}";
    public string FileLocation => $"/Settings/";
    public string FileName => $"gameSettings.json";
    private void Awake()
    {
        if (_instance != null && _instance != this)
        {
            Destroy(this.gameObject);
        }
        else
        {
            _instance = this;
        }
        Gamer_Profile = Loadprofile();
    }
 
    GameSettings SetData(float audioVol)
    {
        return new GameSettings
        {
            AudioVolume = audioVol
        };
    }
    public GameSettings Loadprofile()
    {
        if (Directory.Exists($"{Application.persistentDataPath}/Settings/"))
        {
            if (File.Exists($"{Application.persistentDataPath}/Settings/gameSettings.json"))
            {
                string inputString = File.ReadAllText($"{Application.persistentDataPath}/Settings/gameSettings.json");
                return JsonUtility.FromJson<GameSettings>(inputString);
            }
        }
        Directory.CreateDirectory($"{Application.persistentDataPath}/Settings/");
        return SetData(0.5f);
    }
    public void SaveProfile()
    {
        var outputString = JsonUtility.ToJson(Gamer_Profile);
        if (!Directory.Exists($"{Application.persistentDataPath}/PlayerProfile/"))
        {
            Directory.CreateDirectory($"{Application.persistentDataPath}/PlayerProfile/");
        }
        File.WriteAllText($"{Application.persistentDataPath}/PlayerProfile/gameSettings.json", outputString);
    }
}
 //-devbb on twitch