Legacy Documentation: Version 5.0
Language: English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

SerializedObject

Namespace: UnityEditor

Switch to Manual

Description

SerializedObject and SerializedProperty are classes for editing properties on objects in a completely generic way that automatically handles undo and styling UI for prefabs.

SerializedObject is used in conjunction with SerializedProperty and Editor classes.

See Also: SerializedProperty class, Editor class.

#pragma strict
public class MyObject extends ScriptableObject {
	public var myInt = 42;
}
public class SerializedProperty {
	function Start() {
		var obj = ScriptableObject.CreateInstance.<MyObject>();
		var serializedObject = new UnityEditor.SerializedObject(obj);
		var serializedPropertyMyInt = serializedObject.FindProperty("myInt");
		Debug.Log("myInt " + serializedPropertyMyInt.intValue);
	}
}

Variables

isEditingMultipleObjectsDoes the serialized object represents multiple objects due to multi-object editing? (Read Only)
targetObjectThe inspected object (Read Only).
targetObjectsThe inspected objects (Read Only).

Constructors

SerializedObjectCreate SerializedObject for inspected object.

Public Functions

ApplyModifiedPropertiesApply property modifications.
CopyFromSerializedPropertyCopies a value from a SerializedProperty to the same serialized property on this serialized object.
FindPropertyFind serialized property by name.
GetIteratorGet the first serialized property.
SetIsDifferentCacheDirtyUpdate hasMultipleDifferentValues cache on the next /Update()/ call.
UpdateUpdate serialized object's representation.
UpdateIfDirtyOrScriptUpdate serialized object's representation, only if the object has been modified since the last call to Update or if it is a script.