# Assembly Definitions

Unity gives the possibility to organize organize Scripts into different assemblies by using Assembly Definitions. See also the Unity Documentation:

{% embed url="<https://docs.unity3d.com/Manual/ScriptCompilationAssemblyDefinitionFiles.html>" %}

If you use external libraries within realvirtual.io which are not installed with realvirtual.io you must include these external libraries into the top assembly definition of realvirtual.io.

If you are programming your own scripts, it might be necessary to include Realvirtual.io into your own assembly definition to get access to the realvirtual.io (before 2022 game4automation) assemblies.\
Game4Automation is using the following assemblies:

| Assembly defintion name                      | Description                                       |
| -------------------------------------------- | ------------------------------------------------- |
| realvirtual.base                             | Base assembly for all realvirtual.io functions    |
| realvirtual.editor                           | realvirtual.io functions which run in editor mode |
| realvirtual.interfaces.opocua                | OPCUA interface                                   |
| realvirtual.interfaces.opocua.editor         | OPCUA editor mode                                 |
| realvirtual.interfaces.plcsimadvanded        | PLCSIM Advanced interface                         |
| realvirtual.interfaces.plcsimadvanded.editor | PLCSIM Advanced editor mode                       |
| realvirtual.interfaces.s7tcpip               | S7 TCPIP interface                                |
| realvirtual.interfaces.s7tcpip.editor        | S7 TCPIP editor                                   |
| realvirtual.interfaces.sharedmemory          | Shared Memory interface                           |
| realvirtual.interfaces.sharedmemory.editor   | Shared Memory editor                              |
| realvirtual.cadlink                          | CADlink                                           |
|                                              |                                                   |

\\


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.realvirtual.io/advanced-topics/for-developers/assembly-definitions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
