Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


Community Base Addons for Arma 3

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star half bd79095782ee4930099175e5ce7f4c89fa3ddabcd56fffcc7c74f6f2a2d46b27Star blank 374f33e4d622a2930833db3cbea26b5d03dc44961a6ecab0b9e13276d97d6682 (3 ratings)
Rated 3.67 out of 5
Subscribe to updates I use CBA_A3

Statistics on CBA_A3

Number of watchers on Github 188
Number of open issues 20
Average time to close an issue 7 days
Main language SQF
Average time to merge a PR 2 days
Open pull requests 54+
Closed pull requests 26+
Last commit about 2 years ago
Repo Created about 5 years ago
Repo Last Updated about 2 years ago
Size 17.2 MB
Organization / Authorcbateam
Latest Releasev3.6.1.180131
Page Updated
Do you use CBA_A3? Leave a review!
View open issues (20)
View CBA_A3 activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating CBA_A3 for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Community Base Addons


Download the latest version and unpack it in your Arma 3 installation folder. Simply launch Arma 3 with -mod=@CBA_A3 afterwards.


To install any of the optionals, simply copy the respective PBOs into the @CBA_A3\addons folder.

PBO Description
cba_cache_disable.pbo Disables CBA's function caching. (Dev Tool)
cba_diagnostic_disable_xeh_logging.pbo Disables all additional XEH RPT logging.
cba_diagnostic_enable_logging.pbo Enables additional logging (Dev Tool)

CBA Caching

CBA implements a cache for all compile preProcessFile'd scripts and for all XEH events on CfgVehicle classes. This cache is stored in the uiNamespace and is therefore available throughout the whole lifetime of the running game (game start, till terminate game). Each class is only cached once, while mission and campaignConfigfile events are evaluated every mission, but also only once per CfgVehicle class.

The performance gains are seen in feature rich mods like ACE3 which rely heavily on scripting to make their features possible. Some of these functionalities cause long loading times for the game, switching missions, islands and switching from the editor back to the game. At the start of the game functions will be cached and loading times for functions will be comparable with the vanilla game.

cba_cache_disable.pbo is an optional addon that can disable this if you need it. However it makes mods slower by disabling CBA's function and script compilation cache, as well as the XEH cache. It is useful during development, since script changes will take effect without restarting the entire game.

Known Issues

  • CBA Keybindings and Settings require a mission to be initialized to function properly. This includes working in the main menu of Arma 3. Commandline parameters like -world=empty or -skipIntro will cause Keybindings and Settings to work ONLY in-game but NOT in the main menu.


Licensed under GNU General Public License (GPLv2)

Any addon which calls CBA-defined functions need not be licensed under the GPLv2 or released under a free software license. Only if it is directly including CBA code in the addon's binarized PBO or redistributing a modified version of CBA itself would it be considered derivative and therefore be legally required to be released under the terms of the GPL. (And there's no reason to ever do either of these.)

CBA_A3 open issues Ask a question     (View All Issues)
  • over 3 years Strange key handling.
  • over 3 years MRT Accessory Functions
  • over 3 years Force Mission Settings deletes mission name
  • almost 4 years Mines / IED's wont register for the Fleximenu
  • about 4 years CBA_fnc_isUnitGetOutAnim broken
  • over 4 years Binding two CBA actions to one key causes problems after restart.
  • over 4 years Strange behaviour of modifier key.
  • almost 5 years Add Joint Ammo and Magazines (JAM)
  • almost 5 years Ability to bind Mouse Buttons as keybindings
  • almost 5 years Integrate Weapon Eventhandler Framework
  • about 5 years Align hash functions in CBA with ACE/ACRE
  • about 5 years Update the Wiki Docs Overview page
  • about 5 years ACRE2 radio PTT doesn't work when a modifier key is held
  • over 3 years CBA_fnc_getPos returning array reference instead of an array-copy
  • over 3 years Support for binding actions to mouse buttons
  • over 3 years Global settings forced on server instead of in mission by default
  • over 3 years Wiki documentation update needed
  • over 3 years CBA_fnc_taskDefend AI "Dance"
