Custom strategic icons and formation presets in beyond all reason

How to change unit strategic icons, adjust their sizes, and build custom formation widgets in BAR.

Tags: beyond all reason modding, strategic icons, unit formations, widget guide, custompresets

Changing strategic icons in BAR

Strategic icons appear on the minimap and above units to help identify them at a glance. Customizing them requires dropping icon images into the Beyond All Reason/icons directory. The game reads them from there and applies them to matching units.

The issue most players hit is icon sizing. Placing custom icons in the icons folder does not automatically tell the game how to scale them. The gadget responsible, luarules/gadgets/unit_customicons.lua, assigns sizes globally instead of per-icon. This means every custom icon gets the same size treatment regardless of how the original was designed.

Fixing icon size inconsistency

The global sizing comes from how the gadget handles icon scaling. Unlike keybind configurations in bar_hotkeys_custom.lua which are local to each key, icon sizes route through a shared parameter. There is no built-in per-icon size override available through simple config.

Workarounds include preparing your icon images at the correct resolution before placing them in the icons folder, or modifying the gadget code to accept a sizing table alongside the icon mapping. The second approach requires touching Lua code in the gadget but gives full control.

Custom formation presets

BAR ships with basic formation controls via CTRL+SHIFT+Z/X. These handle simple shapes. Players wanting precise grid formations like tanky defensive walls need something more expressive.

Building a custom formation widget involves a few Spring API steps:

  • Track selected units and their unit definitions
  • Define a grid of target positions
  • Issue move commands to each unit toward its assigned grid slot
  • Use Spring.GiveOrderToUnit() for precise positioning rather than relying on the engine formation system

The difficult part is interacting with building blueprints and grids. Spring does not expose a direct blueprint grid API for widgets. The workaround is calculating positions mathematically based on unit dimensions and spacing preferences, then issuing individual move orders.

Formation use cases

Custom formations matter most in defense scenarios. A standard CTRL+SHIFT+Z spread leaves gaps that T1 units exploit. A tighter formation with calculated spacing reduces raid effectiveness. The key is matching unit footprint sizes to the grid slots so nothing overlaps and nothing has dead space.

Start with a single unit type formation, like a line of juggernauts or a wall of shield bearers. Once the grid calculation works for one type, generalize it to mixed compositions.

Train with people who share setups

Custom widgets and formations are the kind of setup knowledge that spreads fastest within an active community. Creed of Champions runs training sessions and team gameplay where members swap configuration files and formation presets. Experienced modders in the group can also help troubleshoot gadget code when icons or formations misbehave.

[Crd] Gaming actually fulfills a human purpose here - cooperation, mutual upbuilding, fun and striving for greatness together. Instead of random anonymity, you meet, learn from, and enjoy real people.

Serious RTS play without the toxic baggage. Check out the BAR YouTube channel for formation strategy videos.

Advertisement