{"name":"configHierarchy","operator":null,"title":"configHierarchy","type":"command","url":"https://community.bistudio.com/wiki/configHierarchy","revid":378521,"updated":"2026-05-04T01:50:46Z","groups":["Config"],"status":"ok","replaced_by":[],"games":[{"game":"arma3","name":"Arma 3","version":"1.48"}],"since":{"game":"arma3","name":"Arma 3","version":"1.48"},"arma3_since":"1.48","branch":null,"locality":{"argument":null,"effect":null,"server_exec":false},"exec":null,"description":"Returns hierarchy of the given config class. Just like with inheritsFrom, only complete config classes are supported (before Arma 3 v2.14). Since Arma 3 v2.22, an alt syntax is added, which allows to return parents identical to BIS_fnc_returnParents (see Example 2)","syntaxes":[{"syntax":"configHierarchy config","since":null,"effect":null,"exec":null,"params":[{"name":"config","type":"Config","optional":false,"default":null,"description":"target config","types":["Config"],"since":null,"text":"config: Config - target config"}],"returns":{"type":"Array of Configs","types":["Array","Config"],"description":"ordered from parent to child","text":"Array of Configs - ordered from parent to child"},"form":"unary","operator":null,"left":null,"right":{"text":"config","types":["Config"]}},{"syntax":"configHierarchy [config, classesOnly, includeBases, reversedOrder, configNames]","since":"arma3 2.22","effect":null,"exec":null,"params":[{"name":"config","type":"Config","optional":false,"default":null,"description":"target config","types":["Config"],"since":null,"text":"config: Config - target config"},{"name":"classesOnly","type":"Boolean","optional":false,"default":null,"description":"when true, only classes are included in output and not properties","types":["Boolean"],"since":null,"text":"classesOnly: Boolean - when true, only classes are included in output and not properties"},{"name":"includeBases","type":"Boolean","optional":false,"default":null,"description":"when true, returned parents will include base classes (see description)","types":["Boolean"],"since":null,"text":"includeBases: Boolean - when true, returned parents will include base classes (see description)"},{"name":"reversedOrder","type":"Boolean","optional":false,"default":null,"description":"when true, the return order is from child to parent","types":["Boolean"],"since":null,"text":"reversedOrder: Boolean - when true, the return order is from child to parent"},{"name":"configNames","type":"Boolean","optional":true,"default":null,"description":"when true, the return is Array of Strings, when false - Array of Configs. Default: false","types":["Boolean"],"since":null,"text":"configNames: Boolean - (Optional) when true, the return is Array of Strings, when false - Array of Configs. Default: false"}],"returns":{"type":"Array of Configs or Strings","types":["Array","Config","String"],"description":"Strings represent config names","text":"Array of Configs or Strings - Strings represent config names"},"form":"unary","operator":null,"left":null,"right":{"text":"[config, classesOnly, includeBases, reversedOrder, configNames]","types":["Array"]}}],"examples":[{"text":"```sqf\n_hierarchy = configHierarchy (configFile >> \"CfgVehicles\" >> \"Car\");\n// Returns [bin\\config.bin, bin\\config.bin/CfgVehicles, bin\\config.bin/CfgVehicles/Car]\n```","code":["_hierarchy = configHierarchy (configFile >> \"CfgVehicles\" >> \"Car\");\n// Returns [bin\\config.bin, bin\\config.bin/CfgVehicles, bin\\config.bin/CfgVehicles/Car]"]},{"text":"```sqf\n_bis_fnc_returnParents = configHierarchy [configFile >> \"CfgVehicles\" >> \"Land_FirePlace_F\", true, true, true, true];\n// Returns [\"Land_FirePlace_F\",\"House_F\",\"House\",\"HouseBase\",\"NonStrategic\",\"Building\",\"Static\",\"All\"]\n```","code":["_bis_fnc_returnParents = configHierarchy [configFile >> \"CfgVehicles\" >> \"Land_FirePlace_F\", true, true, true, true];\n// Returns [\"Land_FirePlace_F\",\"House_F\",\"House\",\"HouseBase\",\"NonStrategic\",\"Building\",\"Static\",\"All\"]"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["configClasses","configProperties","missionConfigFile","campaignConfigFile","a / b","config greater greater name","configName","count","getArray","getText","getNumber","inheritsFrom","isArray","isClass","isNumber","isText","select","isKindOf","BIS_fnc_returnParents"],"notes":[],"categories":["Arma 3: New Scripting Commands","Arma 3: Scripting Commands","Command Group: Config","Introduced with Arma 3 version 1.48","Scripting Commands"]}