CBA_A3 open pull requests (View All Pulls)
  • copy returned array of compatibleItems
  • fix dropWeapon, dropMagazine, add dropItem, weaponComponents
  • [WIP] support for seatSwitchedMan, reloaded, use native getInMan and getOutMan
  • Improved logging system
  • [WIP] use mission event for PlayerConnected
  • Add "initRetro" event to addClassEventHandler
  • [WIP] CBA Settings frame work
  • Changes for armake
  • Add 4 New Common Scripting Macros
  • Add support for sending events to client IDs (redo)
  • Module development
  • adjust settings 'RscDisplayConfigure' grid to 1.62
  • adjust keybinding 'RscDisplayConfigure' grid to 1.62
  • Improve function header 'CBA_fnc_waitAndExecute'
  • Improve function header 'CBA_fnc_waitUntilAndExecute'
  • Improve function header 'CBA_fnc_addPerFrameHandler'
  • Use unique local variable names in CBA_fnc_directCall
  • Update fnc_headDir
  • State machine system
  • Update JR for APEX
  • add XEH to new classes
  • add cba_linux to removed components
  • Add param for slider setting to only be whole numbers
  • raise event when chat message is sent
  • add support for custom optional files
  • enable XEH for terrain objects
  • Optimize Functions by Using 1.55 Select Syntax
  • Add fnc_insert
  • Move CBA settings into hidden category
  • Function headers with debugging callstack
  • Add projectile tracking
  • Use new entities syntax to improve xeh speed
  • JPN translation for v3.1.1
  • Fix keybind tooltips
  • Add MRT Accessory Functions #513
  • Update fnc_initDisplay.sqf
  • Update JR for 1.66
  • randPos - Don't modify input array
  • Add Garrison/Patrol ratio parameter
  • Fix random position calc. of CBA_fnc_randPos
  • Copy position in CBA_fnc_getPos
  • enable XEH for classes used on map (but not terrain objects)
  • Add support for arbitrary character trimming
  • Add optional mod to skip missing Mod check
  • Some Portuguese translation
  • Changes for armake
  • indicate settings that need a mission restart
  • make settings ediable in unsaved mission
  • Settings whitelist
  • Create vectorRotate3D.sqf
  • Add macro for localize LSTRING
  • Add getUniquePlayerItems function
  • Add xeh compat for 1.82 (tanks dlc)
  • Add FILE_EXISTS macro to common macros
CBA_A3 list of languages used
CBA_A3 latest release notes
v3.6.1.180131 CBA_A3 v3.6.1.180131

This a hotfix for third-party mods that references a deprecated file which causes a crash.

