# Cluster

### Cluster Class

The Cluster class handles interactions with in game objects.

### Syntax

### Member Details

#### ClusterId Property

> Returns the Id of this cluster.
>
> #### Syntax
>
> \[get: Sansar.Script.Interface]\
> public [ClusterId](https://help.sansar.com/hc/en-us/articles/115003552528) **ClusterId** { get; }
>
> **Value**
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### Destroy Method

> Destroys this cluster.
>
> #### Syntax
>
> \[Sansar.Script.Interface]\
> public [void](http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void) **Destroy** ()
>
> **Returns**
>
> > The internal event id for the completion event.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### Destroy Method

> Destroys this cluster.
>
> #### Syntax
>
> **Parameters**
>
> > *handler*
> >
> > Handler to be called when the event completes.
>
> **Returns**
>
> > The internal event id for the completion event.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### Destroy Method

> Destroys this cluster.
>
> #### Syntax
>
> **Parameters**
>
> > *handler*
> >
> > Handler to be called when the event completes.
>
> **Returns**
>
> > The internal event id for the completion event.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### GetObjectPrivate Method

> Retrieves a Sansar.Simulation.ObjectPrivate by index.
>
> #### Syntax
>
> \[Sansar.Script.Interface]\
> public [ObjectPrivate](https://help.sansar.com/hc/en-us/articles/115003361366) **GetObjectPrivate** ([uint](http://www.go-mono.com/docs/monodoc.ashx?link=T:System.UInt32) index)
>
> **Parameters**
>
> > *index*
> >
> > Index of the Sansar.Simulation.ObjectPrivate to retrieve.
>
> **Returns**
>
> > The Sansar.Simulation.ObjectPrivate at that index or null.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### GetObjectPrivates Method

> Enumerable for GetObjectPrivate
>
> #### Syntax
>
> **Returns**
>
> > Enumerable for GetObjectPrivate
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### ObjectPrivateCount Property

> The current number of objects in this cluster.
>
> #### Syntax
>
> \[get: Sansar.Script.Interface]\
> public [uint](http://www.go-mono.com/docs/monodoc.ashx?link=T:System.UInt32) **ObjectPrivateCount** { get; }
>
> **Value**
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### ToString Method

> A string representation of this object.
>
> #### Syntax
>
> \[Sansar.Script.Interface]\
> public override [string](http://www.go-mono.com/docs/monodoc.ashx?link=T:System.String) **ToString** ()
>
> **Returns**
>
> > A string representation of this object.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

***

### ClusterId Struct

Encapsulates an Cluster Id.

### Syntax

\[Sansar.Script.Interface]\
public struct **ClusterId**

### Member Details

#### Equals Method

> Value comparison for ClusterId.
>
> #### Syntax
>
> \[Sansar.Script.Interface]\
> public override [bool](http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean) **Equals** ([object](http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Object) obj)
>
> **Parameters**
>
> > *obj*
> >
> > The object to compare.
>
> **Returns**
>
> > true if the argument is an ClusterId and has the same value.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### GetHashCode Method

> Retrieves the hash code for this instance.
>
> #### Syntax
>
> \[Sansar.Script.Interface]\
> public override [int](http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Int32) **GetHashCode** ()
>
> **Returns**
>
> > The hash code for this instance.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### Invalid Field

> The invalid id object.
>
> #### Syntax
>
> \[Sansar.Script.Interface]\
> public static readonly [ClusterId](https://help.sansar.com/hc/en-us/articles/115003552528) **Invalid**
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### op\_Equality Method

> ClusterId equality operator.
>
> #### Syntax
>
> **Parameters**
>
> > *a*
> >
> > First ClusterId to compare.
> >
> > *b*
> >
> > Second ClusterId to compare.
>
> **Returns**
>
> > true if the ClusterIds have the same value.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### Conversion Method

> Internal explicit conversion from a uint.
>
> #### Syntax
>
> **Parameters**
>
> > *id*
> >
> > A uint representation of an ClusterId
>
> **Returns**
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### op\_Inequality Method

> ClusterId inequality operator.
>
> #### Syntax
>
> **Parameters**
>
> > *a*
> >
> > First ClusterId to compare.
> >
> > *b*
> >
> > Second ClusterId to compare.
>
> **Returns**
>
> > true if the ClusterIds have a different value.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### ToString Method

> Converts the id to a hexadecimal string representation.
>
> #### Syntax
>
> \[Sansar.Script.Interface]\
> public override [string](http://www.go-mono.com/docs/monodoc.ashx?link=T:System.String) **ToString** ()
>
> **Returns**
>
> > The hexadecimal string representation.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

***

### ClusterResource Class

The ClusterResource class represents a cluster that could be added to the scene. See [ScenePrivate.CreateCluster(ClusterResource, Sansar.Vector, Sansar.Quaternion, Sansar.Vector, Sansar.Simulation.ScenePrivate.CreateComplete)](https://help.sansar.com/hc/en-us/articles/115003342683#M:Sansar.Simulation.ScenePrivate.CreateCluster\(Sansar.Simulation.ClusterResource,Sansar.Vector,Sansar.Quaternion,Sansar.Vector,Sansar.Simulation.ScenePrivate.CreateComplete\)).

### Syntax

### Member Details

#### ResourceId Property

> Returns the resource Id of this ClusterResource.
>
> #### Syntax
>
> \[get: Sansar.Script.Interface]\
> public [string](http://www.go-mono.com/docs/monodoc.ashx?link=T:System.String) **ResourceId** { get; }
>
> **Value**
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

#### ToString Method

> A string representation of this object.
>
> #### Syntax
>
> \[Sansar.Script.Interface]\
> public override [string](http://www.go-mono.com/docs/monodoc.ashx?link=T:System.String) **ToString** ()
>
> **Returns**
>
> > A string representation of this object.
>
> #### Remarks
>
> #### Requirements
>
> **Namespace:** Sansar.Simulation\
> **Assembly:** Sansar.Simulation (in Sansar.Simulation.dll)\
> **Assembly Versions:** 1.1.0.0
>
> ***

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sansar.com/latest/script-api-docs/sansar-simulation-namespace/cluster.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
