# GarbageCollector

> API to control the garbage collector on the Mono and IL2CPP scripting backends.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine.Scripting](/engine/6000.6/script-reference/unityengine/scripting.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public static class GarbageCollector
```

## Remarks

See [GarbageCollector.GCMode](/engine/6000.6/script-reference/unityengine/scripting/garbagecollector/gcmode.md) for how to change the global garbage collector operation mode.

## Static Properties

| Property                                                                                                                                     | Description                                                                              |
| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| [GCMode](/engine/6000.6/script-reference/unityengine/scripting/garbagecollector/gcmode.md)                                                   | Set and get global garbage collector operation mode.                                     |
| [incrementalTimeSliceNanoseconds](/engine/6000.6/script-reference/unityengine/scripting/garbagecollector/incrementaltimeslicenanoseconds.md) | The target duration of a collection step when performing incremental garbage collection. |
| [isIncremental](/engine/6000.6/script-reference/unityengine/scripting/garbagecollector/isincremental.md)                                     | Reports whether incremental garbage collection is enabled.                               |

## Static Methods

| Method                                                                                                             | Description                                                                                                          |
| ------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| [CollectIncremental](/engine/6000.6/script-reference/unityengine/scripting/garbagecollector/collectincremental.md) | Perform an on-demand incremental garbage collection for a maximum duration specified by the `nanoseconds` parameter. |

## Static Events

| Member                                                                                                   | Description                                                                                                                                                       |
| -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [GCModeChanged](/engine/6000.6/script-reference/unityengine/scripting/garbagecollector/gcmodechanged.md) | Subscribe to this event to get notified when [GarbageCollector.GCMode](/engine/6000.6/script-reference/unityengine/scripting/garbagecollector/gcmode.md) changes. |

## Enums

| Enum                                                                                                    | Description                       |
| ------------------------------------------------------------------------------------------------------- | --------------------------------- |
| [GarbageCollector.Mode](/engine/6000.6/script-reference/unityengine/scripting/garbagecollector/mode.md) | Garbage collector operation mode. |
