> For the complete documentation index, see [llms.txt](https://renownedgames.gitbook.io/ai-tree/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://renownedgames.gitbook.io/ai-tree/api/runtime/eqgenerator.md).

# EQGenerator

Type description and basic instructions.

### Description

EQGenerator is base abstract class for all environment query [generators](/ai-tree/environment-query-system/useful-objects/environment-query/generator.md).

Generators are used to define shape of area that is covered by [EQS](/ai-tree/environment-query-system/quick-start.md).

To create a environment query [generator](/ai-tree/environment-query-system/useful-objects/environment-query/generator.md) you should inherit from EQGenerator class and implement logic that is described below.

### GeneratePoints

When inheriting from EQGenerator you have to override GeneratePoints method.

<pre class="language-csharp"><code class="lang-csharp"><strong>public class ExampleEQGenerator : EQGenerator
</strong>{
    public override IEnumerable&#x3C;Vector3> GeneratePoints()
    {
        throw new System.NotImplementedException();
    }
}
</code></pre>

* GeneratePoints returns positions of all generated points.
* GeneratePoints gets called when [Environment Query](/ai-tree/environment-query-system/useful-objects/environment-query.md) object generates [items](/ai-tree/environment-query-system/items.md).
