---
title: "Object"
description: "API documentation for Object"
url: https://developer.disguise.one/python-api/docs/object/
---

# Object

The base class for all 3D objects which have a position and rotation in the stage

See also: [Stage Guide](/plugins/guides/stage)

Base class (inherits properties and methods): _[Resource](/python-api/docs/resource#resource)_

Subclasses: _[CameraObject](/python-api/docs/cameraobject#cameraobject)_, _[DbgObject](/python-api/docs/dbgobject#dbgobject)_, _[Display](/python-api/docs/display#display)_, _[FixtureInstance](/python-api/docs/fixtureinstance#fixtureinstance)_, _[FixtureTargetObject](/python-api/docs/fixturetargetobject#fixturetargetobject)_, _[Label](/python-api/docs/label#label)_, _[Light](/python-api/docs/light#light)_, _[LookAtManipulable](/python-api/docs/lookatmanipulable#lookatmanipulable)_, _[MeasurementSet](/python-api/docs/measurementset#measurementset)_, _[OpticalCalibratorObject](/python-api/docs/opticalcalibratorobject#opticalcalibratorobject)_, _[ProjectionObject](/python-api/docs/projectionobject#projectionobject)_, _[Prop](/python-api/docs/prop#prop)_, _[Puck](/python-api/docs/puck#puck)_, _[ReferencePoint](/python-api/docs/referencepoint#referencepoint)_, _[SceneOrigin](/python-api/docs/sceneorigin#sceneorigin)_, _[Skeleton](/python-api/docs/skeleton#skeleton)_, _[Stage](/python-api/docs/stage#stage)_, _[TwoPoint5DAsset](/python-api/docs/twopoint5dasset#twopoint5dasset)_, _[VRUser](/python-api/docs/vruser#vruser)_, _[Venue](/python-api/docs/venue#venue)_, _[Viewer](/python-api/docs/viewer#viewer)_

## Properties

#### **children** : _List\[[Object](/python-api/docs/object#object)\]_ _(Read-Only)_

The first child of this object, or NULL if the object has no children.

#### **externalUpdate** : _bool_

Whether the object position and rotation are being updated by an external source, such as certain types of tracking source.

#### **hasTrackingSource** : _bool_ _(Read-Only)_

Whether the object has a tracking source or not.

#### **isReceivingFromTrackingSource** : _bool_ _(Read-Only)_

Whether the object is receiving position and rotation data from a tracking source.

#### **local** : _[Mat](/python-api/docs/mat#mat)_ _(Read-Only)_

The local matrix that represents the transform from the local space of this object to its parent’s space.

#### **mesh** : _[Mesh](/python-api/docs/mesh#mesh)_

The mesh that is associated with this object.

#### **needsMesh** : _bool_ _(Read-Only)_

Whether the object is a physical thing visible in the stage.

#### **offset** : _[Vec](/python-api/docs/vec#vec)_

Position in the scene, in meters; relative to parent object in hierarchy, and mesh position.

_UserName: Offset_

#### **parent** : _[Object](/python-api/docs/object#object)_ _(Read-Only)_

The parent of this object, or NULL if the object has no parent.

#### **renderLayer** : _int_

Where the screen appears.  
On stage, the screen is physically present.  
Off stage: the screen is temporarily removed from the scene.  
Frontplate: Cameras view the screen content as AR content overlaying the stage. Invisible to Projectors.  
Backplate: If MR is enabled, the camera projects the content onto the MR set.  
Set Extension mask: If MR is enabled, the object cuts away at any set extension, leaving only live video and AR effects.  
Set Extension addition: If MR is enabled, the object masks any live video and AR effects, rendering the set extension instead  
Live action volume: If MR is enabled, the object defines a volume outside of which set extension is always rendered

_Options: {0: ‘Off stage’, 1: ‘On stage’, 2: ‘Frontplate (AR)’, 3: ‘Backplate (MR)’, 4: ‘Set Extension mask’, 5: ‘Set Extension addition’, 6: ‘Live action volume’, 7: ‘2.5D’}  
Category: Output  
UserName: Render layer_

#### **rotation** : _[Vec](/python-api/docs/vec#vec)_

Rotation around x, y, z axes, in degrees; relative to parent object in hierarchy, and mesh orientation.

_UserName: Rotation_

#### **scale** : _[Vec](/python-api/docs/vec#vec)_

The scale of the object.

#### **sortOverride** : _int_

Manually override depth sorting.  
Objects with lower values are rendered before objects with higher values

_UserName: Depth sort override_

#### **trackingSource** : _[ObjectTrackingSource](/python-api/docs/objecttrackingsource#objecttrackingsource)_

The tracking source attached to this object.

_UserName: Tracking source_

#### **world** : _[Mat](/python-api/docs/mat#mat)_ _(Read-Only)_

## Variables

#### **Backplate** : _Final\[[SpaceLayer](/python-api/docs/spacelayer#spacelayer)\]_ = SpaceLayer.Backplate

#### **Frontplate** : _Final\[[SpaceLayer](/python-api/docs/spacelayer#spacelayer)\]_ = SpaceLayer.Frontplate

#### **OffStage** : _Final\[[SpaceLayer](/python-api/docs/spacelayer#spacelayer)\]_ = SpaceLayer.OffStage

#### **OnStage** : _Final\[[SpaceLayer](/python-api/docs/spacelayer#spacelayer)\]_ = SpaceLayer.OnStage

#### **SetExtensionAddition** : _Final\[[SpaceLayer](/python-api/docs/spacelayer#spacelayer)\]_ = SpaceLayer.SetExtensionAddition

#### **SetExtensionMask** : _Final\[[SpaceLayer](/python-api/docs/spacelayer#spacelayer)\]_ = SpaceLayer.SetExtensionMask

## Methods

#### **add**(self, child: _[Object](/python-api/docs/object#object)_)

Add a child object to the current object.

This method attaches a child object to the current object, making it a part of its hierarchy.

**Parameters**:

-   child: The child object to add.

#### **centroid**(self) -> _[Vec](/python-api/docs/vec#vec)_

The mesh centroid in local space.

#### **findAllObjectsOfType**(self, type: _type_) -> _List\[[Object](/python-api/docs/object#object)\]_

Finds all objects of a given type in the object hierarchy.

This method traverses the object hierarchy below the current object, and returns an array of all objects that match the specified type.

**Parameters**:

-   type: The type to search for.

**Returns** An array of objects that match the specified type.

#### **findObjectOfType**(self, type: _type_) -> _[Object](/python-api/docs/object#object)_

Finds the first object of a given type in the hierarchy.

This method traverses the object hierarchy below the current object, and returns the first object that matches the specified type.

**Parameters**:

-   type: The type to search for.

**Returns** The found object, or NULL if no matching object is found.

#### **isAncestorOf**(self, obj: _[Object](/python-api/docs/object#object)_) -> _bool_

Checks whether the object is an ancestor of another object.

**Parameters**:

-   obj: The other object to check against.

**Returns** True if the current object is an ancestor of obj (i.e. above obj in the hierarchy), False otherwise.

#### **isInActiveStage**(self) -> _bool_

Checks if the object is in the active stage.

**Returns** True if the object is in the active stage, false otherwise.

#### **remove**(self)

Remove the object from its parent.

This method detaches this object from its parent, leaving it unparented in the stage hierarchy.  
This will also remove the object from the stage.

#### **updateTracking**(self)

Ensure the object tracking data is up to date for the current frame.

## Static Methods

#### **getPufferSphereMesh**() -> _[Mesh](/python-api/docs/mesh#mesh)_

#### **getSphereMesh**() -> _[Mesh](/python-api/docs/mesh#mesh)_
