Как заполнить поле инспектора из скрипта редактора снаружи

Имеется вот такой код

[SerializeField]
private GameObject map;


void OnValidate()
{
map = GameObject.FindGameObjectWithTag("map");
}

Он добавляет в поле инспектора объект, который находит на сцене. Но делает это изнутри самого скрипта.

А как заполнить поле инспектора из скрипта редактора снаружи?

Хотелось бы что то вроде этого

Псведокод:

Asset assetForField = AssetDatabase.GetAssetByPath("assetForSerializeField")

Fields[] fields = AssetDatabase.GetSerializeFieldsOfGameObject("map");

foreach(field in fields)
{

if(field.name.Equals("_map")
{
field.FillSerializeField(assetForField);
}

}

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

Автор решения: Vlad Klyuenkov

Уберите этот код из OnValidate() и тогда в инспекторе нужно будет кинуть нужный object

→ Ссылка