# ObjectChangeEventStream.Builder

> Provides a way to construct an instance of ObjectChangeEventStream.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEditor](/engine/6000.6/script-reference/unityeditor.md)
* **Assembly:** UnityEditor.CoreModule
* **Implements:** [IDisposable](https://learn.microsoft.com/dotnet/api/system.idisposable)

```csharp
public struct ObjectChangeEventStream.Builder : IDisposable
```

## Constructors

| Constructor                                                                                                                 | Description                |
| --------------------------------------------------------------------------------------------------------------------------- | -------------------------- |
| [Builder(Unity.Collections.Allocator)](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/ctor.md) | Constructs a new instance. |

## Properties

| Property                                                                                                | Description                                                           |
| ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [eventCount](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/eventcount.md) | The number of events that have been recorded in this instance so far. |

## Methods

| Method                                                                                                                                                                          | Description                                                                                                                                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Dispose](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/dispose.md)                                                                               | Releases the memory associated with this instance.                                                                                                                                |
| [PushChangeAssetObjectPropertiesEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushchangeassetobjectpropertiesevent.md)                     | Adds an [ChangeAssetObjectPropertiesEventArgs](/engine/6000.6/script-reference/unityeditor/changeassetobjectpropertieseventargs.md) to the end of the stream.                     |
| [PushChangeGameObjectOrComponentPropertiesEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushchangegameobjectorcomponentpropertiesevent.md) | Adds an [ChangeGameObjectOrComponentPropertiesEventArgs](/engine/6000.6/script-reference/unityeditor/changegameobjectorcomponentpropertieseventargs.md) to the end of the stream. |
| [PushChangeGameObjectParentEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushchangegameobjectparentevent.md)                               | Adds an [ChangeGameObjectParentEventArgs](/engine/6000.6/script-reference/unityeditor/changegameobjectparenteventargs.md) to the end of the stream.                               |
| [PushChangeGameObjectStructureEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushchangegameobjectstructureevent.md)                         | Adds an [ChangeGameObjectStructureEventArgs](/engine/6000.6/script-reference/unityeditor/changegameobjectstructureeventargs.md) to the end of the stream.                         |
| [PushChangeGameObjectStructureHierarchyEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushchangegameobjectstructurehierarchyevent.md)       | Adds an [ChangeGameObjectStructureHierarchyEventArgs](/engine/6000.6/script-reference/unityeditor/changegameobjectstructurehierarchyeventargs.md) to the end of the stream.       |
| [PushChangeSceneEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushchangesceneevent.md)                                                     | Adds an [ChangeSceneEventArgs](/engine/6000.6/script-reference/unityeditor/changesceneeventargs.md) to the end of the stream.                                                     |
| [PushCreateAssetObjectEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushcreateassetobjectevent.md)                                         | Adds an [CreateAssetObjectEventArgs](/engine/6000.6/script-reference/unityeditor/createassetobjecteventargs.md) to the end of the stream.                                         |
| [PushCreateGameObjectHierarchyEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushcreategameobjecthierarchyevent.md)                         | Adds an [CreateGameObjectHierarchyEventArgs](/engine/6000.6/script-reference/unityeditor/creategameobjecthierarchyeventargs.md) to the end of the stream.                         |
| [PushDestroyAssetObjectEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushdestroyassetobjectevent.md)                                       | Adds an [DestroyAssetObjectEventArgs](/engine/6000.6/script-reference/unityeditor/destroyassetobjecteventargs.md) to the end of the stream.                                       |
| [PushDestroyGameObjectHierarchyEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushdestroygameobjecthierarchyevent.md)                       | Adds an [DestroyGameObjectHierarchyEventArgs](/engine/6000.6/script-reference/unityeditor/destroygameobjecthierarchyeventargs.md) to the end of the stream.                       |
| [PushUpdatePrefabInstancesEvent](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/pushupdateprefabinstancesevent.md)                                 | Adds an [UpdatePrefabInstancesEventArgs](/engine/6000.6/script-reference/unityeditor/updateprefabinstanceseventargs.md) to the end of the stream.                                 |
| [ToStream](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream/builder/tostream.md)                                                                             | Copies the data collected in this instance into a new [ObjectChangeEventStream](/engine/6000.6/script-reference/unityeditor/objectchangeeventstream.md) instance.                 |
