Declare actual requirements#
A basic XML mod should not require a library simply because another project uses it. Declare a dependency only when your code or assets need it. The example below requires the Split DLC. When targeting DLC or another extension, also verify its file namespace: the effective path may differ from a base-game path.
<dependency id="ego_dlc_split" optional="false" />Multiple mods can change one attribute#
Two valid diffs may target the same field. The effective loaded document determines the result. Inspect that document and the real game value. Test a minimal dependency set first, then the intended compatibility set, and record exact mod versions for reproduction.
Unique identifiers#
Use an extension prefix for macros, components, wares, MD scripts and UI events. Text pages can conflict too. Renaming a file does not rename the IDs inside it.
X4 updates#
Read Breaking Changes and inspect the actual files in the new build. Internal menu Lua changes may need additional investigation. Repeat a short test for the affected behavior: loading, a property value, UI action or new ship creation. Check save/load separately.