# Sandbox.Json.TrackedObjectDefinition

Defines characteristics of an object type that should be tracked within a JSON tree structure.
These definitions are used to identify, track, and manage specific types of objects during JSON diffing and patching operations.

- Kind: class
- Assembly: `Sandbox.Engine`

## Constructors

- [`TrackedObjectDefinition`](/api/Sandbox.Json.TrackedObjectDefinition/.ctor)

## Fields

- [`AllowedAsRoot`](/api/Sandbox.Json.TrackedObjectDefinition/AllowedAsRoot): If true, objects of this type can be the root of the object tree.
- [`Atomic`](/api/Sandbox.Json.TrackedObjectDefinition/Atomic): When true, treats this object as an atomic unit during tracking operations.
- [`IdProperty`](/api/Sandbox.Json.TrackedObjectDefinition/IdProperty): The JSON property key used to identify objects of this type (e.g. "__guid").
- [`IgnoredProperties`](/api/Sandbox.Json.TrackedObjectDefinition/IgnoredProperties)
- [`MatchScore`](/api/Sandbox.Json.TrackedObjectDefinition/MatchScore): Determines whether a JSON object should be considered an instance of this tracked object type.
- [`ParentType`](/api/Sandbox.Json.TrackedObjectDefinition/ParentType): Specifies the required type of the parent object. If null, AllowedAsRoot must be true.
- [`ToId`](/api/Sandbox.Json.TrackedObjectDefinition/ToId): Maps a JSON object to a unique identifier string.
- [`Type`](/api/Sandbox.Json.TrackedObjectDefinition/Type): A unique identifier for this object type. This is used to categorize objects.
