I think OP mentions this at the start of the post but the ability to create "OOB hierarcy templates" would be nice. Say I have 3 templates:
1-Infantry Regiment HQ
2-Infantry Battalion HQ
3-Infantry company
Say I intend to create the following OOB:
Infanty Regiment HQ
Infantry Battalion HQ
Infantry Company
Infantry Company
Infantry Company
Infantry Battalion HQ
Infantry Company
Infantry Company
Infantry Company
Currently I would order the training of the required formations and manually create the OOB every single time I want to train this infantry regiment.
With the ability to design an "OOB template", I would be able to define an "Infantry Regiment", much like the OOB menu, the designer would allow me to select the formations that I have designed (as opposed to built) and much like the normal OOB allow me to define the hierarchy (maybe allow artillery support to be defined as well?) of the OOB template. Once designed, in the GU build menu I would be able to order the construction of this "Infantry Regiment". This would create 9 build tasks; the regiment hq, 2 battalion hqs and 6 infantry companies.
The one problem left is how to handle automatically organizing the OOB this template. Here are the issues we have:
a - not every formation will finish training at the same time: What happens if the companies are trained first?
b - if the regiment hq is trained first, and for some reason it is moved away from the training population, what happens to the rest?
For a:
For the OOB template designer to accept a template, its hierarchy must have a clearly defined "root formation". In the example I showed this would be the regiment hq formation. This means that all other formations will have something to attach under - the battalions will "remember" their intended parent regiment hq and the companies will remember their parent battalion hqs.
To facilitate this tracking, any formation unit that is built using a OOB template (as opposed to directly using its formation template) will have an "intended parent" formation. If a formation is on the same population as its "intended parent", it automatically assigns itself under (assuming that it is a valid assignment) said parent and clears its tracker. The best way of doing this is to have the "intended parent" be a part of the UI that the player can influence. This means that if I changed my mind I can clear the intended parent. Likewise if I am training a division HQ and I want my already trained brigades to immediately attach once the division is done, I can set that field to the division in the construction menu (this is kind of an extension of the feature at this point).
This should make it feasible for me to queue up the training of lets say 100 fully fledged divisions with completely custom hierarchies and only make me have to do the support relationships manually. I do believe that it would be easy to extend this feature to also have the OOB template remember artillery support relationships as well. Just add an "will be supporting/intended support" field much in the same vain as "intended parent". The main problem is that we are bloating the UI with all these fields that the player can interact with but im not a professional GUI designer.
Whats important about this is that it maintains Steve's vision of not wanting formations to be "set" to a template. Changing an OOB template will not affect any formations that are in training. This is also in no way mutually exclusive with or intended to replace the current formation template designer, it will work alongside it. I can still train individual formations if I choose to.
For b:
This is inter-related with a, and as such is solved through the way that I outline the tracking would work. If the parent is not present on that population then the formation in question will be an independent formation with its "intended parent" set to whatever formation it is supposed to be. So if their intended parent returns to the same body it will then assign, assuming the player has not changed that field.