Иногда в редакторе нужно использовать SerializedProperty у объекта, до которого просто никак не дойти. Допустим, я хочу вывести поля класса, а класс этот находится не в ScriptableObject и не в компоненте.

Для этого можно использовать простой хак:

public class Temp : ScriptableObject {
     [SerializedReference]
     public object data;
}

var temp = Temp.CreateInstance<Temp>(); 
temp.data = yourInstance; 
var so = new SerializedObject(temp); 
var prop = so.FindProperty("data"); 

Еще нужно не забыть убить этот Temp 🙂

Читать далее  

У SerializedProperty появилось boxedValue. Не во всех случаях он работает, но во всех случаях для большого числа кейсов теперь можно читать и писать нормально.

Читать далее