# GeneratorInstance.ICapabilities

> Describes the runtime behaviour of the GeneratorInstance. These reported values are cached in the beginning and assumed to not change.

## Definition

* **Type:** Interface
* **Namespace:** [UnityEngine.Audio](/engine/6000.6/script-reference/unityengine/audio.md)
* **Assembly:** UnityEngine.AudioModule

```csharp
public interface GeneratorInstance.ICapabilities
```

## Remarks

This must be implemented identically on both the asset / component / offline version in [IAudioGenerator](/engine/6000.6/script-reference/unityengine/audio/iaudiogenerator.md) and the runtime instance [GeneratorInstance.IRealtime](/engine/6000.6/script-reference/unityengine/audio/generatorinstance/irealtime.md). This is so that offline tooling and asset management can reason about the content in advance, and the engine identically so without depending on loading each other.

## Properties

| Property                                                                                                      | Description                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [isFinite](/engine/6000.6/script-reference/unityengine/audio/generatorinstance/icapabilities/isfinite.md)     | Return true if this [GeneratorInstance](/engine/6000.6/script-reference/unityengine/audio/generatorinstance.md) is finite, meaning it has a defined length and will terminate eventually.                                                                                       |
| [isRealtime](/engine/6000.6/script-reference/unityengine/audio/generatorinstance/icapabilities/isrealtime.md) | Declare whether this [GeneratorInstance](/engine/6000.6/script-reference/unityengine/audio/generatorinstance.md) must be treated as a source rendering in real time. Realtime generators must be processed at the same sampling rate and buffer size as the system they run in. |
| [length](/engine/6000.6/script-reference/unityengine/audio/generatorinstance/icapabilities/length.md)         | If you know your length in advance, you should set it here. Otherwise it's assumed to end at some point in the future, if [\_isFinite](/engine/6000.6/script-reference/unityengine/audio/generatorinstance/icapabilities/isfinite.md) is set to true.                           |
