{"name":"getAllUnitTraits","operator":null,"title":"getAllUnitTraits","type":"command","url":"https://community.bistudio.com/wiki/getAllUnitTraits","revid":379083,"updated":"2026-09-27T08:11:53Z","groups":["Object Manipulation"],"status":"ok","replaced_by":[],"games":[{"game":"arma3","name":"Arma 3","version":"2.00"}],"since":{"game":"arma3","name":"Arma 3","version":"2.00"},"arma3_since":"2.00","branch":null,"locality":{"argument":null,"effect":null,"server_exec":false},"exec":null,"description":"Returns unit traits (native or set by setUnitTrait).","syntaxes":[{"syntax":"getAllUnitTraits unit","since":null,"effect":null,"exec":null,"params":[{"name":"unit","type":"Object or Arma 3 v2.18 String","optional":false,"default":null,"description":"a unit or a class name","types":["Object","String"],"since":null,"text":"unit: Object or Arma 3 v2.18 String - a unit or a class name"}],"returns":{"type":"Array of Arrays with [name, value]","types":["Array"],"description":"name: String - trait's name - value: String or Boolean - trait's value","text":"Array of Arrays with [name, value]\n- name: String - trait's name\n- value: String or Boolean - trait's value"},"form":"unary","operator":null,"left":null,"right":{"text":"unit","types":["Object","String"]}}],"examples":[{"text":"```sqf\nprivate _playerTraits = getAllUnitTraits player;\n/*\nCould return something like this:\n[\n    [\"Medic\", false],\n    [\"Engineer\", false],\n    [\"ExplosiveSpecialist\", false],\n    [\"UavHacker\", false],\n    [\"CamouflageCoef\", 1],\n    [\"AudibleCoef\", 1],\n    [\"LoadCoef\", 1],\n    [\"test\", \"custom\"]\n]\n*/\n```","code":["private _playerTraits = getAllUnitTraits player;\n/*\nCould return something like this:\n[\n\t[\"Medic\", false],\n\t[\"Engineer\", false],\n\t[\"ExplosiveSpecialist\", false],\n\t[\"UavHacker\", false],\n\t[\"CamouflageCoef\", 1],\n\t[\"AudibleCoef\", 1],\n\t[\"LoadCoef\", 1],\n\t[\"test\", \"custom\"]\n]\n*/"]},{"text":"```sqf\nprivate _unitTraits = getAllUnitTraits _unit;\nprivate _indexes = [_unitTraits, \"Medic\"] call BIS_fnc_findNestedElement;\nprivate _unitCanHeal = _unitTraits select (_indexes select 0) select 1;\n```","code":["private _unitTraits = getAllUnitTraits _unit;\nprivate _indexes = [_unitTraits, \"Medic\"] call BIS_fnc_findNestedElement;\nprivate _unitCanHeal = _unitTraits select (_indexes select 0) select 1;"]},{"text":"Since Arma 3 v2.18:\n\n```sqf\nhint str getAllUnitTraits \"O_Engineer_F\";\n/*\n[\n    [\"Medic\", false],\n    [\"Engineer\", true],\n    [\"ExplosiveSpecialist\", true],\n    [\"UavHacker\", false],\n    [\"CamouflageCoef\", 1],\n    [\"AudibleCoef\", 1],\n    [\"LoadCoef\", 1]\n]\n*/\n```","code":["hint str getAllUnitTraits \"O_Engineer_F\";\n/*\n[\n\t[\"Medic\", false],\n\t[\"Engineer\", true],\n\t[\"ExplosiveSpecialist\", true],\n\t[\"UavHacker\", false],\n\t[\"CamouflageCoef\", 1],\n\t[\"AudibleCoef\", 1],\n\t[\"LoadCoef\", 1]\n]\n*/"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["getUnitTrait","setUnitTrait"],"notes":[{"user":"BrettMayson","date":"2023-11-27T02:54:00Z","text":"Local argument assumed, needs confirmation"}],"categories":["Arma 3: New Scripting Commands","Arma 3: Scripting Commands","Command Group: Object Manipulation","Introduced with Arma 3 version 2.00","Scripting Commands"]}