{"name":"Arma 3: ORBAT Viewer","title":"Arma 3: ORBAT Viewer","type":"topic","url":"https://community.bistudio.com/wiki/Arma_3:_ORBAT_Viewer","revid":373543,"updated":"2025-05-21T16:36:09Z","aliases":["Arma 3 ORBAT Viewer","ORBAT Viewer"],"markdown":"The ORBAT Viewer can be used to displayed the hiearchy of troops present in a scenario. Inside the ORBAT Viewer pressing <kbd>H</kbd> will toggle the visibility of the UI.\n\n### Config\n\nCfgORBAT can be defined in configFile or missionConfigFile.\n\n```cpp\nclass CfgORBAT\n{\n    class 7thInfantry\n    {\n        id = 7;                                                // Unit ID\n        idType = 2;                                            // Unit ID type\n        side = \"West\";                                        // Unit side from CfgChainOfCommand >> Sides\n        size = \"Division\";                                    // Unit size from CfgChainOfCommand >> Sizes; displays relevant icon above the Type icon\n        type = \"HQ\";                                        // Unit type from CfgChainOfCommand >> Types\n        insignia = \"a3\\missions_f_epa\\data\\img\\orbat\\b_aegis_ca.paa\";    // Unit insignia, displayed in ORBAT background and in tooltip\n        colorInsignia[] = { 0, 0, 0, 1 };                    // Insignia image color (white default), can be either RGBA array, or class from CfgMarkerColors\n        commander = \"Armstrong\";                            // Name of unit commander - can be either direct name or\n                                                            // class from CfgWorlds >> GenericNames (random name from the list is then selected)\n        commanderRank = \"GENERAL\";                            // Rank of unit commander (by default selected based on unit size)\n        tags[] = { \"BIS\", \"USArmy\", \"Kerry\", \"Hutchison\", \"Larkin\" };    // Group tags. When opening ORBAT viewer, user can define what tags will be accepted\n        text = \"%1 Combat Technology Research %3\";            // Custom text and short text, can still use some arguments when defined:\n        // %1 - ID (e.g. \"7th\")\n        // %2 - Type (e.g. \"Infantry\")\n        // %3 - Size (e.g. \"Division\")\n        textShort = \"%1 CTR %3\";\n        texture = \"a3\\ui_f_orange\\data\\displays\\rscdisplayorangechoice\\faction_nato_ca.paa\";    // Custom texture, will replace icon set by 'type' param.\n        color = \"ColorWest\";                                // Custom texture color for texture displayed on the map and in the ORBAT viewer,\n                                                            // will replace color set by 'side' param\n                                                            // Can be either RGBA array, or class from CfgMarkerColors (e.g. color = \"ColorWEST\";)\n        description = \"All of your text would go here.\";    // A brief description of the group or unit\n        assets[] = {                                        // Will display pictures of all available assets to the unit commander:\n            { \"B_Heli_Transport_03_F\", 5 },\n            { \"B_Heli_Light_01_F\", 3 },\n            { \"B_Heli_Light_01_armed_F\", 4 },\n            \"B_Heli_Transport_01_camo_F\"\n        };\n\n        // Can be an array with format {classname, [int active icons], [int greyed out icons]}, or simply a classname\n        //subordinates[] = { \"1stBCT\", \"2ndBCT\" };            // Subordinates, searched on the same level as this class.\n\n        // When 'subordinates' are missing, child classes will be used. They can have their own subs - number of tiers is not limited.\n        class 1stBCT\n        {\n            id = 1;\n            idType = 2;\n            type = \"Helicopter\";\n            size = \"Squadron\";\n            side = \"West\";\n            commander = \"R3vo\";\n            commanderRank = \"Lieutenant\";\n            description = \"All of your text would go here.\";\n            texture = \"a3\\ui_f_orange\\data\\displays\\rscdisplayorangechoice\\faction_nato_ca.paa\";\n            insignia = \"a3\\missions_f_epa\\data\\img\\orbat\\b_aegis_ca.paa\";\n            assets[] =\n            {\n                { \"B_Heli_Transport_03_F\", 5 }\n            };\n        };\n\n        class 2ndBCT: 1stBCT\n        {\n            id = 2;\n            size = \"Division\";\n            commander = \"NATOMen\";\n            assets[] =\n            {\n                { \"B_Heli_Transport_03_F\", 2 }\n            };\n        };\n    };\n};\n```\n\n### Attributes\n\n#### ID Type\n\n- 0 - Ordinal number, e.g. \"7th\" (default)\n- 1 - Roman numeral, e.g. \"VII\"\n- 2 - NATO phonetical alphabet word, e.g. \"Golf\"\n- 3 - Color, e.g. \"Red\"\n\n#### Side\n\n- West\n- East\n- Resistance\n- Civilian\n- Unknown\n\n#### Size\n\n- Army\n- ArmyGroup\n- Battalion\n- BCT\n- Brigade\n- Company\n- Corps\n- Division\n- FireTeam\n- HBCT\n- IBCT\n- Platoon\n- Regiment\n- Section\n- Squad\n- Squadron\n- Troop\n- Size1..11\n\n> [!NOTE]\n> `Size1`..`Size11` will not display a size-icon indicator, such as Ø.\n\n#### Type\n\n- Airborne\n- Armored\n- Artillery\n- Assault\n- AttackRecon\n- AviationSupport\n- Cavalry\n- CombatAviation\n- Fighter\n- GeneralSupport\n- Helicopter\n- HQ\n- Infantry\n- Maintenance\n- Maritime\n- MechanizedInfantry\n- Medical\n- Mortar\n- MotorizedInfantry\n- Recon\n- Service\n- Support\n- UAV\n- Unknown\n\n#### Rank\n\n- Private\n- Corporal\n- Sergeant\n- Lieutenant\n- Captain\n- Major\n- Colonel\n- General\n\n#### Tags\n\nTags are used by BIS_fnc_ORBATOpen. The function will search and classes with given tags.\n\n### ORBAT Group Module\n\n#### CfgORBAT Path\n\nThe group you want to be display on the map.\n\n**Example:**\n\n```sqf\nmissionConfigFile >> \"CfgORBAT\" >> \"unitClassName\" >> \"subordinateUnitClassName\"\n```\n\n#### CfgORBAT Ceiling\n\nThe highest superior unit to display in the ORBAT Viewer while this group is selected. If blank, the **CfgORBAT Path** unit is displayed as the ceiling.\n\n**Example:**\n\n```sqf\nmissionConfigFile >> \"CfgORBAT\" >> \"unitClassName\"\n```\n\n#### Tags\n\nGroups containing at least on of these tags will be added\n\n#### Max. Tiers\n\nDefines how many tiers are are shown.\n\n#### Working Example\n\n- Place a fire team in Eden Editor\n- Place the **ORBAT Group** module\n- Synchronise the module with the group leader\n- Open the module and fill in the following:\n  - CfgORBAT Path: `configFile >> \"CfgORBAT\" >> \"BIS\" >> \"B_1_A_1_2\"`\n  - CfgORBATCeiling: `configFile >> \"CfgORBAT\" >> \"BIS\" >> \"B_1\"`\n- Leave **Max. Tiers** and **Tags** empty\n- Enter the preview mode and open the map\n\n### Create ORBAT Group during Runtime\n\n```sqf\n//Create ORBAT icon\nif isServer then\n{\n    \"ModuleStrategicMapORBAT_F\" createUnit\n    [\n        getPosWorld player,\n        createGroup sideLogic,\n        toString {\n            this setVariable [\"BIS_fnc_initModules_disableAutoActivation\", false, true];\n            this setVariable [\"\"Path\"\", \"\"missionConfigFile >> 'CfgORBAT' >> 'Support'\"\", true]; // ORBAT class that should be displayed\n        }\n    ];\n};\n```\n\n### Texture in missionConfigFile\n\nAs **texture** is treated as a *new* texture (rather than an image, as icon is), the game needs a direct path to it. Example:\n\n```\n\"C:\\Users\\Kerry\\Documents\\Arma 3\\Kerry\\missions\\MyMission.Stratis\\someDirectory\\SomeImage.paa\"\n\"\\ca\\missions_f\\data\\orbat\\customTexture_ca.paa\"\n```\n\nWriting the direct path is not possible in a `CfgORBAT` defined in Description.ext (as the mission changes path on different computers);\nin that case the path to the texture can be defined with the following:\n\n```cpp\n// converts to e.g \"C:\\Users\\Kerry\\Documents\\Arma 3\\Kerry\\missions\\MyMission.Stratis\\someDirectory\\SomeImage.paa\"\ntexture = __EVAL(getMissionPath \"someDirectory\\SomeImage.paa\");\n```\n\n> [!NOTE]\n> See getMissionPath.\n\n### Functions\n\nListed in \"Strategic\" function group:\n\n- BIS_fnc_ORBATAddGroupOverlay\n- BIS_fnc_ORBATAnimate\n- BIS_fnc_ORBATConfigPreview\n- BIS_fnc_ORBATGetGroupParams\n- BIS_fnc_ORBATOpen\n- BIS_fnc_ORBATRemoveGroupOverlay\n- BIS_fnc_ORBATSetGroupFade\n- BIS_fnc_ORBATSetGroupParams\n- BIS_fnc_ORBATTooltip\n\n### See Also\n\n- [Various information about ORBAT Viewer](https://forums.bohemia.net/forums/topic/159943-request-orbat-tutorial/?page=3)","sections":[{"heading":null,"level":1,"markdown":"The ORBAT Viewer can be used to displayed the hiearchy of troops present in a scenario. Inside the ORBAT Viewer pressing <kbd>H</kbd> will toggle the visibility of the UI."},{"heading":"Config","level":3,"markdown":"CfgORBAT can be defined in configFile or missionConfigFile.\n\n```cpp\nclass CfgORBAT\n{\n    class 7thInfantry\n    {\n        id = 7;                                                // Unit ID\n        idType = 2;                                            // Unit ID type\n        side = \"West\";                                        // Unit side from CfgChainOfCommand >> Sides\n        size = \"Division\";                                    // Unit size from CfgChainOfCommand >> Sizes; displays relevant icon above the Type icon\n        type = \"HQ\";                                        // Unit type from CfgChainOfCommand >> Types\n        insignia = \"a3\\missions_f_epa\\data\\img\\orbat\\b_aegis_ca.paa\";    // Unit insignia, displayed in ORBAT background and in tooltip\n        colorInsignia[] = { 0, 0, 0, 1 };                    // Insignia image color (white default), can be either RGBA array, or class from CfgMarkerColors\n        commander = \"Armstrong\";                            // Name of unit commander - can be either direct name or\n                                                            // class from CfgWorlds >> GenericNames (random name from the list is then selected)\n        commanderRank = \"GENERAL\";                            // Rank of unit commander (by default selected based on unit size)\n        tags[] = { \"BIS\", \"USArmy\", \"Kerry\", \"Hutchison\", \"Larkin\" };    // Group tags. When opening ORBAT viewer, user can define what tags will be accepted\n        text = \"%1 Combat Technology Research %3\";            // Custom text and short text, can still use some arguments when defined:\n        // %1 - ID (e.g. \"7th\")\n        // %2 - Type (e.g. \"Infantry\")\n        // %3 - Size (e.g. \"Division\")\n        textShort = \"%1 CTR %3\";\n        texture = \"a3\\ui_f_orange\\data\\displays\\rscdisplayorangechoice\\faction_nato_ca.paa\";    // Custom texture, will replace icon set by 'type' param.\n        color = \"ColorWest\";                                // Custom texture color for texture displayed on the map and in the ORBAT viewer,\n                                                            // will replace color set by 'side' param\n                                                            // Can be either RGBA array, or class from CfgMarkerColors (e.g. color = \"ColorWEST\";)\n        description = \"All of your text would go here.\";    // A brief description of the group or unit\n        assets[] = {                                        // Will display pictures of all available assets to the unit commander:\n            { \"B_Heli_Transport_03_F\", 5 },\n            { \"B_Heli_Light_01_F\", 3 },\n            { \"B_Heli_Light_01_armed_F\", 4 },\n            \"B_Heli_Transport_01_camo_F\"\n        };\n\n        // Can be an array with format {classname, [int active icons], [int greyed out icons]}, or simply a classname\n        //subordinates[] = { \"1stBCT\", \"2ndBCT\" };            // Subordinates, searched on the same level as this class.\n\n        // When 'subordinates' are missing, child classes will be used. They can have their own subs - number of tiers is not limited.\n        class 1stBCT\n        {\n            id = 1;\n            idType = 2;\n            type = \"Helicopter\";\n            size = \"Squadron\";\n            side = \"West\";\n            commander = \"R3vo\";\n            commanderRank = \"Lieutenant\";\n            description = \"All of your text would go here.\";\n            texture = \"a3\\ui_f_orange\\data\\displays\\rscdisplayorangechoice\\faction_nato_ca.paa\";\n            insignia = \"a3\\missions_f_epa\\data\\img\\orbat\\b_aegis_ca.paa\";\n            assets[] =\n            {\n                { \"B_Heli_Transport_03_F\", 5 }\n            };\n        };\n\n        class 2ndBCT: 1stBCT\n        {\n            id = 2;\n            size = \"Division\";\n            commander = \"NATOMen\";\n            assets[] =\n            {\n                { \"B_Heli_Transport_03_F\", 2 }\n            };\n        };\n    };\n};\n```"},{"heading":"Attributes","level":3,"markdown":""},{"heading":"ID Type","level":4,"markdown":"- 0 - Ordinal number, e.g. \"7th\" (default)\n- 1 - Roman numeral, e.g. \"VII\"\n- 2 - NATO phonetical alphabet word, e.g. \"Golf\"\n- 3 - Color, e.g. \"Red\""},{"heading":"Side","level":4,"markdown":"- West\n- East\n- Resistance\n- Civilian\n- Unknown"},{"heading":"Size","level":4,"markdown":"- Army\n- ArmyGroup\n- Battalion\n- BCT\n- Brigade\n- Company\n- Corps\n- Division\n- FireTeam\n- HBCT\n- IBCT\n- Platoon\n- Regiment\n- Section\n- Squad\n- Squadron\n- Troop\n- Size1..11\n\n> [!NOTE]\n> `Size1`..`Size11` will not display a size-icon indicator, such as Ø."},{"heading":"Type","level":4,"markdown":"- Airborne\n- Armored\n- Artillery\n- Assault\n- AttackRecon\n- AviationSupport\n- Cavalry\n- CombatAviation\n- Fighter\n- GeneralSupport\n- Helicopter\n- HQ\n- Infantry\n- Maintenance\n- Maritime\n- MechanizedInfantry\n- Medical\n- Mortar\n- MotorizedInfantry\n- Recon\n- Service\n- Support\n- UAV\n- Unknown"},{"heading":"Rank","level":4,"markdown":"- Private\n- Corporal\n- Sergeant\n- Lieutenant\n- Captain\n- Major\n- Colonel\n- General"},{"heading":"Tags","level":4,"markdown":"Tags are used by BIS_fnc_ORBATOpen. The function will search and classes with given tags."},{"heading":"ORBAT Group Module","level":3,"markdown":""},{"heading":"CfgORBAT Path","level":4,"markdown":"The group you want to be display on the map.\n\n**Example:**\n\n```sqf\nmissionConfigFile >> \"CfgORBAT\" >> \"unitClassName\" >> \"subordinateUnitClassName\"\n```"},{"heading":"CfgORBAT Ceiling","level":4,"markdown":"The highest superior unit to display in the ORBAT Viewer while this group is selected. If blank, the **CfgORBAT Path** unit is displayed as the ceiling.\n\n**Example:**\n\n```sqf\nmissionConfigFile >> \"CfgORBAT\" >> \"unitClassName\"\n```"},{"heading":"Tags","level":4,"markdown":"Groups containing at least on of these tags will be added"},{"heading":"Max. Tiers","level":4,"markdown":"Defines how many tiers are are shown."},{"heading":"Working Example","level":4,"markdown":"- Place a fire team in Eden Editor\n- Place the **ORBAT Group** module\n- Synchronise the module with the group leader\n- Open the module and fill in the following:\n  - CfgORBAT Path: `configFile >> \"CfgORBAT\" >> \"BIS\" >> \"B_1_A_1_2\"`\n  - CfgORBATCeiling: `configFile >> \"CfgORBAT\" >> \"BIS\" >> \"B_1\"`\n- Leave **Max. Tiers** and **Tags** empty\n- Enter the preview mode and open the map"},{"heading":"Create ORBAT Group during Runtime","level":3,"markdown":"```sqf\n//Create ORBAT icon\nif isServer then\n{\n    \"ModuleStrategicMapORBAT_F\" createUnit\n    [\n        getPosWorld player,\n        createGroup sideLogic,\n        toString {\n            this setVariable [\"BIS_fnc_initModules_disableAutoActivation\", false, true];\n            this setVariable [\"\"Path\"\", \"\"missionConfigFile >> 'CfgORBAT' >> 'Support'\"\", true]; // ORBAT class that should be displayed\n        }\n    ];\n};\n```"},{"heading":"Texture in missionConfigFile","level":3,"markdown":"As **texture** is treated as a *new* texture (rather than an image, as icon is), the game needs a direct path to it. Example:\n\n```\n\"C:\\Users\\Kerry\\Documents\\Arma 3\\Kerry\\missions\\MyMission.Stratis\\someDirectory\\SomeImage.paa\"\n\"\\ca\\missions_f\\data\\orbat\\customTexture_ca.paa\"\n```\n\nWriting the direct path is not possible in a `CfgORBAT` defined in Description.ext (as the mission changes path on different computers);\nin that case the path to the texture can be defined with the following:\n\n```cpp\n// converts to e.g \"C:\\Users\\Kerry\\Documents\\Arma 3\\Kerry\\missions\\MyMission.Stratis\\someDirectory\\SomeImage.paa\"\ntexture = __EVAL(getMissionPath \"someDirectory\\SomeImage.paa\");\n```\n\n> [!NOTE]\n> See getMissionPath."},{"heading":"Functions","level":3,"markdown":"Listed in \"Strategic\" function group:\n\n- BIS_fnc_ORBATAddGroupOverlay\n- BIS_fnc_ORBATAnimate\n- BIS_fnc_ORBATConfigPreview\n- BIS_fnc_ORBATGetGroupParams\n- BIS_fnc_ORBATOpen\n- BIS_fnc_ORBATRemoveGroupOverlay\n- BIS_fnc_ORBATSetGroupFade\n- BIS_fnc_ORBATSetGroupParams\n- BIS_fnc_ORBATTooltip"},{"heading":"See Also","level":3,"markdown":"- [Various information about ORBAT Viewer](https://forums.bohemia.net/forums/topic/159943-request-orbat-tutorial/?page=3)"}],"categories":["Arma 3: Editing"],"groups":["Tools and File Formats"]}