New here? Advent Angels - Steam Workshop is the project these posts track.
I’ve been quietly working on a huge upgrade to Advent Angels’ Mod Config Menu (MCM). This isn’t just polish — it’s a whole new toolkit for how Advent Angels runs in-game.
Realtime Reskin API — change reskins mid-tactical, without a relaunch. (The old method already allowed mid-campaign changes, but this goes further.) It even opens the door for new tricks, like randomizing previously unisex enemies (Archons now, Sectoids later).
Better Layout & UX — reorganized options, clearer grouping, smoother flow.
Built-in MCM Help Guide — an in-game quick-start + reference guide.
sjbb-code Parser — my custom markup system powering the in-MCM guide. The real challenge is getting it adequate and unbuggy enough that it “just works.” And if it lands the way I want to, it could be something other modders plug into their own projects.
Until now, Advent Angels’ configurability has been limited by external restarts and clunky menus. This overhaul delivers:
Speed — reskins update instantly, right inside missions.
Flexibility — toggle, mix, and randomize in new ways.
Clarity — help text and guides built straight into the menu.
Here's a sneak-peek at what sort of in-game guide UI can be expected.

For the techy devs, here's the code that fuels it. It goes in localization files & the API handles retrieving it with the same syntax as a normal Localize() call.
HELP_PAGE_1_HEADER = "Advent Angels – MCM Guide (Page 1/2)"
HELP_PAGE_1_BODY[0] = "[h2]Quick Start Guide[/h2]"
HELP_PAGE_1_BODY[1] = "These are the [color=yellow]canonical settings[/color] intended for use with the mod.[br]"
HELP_PAGE_1_BODY[2] = "They’re a solid baseline, but almost everything can be mixed and matched.[br]"
HELP_PAGE_1_BODY[3] = "[*] [color=green]Mod Enabled[/color]: On [color=grey](default)[/color]; [color=green]Runtime Reskin[/color]: On [color=grey](default)[/color]; [color=green]Chance[/color]: 100% [color=grey](default)[/color][br]"
HELP_PAGE_1_BODY[4] = "[*] [color=green]Replace These Genders[/color]: All Genders [color=grey](default)[/color]; [color=green]Set Unisex To[/color]: Female [color=grey](default)[/color][br]"
HELP_PAGE_1_BODY[5] = "[h2]Tips[/h2]"
HELP_PAGE_1_BODY[6] = "[*] [color=yellow]Consistency[/color]: Runtime + All Genders + 100%.[br]"
HELP_PAGE_1_BODY[7] = "[*] [color=yellow]Variety[/color]: Simply lower the chance for a mix each mission.[br]"
HELP_PAGE_1_BODY[8] = "[*] [color=yellow]Precision[/color]: Use the target genders/mods/families to target exactly what you want.[br]"
HELP_PAGE_1_BODY[9] = "[color=grey]Note: The [/color][color=good]Reset[/color][color=grey] button can be used to instantly return to the baseline.[br]"
HELP_PAGE_1_BODY[10] = "[h3]Support Advent Angels[/h3]"
HELP_PAGE_1_BODY[11] = "[color=grey]\"You would never fund Advent propaganda, Commander... Would you?\"[/color][br]"
HELP_PAGE_1_BODY[12] = "[color=good]www.patreon.com/SurferJay[/color]"
Update: Here's a preview of the second page of the MCM guide.

There’s still plumbing to do — especially stress testing the sjbb-code parser and wiring up the mapping and rules layers for the Realtime Reskin API. Right now, my proof-of-concept is working with a hardcoded mapping, but it can already reskin everything (original spawns, reinforcements, drop units, even cinematic pawns). Next step is making that fully data-driven.