--- title: engine summary: X4 interface reference. Types are established only within the stated scope. section: reference kind: api status: reference updated: 2026-10-26 tags: ["API","X4"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/","https://www.lua.org/manual/5.1/manual.html","https://luajit.org/ext_ffi_api.html"] --- ## Return value | Type | Meaning | | --- | --- | | [`none`](wiki:type-results) (MD action) | Types describe the declared interface, not proof of a successful game effect. | [Types and methods](wiki:types) ## XML attributes [How schema types work](wiki:schema-types) `libraries/common.xsd` | Attribute | Schema type | Required | Default / fixed | | --- | --- | --- | --- | | `ware` | [`expression`](wiki:schema-expression-b8bc0e4f) | yes | not declared | `libraries/common.xsd` | Attribute | Schema type | Required | Default / fixed | | --- | --- | --- | --- | | `macro` | [`namestring`](wiki:schema-namestring-3646b03f) | yes | not declared | | `path` | [`namestring`](wiki:schema-namestring-3646b03f) | no | not declared | | `optional` | [`boolean`](wiki:schema-boolean-bf84d3d6) | no | not declared | | `ammunition` | [`namestring`](wiki:schema-namestring-3646b03f) | no | not declared | | `weaponmode` | [`extendedweaponmodelookup`](wiki:schema-extendedweaponmodelookup-6bdd43be) | no | not declared | | `debug` | [`boolean`](wiki:schema-boolean-bf84d3d6) | no | not declared | `libraries/gamestarts.xsd` | Attribute | Schema type | Required | Default / fixed | | --- | --- | --- | --- | | `ware` | [`xs:string`](wiki:schema-xs-string-d5652e9b) | no | not declared | | `comment` | [`comment`](wiki:schema-comment-c44bb2fd) | no | not declared | `libraries/parameters.xsd` | Attribute | Schema type | Required | Default / fixed | | --- | --- | --- | --- | An MD action can write to a named variable or change the world. This is not a Lua return value. The output variable depends on the action and its attributes. ## Example and context See [language basics](wiki:x4-code-basics), [types and methods](wiki:types) and [Lua / MD events](wiki:md-lua-bridge). Examples there are independent learning examples. No project source files or private implementation fragments are distributed with this reference.