---
name: "Eden Editor: System"
type: topic
aliases: ["Eden Editor: Systems"]
source: https://community.bistudio.com/wiki/Eden_Editor:_System
revid: 338898
updated: 2023-04-16T14:04:40Z
---

# Eden Editor: System

A system is a virtual object which can help expand your scenario with a new functionality.

### Modules

A **module** provides complex functionality which would otherwise have to be scripted. It can usually be configured using custom attributes, and can sometimes be affected by **synchronization** connections. For example, many modules are activated only once all the synchronized triggers are active. To see more about the individual modules, explore their attributes.

### Logic Entities

A **logic entity** is simply a virtual object without any inherent functionality. It is mainly used in cooperation with modules or scripts, for example, to mark positions and their relations.

### Virtual Entities

Some **virtual entities** are playable. They are used in multiplayer for abstract roles such as a spectator or headless client.

Be sure to investigate all the available systems, especially [Modules](../topics/Modules.md). Because each has its own rules, do not forget to also check their attributes.

### Attributes

| Info |  |  | [Development](../topics/Eden_Editor~3A_Setting_Attributes.md) |  |
|---|---|---|---|---|
| Name | Category | Description | Property | Type |
| **Type** | Type |  | `itemClass` | [String](../topics/String.md) |
| **Variable Name** | Init | Unique system name. Can contain only letters, numbers and underscore. The name is not case sensitive, so 'someName' and 'SOMENAME' are treated as the same variables. | `Name` | [String](../topics/String.md) |
| **Init** | Init | Expression called upon at start. In multiplayer, it is called on every machine and for each player who joins in the progress. The variable 'this' refers to the affected object. | `Init` | [String](../topics/String.md) |
| **Position** | Transformation | World coordinates in meters. X goes from West to East, Y from South to North and Z is height above terrain. | `position` | [Position3D](../topics/Position.md#introduction) |
| **Rotation** | Transformation | Local rotation in degrees. X is pitch, Y is roll and Z is yaw. | `rotation` | [Array](../topics/Array.md) |
| **Size** | Transformation | Area size in meters. | `size2` | [Array](../topics/Array.md) |
| **Size** | Transformation | Area size in meters. | `size3` | [Array](../topics/Array.md) |
| **Shape** | Transformation | Area shape.<br>Available options:<br>- **Ellipse**<br>- **Rectangle** | `IsRectangle` | [Boolean](../topics/Boolean.md) |
| **Placement Radius** | Transformation | Placement radius in meters. The entity will start at a random position within the radius. | `placementRadius` | [Number](../topics/Number.md) |
| **Player** | Control | Player in singleplayer. When enabled, the character will also be available in multiplayer and team switch ('Playable' status cannot be disabled individually in such case). | `ControlSP` | [Boolean](../topics/Boolean.md) |
| **Playable** | Control | When enabled, the character will appear as a slot in the multiplayer scenario lobby and in the list of roles available for team switch. | `ControlMP` | [Boolean](../topics/Boolean.md) |
| **Role Description** | Control | Multiplayer role description visible in the multiplayer lobby. When undefined, the object type name will be used by default. | `description` | [String](../topics/String.md) |
| **Probability of Presence** | Presence | Probability of presence evaluated at the scenario start. When it fails, the object is not created at all. | `presence` | [Number](../topics/Number.md) |
| **Condition of Presence** | Presence | Condition of presence evaluated at the scenario start, must return boolean expression. When false, the object is not created at all. | `presenceCondition` | [String](../topics/String.md) |

<sub>Source: [BI Community Wiki — Eden Editor: System](https://community.bistudio.com/wiki/Eden_Editor:_System) (revision 338898).</sub>
