{"name":"Eden Editor: Custom Connections","title":"Eden Editor: Custom Connections","type":"topic","url":"https://community.bistudio.com/wiki/Eden_Editor:_Custom_Connections","revid":379540,"updated":"2026-10-31T10:44:33Z","aliases":[],"markdown":"Since Arma 3 v2.10 it is possible to create custom connections.\n\n### Config\n\n```cpp\nclass Cfg3DEN\n{\n    class Connections\n    {\n        class TAG_CustomConnection\n        {\n            displayName = \"Set Custom Connection\";\n            condition1 = \"marker * script1\";\n            condition2 = \"objectAI\";\n            conditionScript1 = \"markerType _this == 'hd_dot'\";\n            property = \"TAG_CustomConnection\";\n            data = \"TAG_CustomConnection\";\n            color[] = { 1, 0, 1, 1 };\n            cursor = \"3DENConnectSync\";\n            expression = \"hint str [_entity0, _entity1, _type];\";\n        };\n    };\n};\n```\n\n#### Properties\n\n| Property | Description | Data type |\n|---|---|---|\n| displayName | Display name of the connection shown in the context menu | String |\n| condition1 | Simple expression | String |\n| condition2 | Simple expression | String |\n| Arma 3 v2.22 conditionScript1 | Scripted condition that needs to return a Boolean. It is only evaluated if simple expression `script1` is used inside `condition1`. The entity is available in the `_this` variable. | String |\n| Arma 3 v2.22 conditionScript2 | Scripted condition that needs to return a Boolean. It is only evaluated if simple expression `script2` is used inside `condition2`. The entity is available in the `_this` variable. | String |\n| property | Custom property name. Must be unique | String |\n| data | Needs to be the same as the class name. It is passed to event handlers and used in add3DENConnection as well as inside the _data variable in the expression | String |\n| color[] | Color | Array |\n| cursor | Cursor that is shown when connecting entities | String |\n| expression | *_this* is array of source entities, *_target* is target entity. The expression is called on the server after all other entity expressions.<br>- _entity0: Object or String - The entity the connection started from<br>- _entity1: Object or String - The second entity<br>- _type: String - The `data` entry from the connection's config | String |\n| value | An internal bit flag. Set it to 0 to always show the item in the root of the config menu. Otherwise ignore it | Number |\n\n### Simple Expressions\n\nSimple expressions for custom connections.\n\n| Condition | Description |\n|---|---|\n| Object | Any object |\n| ObjectBrain | Object with simulation \"soldier\" or \"UAVpilot\" |\n| ObjectVehicle | Any vehicle |\n| Group | Any group |\n| Trigger | Any trigger |\n| Waypoint | Any waypoint |\n| Logic | Any logic or system |\n| Marker | Any marker |\n| Arma 3 v2.22 Script1 | Contains sqf condition defined in `conditionScript1` property |\n| Arma 3 v2.22 Script2 | Contains sqf condition defined in `conditionScript2` property |","sections":[{"heading":null,"level":1,"markdown":"Since Arma 3 v2.10 it is possible to create custom connections."},{"heading":"Config","level":3,"markdown":"```cpp\nclass Cfg3DEN\n{\n    class Connections\n    {\n        class TAG_CustomConnection\n        {\n            displayName = \"Set Custom Connection\";\n            condition1 = \"marker * script1\";\n            condition2 = \"objectAI\";\n            conditionScript1 = \"markerType _this == 'hd_dot'\";\n            property = \"TAG_CustomConnection\";\n            data = \"TAG_CustomConnection\";\n            color[] = { 1, 0, 1, 1 };\n            cursor = \"3DENConnectSync\";\n            expression = \"hint str [_entity0, _entity1, _type];\";\n        };\n    };\n};\n```"},{"heading":"Properties","level":4,"markdown":"| Property | Description | Data type |\n|---|---|---|\n| displayName | Display name of the connection shown in the context menu | String |\n| condition1 | Simple expression | String |\n| condition2 | Simple expression | String |\n| Arma 3 v2.22 conditionScript1 | Scripted condition that needs to return a Boolean. It is only evaluated if simple expression `script1` is used inside `condition1`. The entity is available in the `_this` variable. | String |\n| Arma 3 v2.22 conditionScript2 | Scripted condition that needs to return a Boolean. It is only evaluated if simple expression `script2` is used inside `condition2`. The entity is available in the `_this` variable. | String |\n| property | Custom property name. Must be unique | String |\n| data | Needs to be the same as the class name. It is passed to event handlers and used in add3DENConnection as well as inside the _data variable in the expression | String |\n| color[] | Color | Array |\n| cursor | Cursor that is shown when connecting entities | String |\n| expression | *_this* is array of source entities, *_target* is target entity. The expression is called on the server after all other entity expressions.<br>- _entity0: Object or String - The entity the connection started from<br>- _entity1: Object or String - The second entity<br>- _type: String - The `data` entry from the connection's config | String |\n| value | An internal bit flag. Set it to 0 to always show the item in the root of the config menu. Otherwise ignore it | Number |"},{"heading":"Simple Expressions","level":3,"markdown":"Simple expressions for custom connections.\n\n| Condition | Description |\n|---|---|\n| Object | Any object |\n| ObjectBrain | Object with simulation \"soldier\" or \"UAVpilot\" |\n| ObjectVehicle | Any vehicle |\n| Group | Any group |\n| Trigger | Any trigger |\n| Waypoint | Any waypoint |\n| Logic | Any logic or system |\n| Marker | Any marker |\n| Arma 3 v2.22 Script1 | Contains sqf condition defined in `conditionScript1` property |\n| Arma 3 v2.22 Script2 | Contains sqf condition defined in `conditionScript2` property |"}],"categories":["Eden Editor: Modding"],"groups":["Mission Editing"]}