The single most important change to xui.xml (the file that defines window_group entries) is the removal of the <ruleset> layer. Both XUi_InGame/xui.xml and XUi_Menu/xui.xml changed in the same way.
Key Changes
- Simplified hierarchy
- Old:
<xui><ruleset name="default" scale="1.255" ...>...window_group...</ruleset></xui> - New:
<xui scale="1.255" stackpanel_scale="1.05">...window_group...</xui>(rulesetis gone,ignore_missing_classis gone too, and attributes likescalehave been promoted to the root element)
- Old:
- Attributes are now all lowercase:
defaultSelected→defaultselected,actionSet→actionset(this affects everywindow_group) - New
always_update="true": added to thecraftingandradialwindow_groups - Added window_groups:
combine,workstation_forge_nosmelting,popupMenu(split out fromtoolTip),bagStorage(replaces the oldvehicleStorage),signGallery/signEditor,sandboxOptions, and more - Removed/replaced:
vehicleStorage→bagStorage, and editing-related windows such asbugReportWindowhave been cleaned up
Impact on MODs
- Any xpath rooted at
/xui/ruleset/...will completely break. Since there is no longer arulesetnode, expressions like/xui/ruleset/window_group[@name='character']will miss. Use/xui/window_group[@name='character']instead. - Attribute selectors that key on
@defaultSelected/@actionSetmust all be switched to@defaultselected/@actionset(lowercase). - If you add your own tabs/screens as a
window_group, fix their placement to sit directly under/xui, and move your patch location fromConfig/XUi/xui.xml→Config/XUi_InGame/xui.xml(orXUi_Menufor the menu side). - If you depend on removed group names such as
vehicleStorage, you will hit broken references (switch tobagStorage).
Reference: Example Diff
-<xui>
- <ruleset name="default" scale="1.255" stackpanel_scale="1.05" ignore_missing_class="false">
- <window_group name="crafting" ... defaultSelected="bp.content">
+<xui scale="1.255" stackpanel_scale="1.05">
+ <window_group name="crafting" ... defaultselected="bp.content" always_update="true">
...
- </ruleset>
-</xui>
+</xui>
*Based on investigation performed right after applying the experimental build (equivalent to B252).
Related: List of MOD-making articles