> 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/eqtracemode.md).

# EQTraceMode

Type description and basic instructions.

### Description

EQTraceMode is base abstract class for all environment query [trace modes](/ai-tree/environment-query-system/useful-objects/environment-query/trace-mode.md).

[Trace modes](/ai-tree/environment-query-system/useful-objects/environment-query/trace-mode.md) 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 [trace mode](/ai-tree/environment-query-system/useful-objects/environment-query/trace-mode.md) you should inherit from EQTraceMode class and implement logic that is described below.

### TryTracePosition

When inheriting from EQTraceMode you have to override TryTracePosition method.

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

* TryTracePosition returns position of traced point.
* TryTracePosition 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).
