Как редактировать Scriptable Object

Допустим у меня на сцене у меня есть кнопка Update. Когда игрок нажмет ее, я хочу, чтобы некоторые мои Scriptable Object с настройками поменяли некоторые свои поля(данные я загружаю из облака).

Вот что я пробовал:

 StramReader r = new StreamReader("path");
 string[] s = r.ReadToEnd().Split(';');
 EssenceData e = Resources.Load<EssenceData>($"DATA's/Essences/{s[1]}");
 e.Name = s[1];
 e.Description = s[3];
 e.Lives = int.Parse(s[4]);
 e.Attack = int.Parse(s[5]);
 e.Defence = int.Parse(s[6]);
 ...
 r.CLose()

Вот только потом я прочитал, что нельзя изменять Scriptable Object во время исполнения. Тогда что же мне делать?

P.S. Я в этом еще очень плохо разбираюсь, поэтому мой вопрос наверняка окажется глупым. Не судите меня строго


Ответы (1 шт):

Автор решения: Some_ Person

Если поместить код "обновления" в метод самого класса Scriptable Object и вызывать его то все работает:

public class EssenceData : ScriptableObject
{ 
    public string Name;
    public string Description;

    public int Lives;
    public int Attack;
    public int Defence;

    ...

    public void _Update(string[] s){
       Name = s[1];
       Description = s[3];
       Lives = int.Parse(s[4]);
       Attack = int.Parse(s[5]);
       Defence = int.Parse(s[6]);
       ...
    }

}
→ Ссылка