Unbacom has a history of breaking things. In the past year or so it has regularly caused bugs with gridmenu, buildmenu, and pregame building. This alone was quite bad, but in the past couple of days unbacom completely broke Barb AI, causing a ton of confusion and a flood of bug reports.
Unbacom basically works by having a super unit from the start, it has all the weapons, damage, and buildoptions. Then, as milestones are reached it levels up, and it does so by going through and unlocking some of these buildoptions and weapons. So what’s wrong with that? Well, this is the only unit in BAR that works this way, and none of the systems of the game are made to work with it. So instead of it just being a unit that got enabled when this option was turned on, it had code spread far and wide throughout the game to give custom handling for this specific unit.
This was mostly located in gridmenu, buildmenu, pregame, and unit stats display. Over the last year or so, myself and others have tracked down and fixed a lot of these bugs, but this kind of maintenance overhead for what should be a simple unit was becoming more and more laborious. And then recently, Barb AI broke because of it - for the similar reasons as the other cases, Barb saw this nice huge buildlist that unbacom had, and would try to make some of those things, but because of the custom handling spread throughout the codebase, it got denied, and would basically get stuck in a loop trying to build something that other parts of the code wouldn’t let it.
Now, this bug could be fixed. And indeed, many bugs like this have been fixed in the past. But it was decided that the maintenance cost, as well as the regular regressions and bug reports caused by it was too high to allow it to remain.
Unbacom isn’t being barred (heh) from the game, if the technical issues described above can be addressed by a willing and capable volunteer, there is a good chance it will get added back. Since the creation of unbacom, there’s been a new evolving unit on the field: legion com. Instead of doing what unbacom did and having a bunch of custom code spread around for the different levels, legion com is literally just a bunch of different units, each with their own buildlists and weapons. So now, instead of having custom handling in tons of different core parts of the codebase, it can just swap the unit out for a different one, and all these systems will treat it exactly the same as they treat any other unit.
This won’t be a simple task however, it will amount to being a complete rewrite of unbacom from the ground up. But if you think you can do this, don’t hesitate to volunteer!