public static void Delete(string name)
    {
        ActionKeyPersistanceData[] datas = GetKeyCubeMapping();

        ActionKeyPersistanceData existingMapping = datas.SingleOrDefault(x => x.CubeName == name);

        if (existingMapping == null)
        {
            //Debug.LogError("The persisted action key mapping for deletion was not found!");
            return;
        }

        datas = datas.Where(x => x.CubeName != name).ToArray();

        File.WriteAllText(fileName, Serialize(datas));
    }
    public static void Persist(ActionKeyPersistanceData data)
    {
        List <ActionKeyPersistanceData> datas = GetKeyCubeMapping().ToList();

        ActionKeyPersistanceData existingMapping = datas.SingleOrDefault(x => x.CubeName == data.CubeName);

        if (existingMapping != null)
        {
            existingMapping.CubeName = data.CubeName;
        }
        else
        {
            datas.Add(data);
        }


        File.WriteAllText(fileName, Serialize(datas));
    }