Practical BAR Modding Notes: tweakunits, Build Options, and Common Pitfalls

BAR's modding tools are powerful but poorly documented. Here's what actually works when you start messing with tweakunits, buildoptions, and Lua configs.

Tags: modding · tweakunits · buildoptions · lua · beyond all reason

Why BAR Modding Feels So Opaque

The documentation gap is real. You open the game wanting to tweak a unit, and there is no official wiki page, no organized command reference, and no lobby tweak list that lives outside pinned chat messages. Most modding knowledge bounces around Discord pins and GitHub issues. That gap is closing slowly as more people share what they figure out.

The good news is the core tools work reliably once you understand a few gotchas. The tools covered here are tweakunits for in-lobby unit modifications and the underlying Lua unit definitions.

tweakunits and the Legion Bot Constructor Gotcha

A common issue shows up when modifying the Legion bot constructor (legck) through tweakunits. The legck unit lacks numbered build options, which breaks assumptions that work fine on Arm and Core constructors. If you try to strip AA turrets or a sea lab from a T1 bot build and get garbled results, this is usually why.

What works instead: reference the legck buildoptions array directly from the source on GitHub. Modify entries at the array level rather than relying on numbered slot references. Arm and Core com modifications behave predictably because those definitions use a different build option structure.

If you are building an infantry simulator tweak that needs Legion support, remove build options by editing the buildoptions table entries rather than trying to reference slots that do not exist.

Finding BAR Modding Documentation

There is no single comprehensive modding reference. Instead, use these sources in order:

  • GitHub source code - Every unit definition lives under units/ in the Beyond-All-Reason repo. Read the .lua files directly when you need buildoptions, weapon specs, or movement values.
  • Discord pinned messages - The BAR community server maintains pinned modding threads with lobby commands, tweak syntax, and Base64 configuration strings. This is currently the most practical starting point.
  • Lobby command list - Available in pinned messages. Look for tweak and options commands before experimenting with custom lobby strings.

Custom Voice Lines and Multiplayer

Custom voice lines work in single player without issue. Multiplayer is where things get complicated. Custom voice content loads only for the host, which means other players will not hear your custom lines in a standard multiplayer match. If you get an error switching from 32-bit to 16-bit audio for voice lines, check that the format matches what Spring expects on the host side.

Practical rule: test custom audio in single player first, then accept that multiplayer use is host-only unless the entire lobby loads the same config.

Avoidable tweakdefs Errors

Two categories of mistakes show up repeatedly. Build option references that assume numbered slots when a unit uses an unnumbered array. File format mismatches on custom audio. Fix both by reading the unit definition file before modifying and testing audio changes locally before pushing to multiplayer.

Creed of Champions

Clear information and clean execution help teams improve without pointless blame. The modding learning curve is steep because documentation is scattered, but the community fills that gap when people share what works.

"Creed of Champions is a great place to learn and play BAR in a friendly atmosphere. Training sessions, team gameplay, even some non-BAR stuff. Large cross section of abilities, time zones, and game mode interests."

Advertisement