>>> WARNING! <<< This release removes a pbo file and key. Make sure to delete the old @CBA_A3 folder before dropping the patched version into your game directory.


  • FIXED: ALiVE and possibly other mods referencing obsolete file ui_helper\script_dikCodes.hpp (#882) ViperMaul


  • There is a script error popup when saving mission settings in the editor. The settings are saved correctly and the error message can be ignored. See: https://feedback.bistudio.com/T127247


Change log for CBA v3.6.1

v3.6.0.180116 CBA_A3 v3.6.0.180131

This update adds Russians translations, the extended weapon animations framework usable for bolt action rifles and pump action shotguns, the ability to bind addon key actions to joysticks (indirectly, read documentation!), and a scripted event handler for the completed mission loading screen. It also fixes a bug where Zeus can not rotate objects that were created on the server.

>>> WARNING! <<< This release removes a pbo file and key. Make sure to delete the old @CBA_A3 folder before dropping the patched version into your game directory.


  • ADDED: Russian translation (#861) MiatWarp Dystopian
  • ADDED: Weapon animations framework (#82, #829) commy2
  • ADDED: Ability to bind to Joysticks indirectly (#825, #828) commy2
  • ADDED: Scripted event for finished mission loading screen (#806) commy2
  • ADDED: Fix for Zeus to correctly rotate remote units (#816) commy2
  • ADDED: UI to export and import settings in multiplayer (#832, #847, #848, #852, #854, #856, #858, #860) commy2
  • ADDED: PBOPREFIX file for settings addon template (#841) commy2
  • ADDED: enableDebugConsoleSP mission config entry (#843) commy2
  • ADDED: Tooltips to list type settings (#867) commy2
  • ADDED: Sub-categories to settings (#869) PabstMirror
  • IMPROVED: Fleximenu uses cursorObject as fallback (#348, #838) NeKo-ArroW commy2
  • IMPROVED: Cleanup some configs (#819, #820, #822) commy2
  • IMPROVED: setSettingMission event accepts numbers for checkbox setting (#842) PabstMirror
  • IMPROVED: Settings changed to their default will be removed from the hash (#857) commy2
  • IMPROVED: Mission settings file is loaded every time the settings menu is opened (#859) commy2
  • CHANGED: CBA_fnc_addKeybind can take pretranslated stringkeys (#794, #818) Dorbedo commy2
  • CHANGED: Addon Options menu pauses the game in single player mode (#813) commy2
  • CHANGED: Focus set on Configure Base button in keybinding menu (#817) commy2
  • CHANGED: In multiplayer as admin, the client tab is selected by default (#833) commy2
  • CHANGED: Clarify logging for settings userconfig loading (#855) PabstMirror
  • CHANGED: Clarify header of fnc_waypointGarrison.sqf (#863) commy2
  • CHANGED: Save profile after changes (#873, #881) PabstMirror Xyaren
  • FIXED: Broken A2 era function (#289, #839) commy2
  • FIXED: Untranslated setting categories broken (#814) commy2
  • FIXED: Slider settings with whole numbers (#834) PabstMirror
  • FIXED: List settings sometimes not selectable (#835) commy2
  • FIXED: cba_ui_fnc_remove broken (#838) bosoy
  • FIXED: Debug Console doesn't respond to Enter key in multiplayer (#844, #846) CreepPork commy2
  • FIXED: A functions header function name (#845) commy2
  • FIXED: Export-import produces different results for global mission settings (#850, #853) commy2
  • REMOVED: Obsolete components (#821, #823, #827) commy2


  • There is a script error popup when saving mission settings in the editor. The settings are saved correctly and the error message can be ignored. See: https://feedback.bistudio.com/T127247


Change log for CBA v3.6.0

v3.5.0.171204 CBA_A3 v3.5.0.171204

This update contains Portuguese translations, improvements to the settings system and small code updates.


  • ADDED: Portuguese translation (#791) JuhBass
  • ADDED: EnableTargetDebug support for addon config (#724) Dystopian
  • ADDED: Parameters for CBA_fnc_randPos to generate a random position in an arc (#757) Vdauphin
  • ADDED: Parameter for editbox setting to obscure passwords (#763, #802) commy2
  • ADDED: Parameter for editbox setting to filter incorrect input (#795, #805) commy2
  • ADDED: Show settings variable name in tooltip (#796, #804) PabstMirror
  • ADDED: Setting name passed to setting script as _thisSetting (#801, #803) commy2
  • ADDED: Support for cba_settings_hasSettingsFile flag to description.ext (#807) commy2
  • ADDED: Changing a mission setting applies 'Overwrite Clients' automatically (#810) commy2
  • CHANGED: Update Japanese translation (#760) classicarma
  • CHANGED: Code reformatting (#765 - #787, #798, #799) Neviothr commy2
  • CHANGED: Global settings no longer forced by mission automatically (#800) commy2
  • FIXED: Potential enum script error after v1.78 update (#811, #812) MGTDB commy2
  • FIXED: CBA_fnc_weaponComponents script error (#747) jonpas
  • FIXED: CBA_fnc_removeMagazineCargo removes all magazines (#747, #756) jonpas ACyprus
  • FIXED: Unable to select target in Debug Console (#752, #753) shukari PabstMirror
  • FIXED: Stringtable syntax errors (#758) dedmen
  • FIXED: CBA_fnc_hashCreate documentation (#759) Cuel
  • FIXED: XEH compatibility for v1.78 (#808) PabstMirror
  • FIXED: Old URL in CfgMods (#809) Dorbedo
  • REMOVED: Obsolete entries in XEH config (#749, #750, #751) commy2


  • There is a script error popup when saving mission settings in the editor. The settings are saved correctly and the error message can be ignored. See: https://feedback.bistudio.com/T127247

Change log for CBA v3.5.0

Other projects in SQF