# Sandbox.SerializedObject

An object (or data) that can be accessed as an object

- Kind: class
- Namespace: `Sandbox`
- Assembly: `Sandbox.System`
- Modifiers: abstract

## Properties

- [`IsMultipleTargets`](/api/Sandbox.SerializedObject/IsMultipleTargets): True if the target is multiple objects
- [`IsValid`](/api/Sandbox.SerializedObject/IsValid): Does the target object still exist?
- [`OnPropertyChanged`](/api/Sandbox.SerializedObject/OnPropertyChanged)
- [`OnPropertyFinishEdit`](/api/Sandbox.SerializedObject/OnPropertyFinishEdit)
- [`OnPropertyPreChange`](/api/Sandbox.SerializedObject/OnPropertyPreChange)
- [`OnPropertyStartEdit`](/api/Sandbox.SerializedObject/OnPropertyStartEdit)
- [`ParentProperty`](/api/Sandbox.SerializedObject/ParentProperty)
- [`Targets`](/api/Sandbox.SerializedObject/Targets): A list of actual target objects - if applicable
- [`TypeIcon`](/api/Sandbox.SerializedObject/TypeIcon)
- [`TypeName`](/api/Sandbox.SerializedObject/TypeName)
- [`TypeTitle`](/api/Sandbox.SerializedObject/TypeTitle)

## Methods

- [`GetEnumerator`](/api/Sandbox.SerializedObject/GetEnumerator)
- [`GetProperty`](/api/Sandbox.SerializedObject/GetProperty)
- [`NoteChanged`](/api/Sandbox.SerializedObject/NoteChanged): It's good manners for a changed SerializedProperty to tell its parent on set. That way the parent can cascade changes up the tree. This is particularly important if the tree includes struct types - because those values will need to be re-set on any ParentProperty's.
- [`NoteFinishEdit`](/api/Sandbox.SerializedObject/NoteFinishEdit)
- [`NotePreChange`](/api/Sandbox.SerializedObject/NotePreChange)
- [`NoteStartEdit`](/api/Sandbox.SerializedObject/NoteStartEdit)
- [`TryGetProperty`](/api/Sandbox.SerializedObject/TryGetProperty)
