[{"id":484,"title":"SPOTREP #00121","created_at":"2026-08-25 15:20:10","excerpt":"<p>Hotfix 2.22 (Miscellaneous Fixes)<br><\/p>","content":"<p>FROM: High Command<br>TO: Arma 3 Users<br>UNIT: Main Branch<br>ACTIVITY: Hotfix 2.22 (Miscellaneous Fixes)<br>SIZE: ~75 MB \/ ~32 MB<br><\/p>\n\n<h1>NOTES<br><\/h1>\n\n<ul>\n\t\n\t<li>Contact consists of 2 data packs \/ folders:\n\t<ul>\n\t\t<li>Contact (via <i>PLAY CONTACT<\/i> or <i>-mod=Contact<\/i>): for the singleplayer \"First Contact\" campaign experience (accessible only to owners - optionally loaded)<\/li>\n\t\t<li>Contact (Platform): for most other use cases, including sandbox multiplayer (loaded by default for all players)<\/li>\n\t<\/ul><\/li>\n\t\n\t<li>Consider using the Steam client option to verify the integrity of the local game cache to avoid corrupted data after downloading this update.<\/li>\n\t\n\t<li>Updating a deeply moddable game and its platform is not without risks. We use various methods to communicate upcoming changes to our awesome modding community, such as via the <a href=\"https:\/\/dev.arma3.com\/\" target=\"\">Dev Hub<\/a>. We also co-operate directly on troubleshooting, and we offer an opportunity to test updates via our <a href=\"https:\/\/dev.arma3.com\/rc-branch\" target=\"\">Release Candidate tests<\/a>. Modders, server administrators, and other members of the community do their best to prepare for updates and to address issues post-release as quickly as possible. Please be mindful of some interruptions (especially in the first hours \/ days after a release) while we all work to improve the game together.<\/li>\n\t\n\t<li>A <i>Legacy Build<\/i> Steam branch is available for advanced users. It contains the previous significant main branch version (2.20). It can be used to compare specific changes between major releases. The access code for this branch is: <i>Arma3Legacy220<\/i>\n\t<ul>\n\t\t<li>We now consider support for 32-bit \/ Windows 7 \/ Windows 8 <a href=\"https:\/\/dev.arma3.com\/32-bit\" target=\"\">deprecated<\/a>.<\/li>\n\t<\/ul><\/li>\n\t\n\t<li>This update also applies to <a href=\"http:\/\/dev.arma3.com\/ports\" target=\"\">the experimental Mac client ports<\/a>.<\/li>\n\t\n\t<li>You can find the servers in the Steam library (switch the filter to \"Tools\") - \"Arma 3 Server\" (based on your OS, it will download the Windows or Linux version).\n\t<ul>\n\t\t<li>Administrators can also use the command-line <a href=\"https:\/\/developer.valvesoftware.com\/wiki\/SteamCMD\" target=\"\">SteamCMD<\/a> utility. The app ID is to be 233780.<\/li>\n\t\t<li>NVIDIA GameWorks\u2122 Technology provided under license from NVIDIA Corporation. Copyright \u00a9 2002-2018 NVIDIA Corporation. All rights reserved. NVIDIA\u00ae and PhysX\u00ae are trademarks of NVIDIA Corporation and are used under license.<\/li>\n\t<\/ul><\/li>\n\t\n\t<li>In case of problems, please check the <a href=\"http:\/\/support.bistudio.com\/arma-3\" target=\"\">Bohemia Interactive support F.A.Q.<\/a>, <a href=\"http:\/\/arma3.com\/faq\" target=\"\">Arma 3 F.A.Q.<\/a>, <a href=\"http:\/\/www.battleye.com\/support\/faq\/\" target=\"\">BattlEye F.A.Q.<\/a>, or <a href=\"https:\/\/arma3.com\/launcher\/troubleshooting\" target=\"\">Launcher troubleshooting guide<\/a>.<\/li>\n\t\n\t<li>You can help us to further improve the game by posting your feedback on the <a href=\"http:\/\/feedback.arma3.com\/\" target=\"\">Feedback Tracker<\/a>.<\/li>\n\n<\/ul>\n\n<h1>CHANGELOG<\/h1>\n\n<h3>DATA<\/h3>\n\n<ul>\n\t\n\t<li>Fixed: Alpha sorting on parts of the Ghost Hawk interior (thanks <i>Lexx<\/i>)<\/li>\n\t\n\t<li>Fixed: Catapult launch action was not available on the aircraft carrier on Dedicated Servers - <a href=\"https:\/\/report.bistudio.com\/projects\/arma-3\/general\/A3G-20\" target=\"\">A3G-20<\/a><\/li>\n\t\n\t<li>Fixed: Actions remaining hidden after switching from the Spectrum Device to a primary weapon - <a href=\"https:\/\/report.bistudio.com\/issues\/A3G-7\" target=\"\">A3G-7<\/a><\/li>\n\t\n\t<li>Fixed: Arsenal mod list sorting order was sometimes incorrect, and the wrong mod icons could be shown<br><\/li>\n\n<\/ul>\n\n<h3>ENGINE<\/h3>\n\n<ul>\n\t\n\t<li>Fixed: Missing font characters (via fallback fonts) for Ukrainian translations<\/li>\n\t\n\t<li>Fixed: Dedicated Servers would not load signature keys if a command-line argument with a missing dash was used<\/li>\n\t\n\t<li>Fixed: RCon prints were adding extra prefix \"(Unknown) Server:\" to system messages<\/li>\n\t\n\t<li>Fixed: <i>weaponInfoType<\/i> displays were not destroyed properly, resulting in the <i>onUnload<\/i> event not firing for some of them - <a href=\"https:\/\/report.bistudio.com\/issues\/A3G-7\" target=\"\">A3G-7<\/a><\/li>\n\t\n\t<li>Fixed: <i>#monitor<\/i> and <i>#monitords<\/i> did not calculate the first print data properly and were limited in output frequency (thanks <i>Fraali<\/i>)<\/li>\n\t\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/getServerInfo\" target=\"\">getServerInfo<\/a> returned the wrong value for \"motd\", and several entries were missing<\/li>\n\t\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/setPylonLoadout\" target=\"\">setPylonLoadout<\/a> putting incompatible pods on a pylon with the force parameter did not correctly sync in multiplayer (thanks <i>Rook<\/i>)<\/li>\n\t\n\t<li>Fixed: Various potential crashes<br><\/li>\n\n<\/ul>\n\n<h3>LAUNCHER<\/h3>\n\n<ul>\n\t\n\t<li>Added: Launcher will now offer the Creator DLC compatibility data mod when trying to join a CDLC server and not owning the CDLC - <a href=\"https:\/\/feedback.bistudio.com\/T186037\" target=\"\">FT-T186037<\/a><br><\/li>\n\n<\/ul>\n\n<h3>SERVER<\/h3>\n\n<ul>\n\t\n\t<li>Updated: Stand-alone Windows Dedicated Server (2.22)<\/li>\n\t\n\t<li>Updated: Stand-alone Linux Dedicated Server (2.22)\n\t<ul>\n\t\t<li>The data in <i>-mod=contact<\/i> is not fully multiplayer compatible (it is meant for the singleplayer campaign experience); we recommend only hosting servers with it for special use cases\n\t\t<ul>\n\t\t\t<li>This data is signed by a new A3C key whose presence can be used to control what client data is allowed on the server<\/li>\n\t\t<\/ul><\/li>\n\t\t<li>Known issue: Steam client modifies the <i>steam_appid.txt<\/i> file incorrectly. In case of issues, verify its content is: <b>107410<\/b><\/li>\n\t\t<li>Known issue: Sometimes the add-ons are loaded from the wrong installation (e.g. main game)\n\t\t<ul><li>Try adding <i>-mod=curator;kart;heli;mark;expansion;jets;argo;orange;tacops;tank;enoch;aow<\/i> to your <i>arma3server.exe<\/i> shortcut<\/li><\/ul>\n\t<\/li><\/ul><\/li>\n\n<\/ul>","published":"1","hide_from_home_feed":null,"url":"spotrep-00121","post_header_image":null,"animation_interval":"200","author":"Joris-Jan van 't Land","post_thumb":null,"type":"spotrep","updated_at":"2026-08-26 17:07:31","public_date":"2026-08-26 16:30:00"},{"id":483,"title":"SPOTREP #00120","created_at":"2026-08-07 12:42:50","excerpt":"<p>Game Update 2.22 (MH-80 Ghost Hawks, New Languages, Platform Support)<br><\/p>","content":"<p>FROM: High Command<br>TO: Arma 3 Users<br>UNIT: Main Branch<br>ACTIVITY: Game Update 2.22 (MH-80 Ghost Hawks, New Languages, Platform Support)<br>SIZE: ~3 GB \/ ~221 MB (depends on Contact ownership)<\/p>\n<h1>NOTES<\/h1>\n<ul>\n\t<li>Contact consists of 2 data packs \/ folders:\n\t<ul>\n\t\t<li>Contact (via <i>PLAY CONTACT<\/i> or <i>-mod=Contact<\/i>): for the singleplayer \"First Contact\" campaign experience (accessible only to owners - optionally loaded)<\/li>\n\t\t<li>Contact (Platform): for most other use cases, including sandbox multiplayer (loaded by default for all players)<\/li>\n\t<\/ul><\/li>\n\t<li>Consider using the Steam client option to verify the integrity of the local game cache to avoid corrupted data after downloading this update.<\/li>\n\t<li>Updating a deeply moddable game and its platform is not without risks. We use various methods to communicate upcoming changes to our awesome modding community, such as via the <a href=\"https:\/\/dev.arma3.com\/\" target=\"\">Dev Hub<\/a>. We also co-operate directly on troubleshooting, and we offer an opportunity to test updates via our <a href=\"https:\/\/dev.arma3.com\/rc-branch\" target=\"\">Release Candidate tests<\/a>. Modders, server administrators, and other members of the community do their best to prepare for updates and to address issues post-release as quickly as possible. Please be mindful of some interruptions (especially in the first hours \/ days after a release) while we all work to improve the game together.<\/li>\n\t<li>A <i>Legacy Build<\/i> Steam branch is available for advanced users. It contains the previous significant main branch version (2.20). It can be used to compare specific changes between major releases. The access code for this branch is: <i>Arma3Legacy220<\/i><\/li>\n\t<li>We now consider support for 32-bit \/ Windows 7 \/ Windows 8 <a href=\"https:\/\/dev.arma3.com\/32-bit\" target=\"\">deprecated<\/a>.<\/li>\n\t<li>This update also applies to <a href=\"http:\/\/dev.arma3.com\/ports\" target=\"\">the experimental Mac client ports<\/a>.<\/li>\n\t<li>You can find the servers in the Steam library (switch the filter to \"Tools\") - \"Arma 3 Server\" (based on your OS, it will download the Windows or Linux version).\n\t<ul>\n\t\t<li>Administrators can also use the command-line <a href=\"https:\/\/developer.valvesoftware.com\/wiki\/SteamCMD\" target=\"\">SteamCMD<\/a> utility. The app ID is to be 233780.<\/li>\n\t\t<li>NVIDIA GameWorks\u2122 Technology provided under license from NVIDIA Corporation. Copyright \u00a9 2002-2018 NVIDIA Corporation. All rights reserved. NVIDIA\u00ae and PhysX\u00ae are trademarks of NVIDIA Corporation and are used under license.<\/li>\n\t<\/ul><\/li>\n\t<li>In case of problems, please check the <a href=\"http:\/\/support.bistudio.com\/arma-3\" target=\"\">Bohemia Interactive support F.A.Q.<\/a>, <a href=\"http:\/\/arma3.com\/faq\" target=\"\">Arma 3 F.A.Q.<\/a>, <a href=\"http:\/\/www.battleye.com\/support\/faq\/\" target=\"\">BattlEye F.A.Q.<\/a>, or <a href=\"https:\/\/arma3.com\/launcher\/troubleshooting\" target=\"\">Launcher troubleshooting guide<\/a>.<\/li>\n\t<li>You can help us to further improve the game by posting your feedback on the <a href=\"http:\/\/feedback.arma3.com\/\" target=\"\">Feedback Tracker<\/a>.<\/li>\n<\/ul>\n<h1>CHANGELOG<\/h1>\n<h3>DATA<\/h3>\n<ul>\n\t<li><b>Added: MH-80 (Assault) Ghost Hawk<\/b><\/li>\n\t<li><b>Added: MH-80 DAP (Direct Action Penetrator) Ghost Hawk<\/b><\/li>\n\t<li><b>Added: ECM Pod (laser and decoy variants) pylon attachment<\/b><\/li>\n\t<li><b>Added: Radar Pod pylon attachment<\/b><\/li>\n\t<li><b>Added: Camera Pod pylon attachment<\/b><\/li>\n\t<li><b>Added: Searchlight Pod (with \/ without IR) pylon attachment<\/b><\/li>\n\t<li><b>Added: 12.7mm Minigun pylon weapon<\/b><\/li>\n\t<li><b>Added: Bulgarian, Hungarian, Ukrainian, Slovak, and Latin*<\/b><\/li>\n\t<li>Added: Black \/ Dazzle (sand) \/ Dazzle (tropic) variants of various pylon attachments<\/li>\n\t<li>Added: H-80 external fuel tank jettisoning<\/li>\n\t<li>Added: H-80 Vehicle-in-Vehicle transport (small objects)<\/li>\n\t<li>Added: MH-80 extending fuel probe (visual only)<\/li>\n\t<li>Added: MH-80 Assault Firing From Vehicles seats on the door edges<\/li>\n\t<li>Added: Eden Editor attribute for radar dish rotation to Mobile Radar<\/li>\n\t<li>Added: New options in Audio Options UI for input device selection<\/li>\n\t<li>Added: Syntax highlight template for the Notepad++ export to <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Utilities#Script_Commands\" target=\"\">script command utility<\/a><\/li>\n\t<li>Added: More <a href=\"https:\/\/community.bistudio.com\/wiki\/addAction\" target=\"\">addAction<\/a> parameters for <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_holdActionAdd\" target=\"\">BIS_fnc_holdActionAdd<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T179964\" target=\"\">FT-T179964<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_channelNumToRadioChannelID\" target=\"\">BIS_fnc_channelNumToRadioChannelID<\/a> and <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_radioChannelIDToChannelNum\" target=\"\">BIS_fnc_radioChannelIDToChannelNum<\/a> functions<\/li>\n\t<li>Added: \"SpectrumAnalyzerOpened\" and \"SpectrumAnalyzerClosed\" <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Scripted_Event_Handlers#Spectrum_Analyzer_Device\" target=\"\">scripted Event Handlers<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T198138\" target=\"\">FT-T198138<\/a><\/li>\n\t<li>Tweaked: All addons were repacked using new pipelines (this is not expected to change anything for players, but please report any new errors like missing data)<\/li>\n\t<li>Tweaked: View geometries of several Livonia and Tanoa buildings - <a href=\"https:\/\/feedback.bistudio.com\/T146447\" target=\"\">FT-T146447<\/a><\/li>\n\t<li>Tweaked: Collision model of Livonia's Small Church - <a href=\"https:\/\/feedback.bistudio.com\/T149484\" target=\"\">FT-T149484<\/a><\/li>\n\t<li>Tweaked: Adjusted Fire Geometry on the Garage Office structure - <a href=\"https:\/\/feedback.bistudio.com\/T149647\" target=\"\">FT-T149647<\/a><\/li>\n\t<li>Tweaked: View geometry several structures: <i>House_1W03_F<\/i>, <i>House_2W03_F<\/i>, <i>House_2W04_F<\/i>, <i>House_2W05_F<\/i>, <i>IndustrialShed_01_F <\/i>and <i>u_House_Big_01_V1_F<\/i> - <a href=\"https:\/\/feedback.bistudio.com\/T146447\" target=\"\">FT-T146447<\/a><\/li>\n\t<li>Tweaked: Config values for music track durations<\/li>\n\t<li>Tweaked: Supply position of the AL-6 drone<\/li>\n\t<li>Tweaked: Zeus DLC color was inconsistent in several places (e.g. main menu icon hover)<\/li>\n\t<li>Tweaked: Restored some darkness to Showcase Zeus as intended by its creator<\/li>\n\t<li>Tweaked: Quadbike KIA crew now remains in a KIA pose in the vehicle<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_returnParents\" target=\"\">BIS_fnc_returnParents<\/a> is optimized for performance<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_returnChildren\" target=\"\">BIS_fnc_returnChildren<\/a> is optimized for performance - <a href=\"https:\/\/feedback.bistudio.com\/T83458\" target=\"\">FT-T83458<\/a><\/li>\n\t<li>Tweaked: Moved Chemical Detector, Decon Kit, Antidote Kit and LDF UAV controller models to Weapons_F (so they no longer trigger DLC branding)<\/li>\n\t<li>Tweaked: The walkable surface on the USS Freedom ship - <a href=\"https:\/\/feedback.bistudio.com\/T124858\" target=\"\">FT-T124858<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T124759\" target=\"\">FT-T124759<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T124494\" target=\"\">FT-T124494<\/a><\/li>\n\t<li>Tweaked: Radio item detection now includes checking for any item in the radio inventory slot - <a href=\"https:\/\/feedback.bistudio.com\/T127729\" target=\"\">FT-T127729<\/a><\/li>\n\t<li>Tweaked: PCML damage configuration so AI is able to engage tanks with this weapon (e.g. T-100)<\/li>\n\t<li>Tweaked: Dev \/ Prof \/ RC change logs were re-directed to <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Arma_3:_Change_Logs\" target=\"\">Community Wiki<\/a><\/li>\n\t<li>Tweaked: Default sorting order for Eden Editor save \/ load display is now to show the last-saved scenario first (instead of sorting by name)<\/li>\n\t<li>Tweaked: Eden Editor context menu style<\/li>\n\t<li>Tweaked: When the Spectrum Device display is opened all engine actions are now hidden - <a href=\"https:\/\/feedback.bistudio.com\/T198138\" target=\"\">FT-T198138<\/a><\/li>\n\t<li>Tweaked: Improved load time of Eden Attribute ammo box UI<\/li>\n\t<li>Changed: Debug text font (script error messages) to one that supports non-ASCII characters<\/li>\n\t<li>Fixed: \"Updating base class\" warnings in base game data<\/li>\n\t<li>Fixed: Damaged Greenhouse door sound - <a href=\"https:\/\/feedback.bistudio.com\/T151290\" target=\"\">FT-T151290<\/a><\/li>\n\t<li>Fixed: Physics layer geometry of Barracks (Large), which was not being updated correctly when doors were manipulated - <a href=\"https:\/\/feedback.bistudio.com\/T161544\" target=\"\">FT-T161544<\/a><\/li>\n\t<li>Fixed: Incorrect value for <i>numberOfDoors<\/i> in the <i>Land_House_1B01_F<\/i> config file - <a href=\"https:\/\/feedback.bistudio.com\/T163053\" target=\"\">FT-T163053<\/a><\/li>\n\t<li>Fixed: Incorrect value for <i>numberOfDoors<\/i> in the <i>Land_House_1W05_F<\/i> and <i>Land_House_1W10_F<\/i> config files - <a href=\"https:\/\/feedback.bistudio.com\/T164644\" target=\"\">FT-T164644<\/a><\/li>\n\t<li>Fixed: Incorrect Church inheritance - <a href=\"https:\/\/feedback.bistudio.com\/T169972\" target=\"\">FT-T169972<\/a><\/li>\n\t<li>Fixed: Issue related to occluders on Livonia civilian houses - <a href=\"https:\/\/feedback.bistudio.com\/T156396\" target=\"\">FT-T156396<\/a><\/li>\n\t<li>Fixed: \"Beyond Hope - No Reprieve\" Tac-Ops campaign mission script error when artillery support is not called on terrain<\/li>\n\t<li>Fixed: \"Zeus\" and \"Firing From Vehicles\"  Showcases were not marked as belonging to their corresponding DLC<\/li>\n\t<li>Fixed: Collateral damage detection in \"Altis Requiem\" made fairer to players - <a href=\"https:\/\/feedback.bistudio.com\/T170768\" target=\"\">FT-T170768<\/a><\/li>\n\t<li>Fixed: Several script errors on starting \"Old Man\"<\/li>\n\t<li>Fixed: Script error in CoF: Green when running around the CoF before starting proper - <a href=\"https:\/\/feedback.bistudio.com\/T175788\" target=\"\">FT-T175788<\/a><\/li>\n\t<li>Fixed: Script errors in \"Anomalous Phenomena\" - <a href=\"https:\/\/feedback.bistudio.com\/T186146\" target=\"\">FT-T186146<\/a><\/li>\n\t<li>Fixed: Spectrum Device scripts could switch the camera back to the player when using ADS and switching to it on a remote-controlled character (thanks <i>Rook<\/i>)<\/li>\n\t<li>Fixed: It was possible to get stuck in the Showcase \"Laws of War\" \"Non-Combatants\" simulation when respawning after clearing a room<\/li>\n\t<li>Fixed: USS Freedom rotation causing disconnected parts (thanks <i>Markoo<\/i>) - <a href=\"https:\/\/feedback.bistudio.com\/T124858\" target=\"\">FT-T124858<\/a><\/li>\n\t<li>Fixed: Empty VO sample in Showcase \"Fighter Jets\"<\/li>\n\t<li>Fixed: Firing Drill steel plate targets would not react to hits properly after restarting a drill<\/li>\n\t<li>Fixed: SAM systems were emitting sound even after destruction - <a href=\"https:\/\/feedback.bistudio.com\/T130979\" target=\"\">FT-T130979<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_gridToPos\" target=\"\">BIS_fnc_gridToPos<\/a> was not working in Eden Editor<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/format\" target=\"\">format<\/a> script error in the Escape from Stratis scenario<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Eden_Editor:_Group#Attributes\" target=\"\">groupID<\/a> was not broadcast in the Group Callsign module - <a href=\"https:\/\/feedback.bistudio.com\/T117142\" target=\"\">FT-T117142<\/a><\/li>\n\t<li>Fixed: Default texture error on the flagpole (<i>PortableFlagPole_01_F<\/i>) - <a href=\"https:\/\/feedback.bistudio.com\/T195033\" target=\"\">FT-T195033<\/a><\/li>\n\t<li>Fixed: Ammo variant of HEMTT was missing its chimney in the first resolution LOD - <a href=\"https:\/\/feedback.bistudio.com\/T126715\" target=\"\">FT-T126715<\/a><\/li>\n\t<li>Fixed: Missing close X button in the loadout menu - <a href=\"https:\/\/feedback.bistudio.com\/T176681\" target=\"\">FT-T176681<\/a><\/li>\n\t<li>Fixed: LDF Sweater uniform was showing the wrong ground texture<\/li>\n\t<li>Fixed: A hole in the fire geometry of the Ghost Hawk - <a href=\"https:\/\/feedback.bistudio.com\/T195756\" target=\"\">FT-T195756<\/a><\/li>\n\t<li>Fixed: Ghost Hawk wheels not rotating correctly when AFM is enabled<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_kbTellLocal\" target=\"\">BIS_fnc_kbTellLocal<\/a> was not checking mission or campaign configs - <a href=\"https:\/\/feedback.bistudio.com\/T127729\" target=\"\">FT-T127729<\/a><\/li>\n\t<li>Fixed: Karts DLC helmets were not properly marked as content from DLC in Arsenal<\/li>\n\t<li>Fixed: The underground special map in Contact's \"Carpe Noctem\" was not loading from saves<\/li>\n\t<li>Fixed: Typo in the SUV list of available textures (the grey texture should now be available in Eden Editor and Virtual Garage)<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_initListNBoxSorting\" target=\"\">BIS_fnc_initListNBoxSorting<\/a> would display inverted sorting order icons<\/li>\n\t<li>Fixed: When the \"First Contact\" underground special map was loaded from a save, it would default to the top left corner instead of the player position<\/li>\n\t<li>Fixed: <i>RscCustomInfoAirborneMiniMap<\/i> would overwrite the <i>RscCustomInfoMiniMap<\/i> variable - <a href=\"https:\/\/feedback.bistudio.com\/T197736\" target=\"\">FT-T197736<\/a><\/li>\n\t<li>Fixed: Spectrum Device support for sub-Mhz ranges - <a href=\"https:\/\/feedback.bistudio.com\/T178445\" target=\"\">FT-T178445<\/a><\/li>\n\t<li>Fixed: Spectrum Device excessive shaking in vehicles - <a href=\"https:\/\/feedback.bistudio.com\/T198138\" target=\"\">FT-T198138<\/a><\/li>\n\t<li>Fixed: Typo in the sound configuration for the Decon Shower - <a href=\"https:\/\/feedback.bistudio.com\/T188151\" target=\"\">FT-T188151<\/a><\/li>\n\t<li>Fixed: Huron's second rotor did not have its own hit selection name - <a href=\"https:\/\/feedback.bistudio.com\/T189559\" target=\"\">FT-T189559<\/a><\/li>\n\t<li>Fixed: Chemlight module did not show all of its options - <a href=\"https:\/\/feedback.bistudio.com\/T197569\" target=\"\">FT-T197569<\/a><\/li>\n\t<li>Fixed: Community Guides did not properly start playing in Steam overlay<\/li>\n\t<li>Fixed: Typo in T-100X VFX config (and effect tweaked slightly) - <a href=\"https:\/\/feedback.bistudio.com\/T186109\" target=\"\">FT-T186109<\/a><\/li>\n\t<li>Fixed: Missing PhysX geometry in the tail section of Ghost Hawk<\/li>\n\t<li>Fixed: Incorrect sound set was used for the T-100X railgun - <a href=\"https:\/\/feedback.bistudio.com\/T199641\" target=\"\">FT-T199641<\/a><br><\/li>\n<\/ul>\n<p><i>*) These languages were experimentally translated using an AI model. The quality of these translations is not guaranteed, and they may contain mistakes. Separate issues are unlikely to be fixed, but full regenerations using improved models may occur. All other existing languages were translated by a team of human translators.<\/i><br><\/p>\n<h3>ENGINE<\/h3>\n<ul>\n\t<li><b>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Vehicle_Loadouts#%22Generic%22_Pylons\" target=\"\">Generic vehicle pylons<\/a><\/b><\/li>\n\t<li><b>Added: Audio input device selection in the audio options<\/b> - <a href=\"https:\/\/feedback.bistudio.com\/T172191\" target=\"\">FT-T172191<\/a><\/li>\n\t<li>Added: Netcode fast retransmit on packet loss<\/li>\n\t<li>Added: -<i>cpuAffinity<\/i> command-line parameter<\/li>\n\t<li>Added: -<i>cpuMainThreadAffinity<\/i> command-line parameter<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bohemia.net\/wiki\/getServerInfo\" target=\"\">getServerInfo<\/a> command now forwards the \"PublicSettings\" class from <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Server_Config_File\" target=\"\">server.cfg<\/a><\/li>\n\t<li>Added: <i>OnMissionInit<\/i> \/ <i>OnMarkerCreated<\/i> \/ <i>OnHandleChatMessage<\/i> server-side events<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/spawn\" target=\"\">spawn<\/a> <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Server_Side_Scripting#Shared_Commands\" target=\"\">server-side script<\/a> command<\/li>\n\t<li>Added: <a href=\"https:\/\/enfusionengine.com\/\" target=\"\">Enfusion<\/a> crash reporter integration<\/li>\n\t<li>Added: Extension \"RVFeature_ArgumentNoEscapeString\" <a href=\"https:\/\/community.bistudio.com\/wiki\/Extensions#Feature_Flags\" target=\"\">feature flag<\/a> for more efficient string passing - <a href=\"https:\/\/feedback.bistudio.com\/T184219\" target=\"\">FT-T184219<\/a><\/li>\n\t<li>Added: Support for <i>ARGB8888<\/i> PAA textures<\/li>\n\t<li>Added: -<i>keysFolder=<\/i> command-line parameter<\/li>\n\t<li>Added: Script commands <a href=\"https:\/\/community.bistudio.com\/wiki\/attachChild\" target=\"\">attachChild<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/detachChild\" target=\"\">detachChild<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/childAttached\" target=\"\">childAttached<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/parentAttached\" target=\"\">parentAttached<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/setJointDrivePosition\" target=\"\">setJointDrivePosition<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/setJointDriveOrientation\" target=\"\">setJointDriveOrientation<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/setJointDriveLinearVelocity\" target=\"\">setJointDriveLinearVelocity<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/setJointDriveAngularVelocity\" target=\"\">setJointDriveAngularVelocity<\/a><\/li>\n\t<li>Added: Alternate syntax for <a href=\"https:\/\/community.bistudio.com\/wiki\/spawn\" target=\"\">spawn<\/a> without arguments<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Script_Handle#Promise_Handles\" target=\"\">Script handle promises<\/a><\/li>\n\t<li>Added: Ability for Extensions to read R2T Textures (<a href=\"https:\/\/community.bistudio.com\/wiki\/Extensions#Game_Functions\" target=\"\">RVExtensionGGetR2TTexture<\/a>)<\/li>\n\t<li>Added: \"LaserTargetChanged\" entity Event Handler - <a href=\"https:\/\/feedback.bistudio.com\/T163593\" target=\"\">FT-T163593<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/objectParent\" target=\"\">objectParent<\/a> now returns the owner of <i>LaserTargets<\/i> - <a href=\"https:\/\/feedback.bistudio.com\/T163593\" target=\"\">FT-T163593<\/a><\/li>\n\t<li>Added: Animation source <i>pilotLight<\/i> - <a href=\"https:\/\/feedback.bistudio.com\/T193507\" target=\"\">FT-T193507<\/a><\/li>\n\t<li>Added: \"water\" sound controller for <i>CfgAmmo<\/i> explosions - <a href=\"https:\/\/feedback.bistudio.com\/T154695\" target=\"\">FT-T154695<\/a><\/li>\n\t<li>Added: \"damage\" sound controller for transport vehicles - <a href=\"https:\/\/feedback.bistudio.com\/T130979\" target=\"\">FT-T130979<\/a><\/li>\n\t<li>Added: Live microphone playback while adjusting sensitivity in the audio options - <a href=\"https:\/\/feedback.bistudio.com\/T172191\" target=\"\">FT-T172191<\/a><\/li>\n\t<li>Added: \"VoNStateChanged\" entity <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers\" target=\"\">Event Handler<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T193790\" target=\"\">FT-T193790<\/a><\/li>\n\t<li>Added: Interior sound controller for explosions - <a href=\"https:\/\/feedback.bistudio.com\/T193903\" target=\"\">FT-T193903<\/a><\/li>\n\t<li>Added: \"extension\" <a href=\"https:\/\/community.bistudio.com\/wiki\/Procedural_Textures\" target=\"\">texture source<\/a><\/li>\n\t<li>Added: Support for <i>keepInInventory<\/i> config parameter and throw muzzles<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/removeWeaponItem\" target=\"\">removeWeaponItem<\/a> script command<\/li>\n\t<li>Added: Server-side log warning when a Headless Client slot has no assigned name (making it unusable)<\/li>\n\t<li>Added: CfgPatches <i>skipWhenAnyAddonPresent<\/i> property - <a href=\"https:\/\/feedback.bistudio.com\/T195122\" target=\"\">FT-T195122<\/a><\/li>\n\t<li>Added: Automatic cleaning of the MPMissionsCache folder (if above 1GB, deleting the oldest files that are over 50MB, except for the 5 newest) - <a href=\"https:\/\/feedback.bistudio.com\/T195101\" target=\"\">FT-T195101<\/a><\/li>\n\t<li>Added: Scripted Post Processing effects are now visible in Thermal Imaging view<\/li>\n\t<li>Added: Two additional altitude options for UAV waypoints - <a href=\"https:\/\/feedback.bistudio.com\/T123540\" target=\"\">FT-T123540<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T181041\" target=\"\">FT-T181041<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T119488\" target=\"\">FT-T119488<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T123054\" target=\"\">FT-T123054<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Server_Config_File\" target=\"\">server.cfg<\/a>\/<i>AdvancedOptions<\/i>\/<i>logPlayerConnectionStates<\/i> to log player \"connecting\" progress<\/li>\n\t<li>Added: Optional parameter to <a href=\"https:\/\/community.bistudio.com\/wiki\/setParticleCircle\" target=\"\">setParticleCircle<\/a> to ignore surfaces  - <a href=\"https:\/\/feedback.bistudio.com\/T162981\" target=\"\">FT-T162981<\/a><\/li>\n\t<li>Added: Config class can now contain \"delete\" and definition of class with same name (to delete and recreate classes for an intentional base class change)<\/li>\n\t<li>Added: Alternative syntax to <a href=\"https:\/\/community.bistudio.com\/wiki\/configHierarchy\" target=\"\">configHierarchy<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T83667\" target=\"\">FT-T83667<\/a><\/li>\n\t<li>Added: Alternative syntax to <a href=\"https:\/\/community.bistudio.com\/wiki\/configClasses\" target=\"\">configClasses<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T83667\" target=\"\">FT-T83667<\/a><\/li>\n\t<li>Added: Alternative syntax to <a href=\"https:\/\/community.bistudio.com\/wiki\/needReload\" target=\"\">needReload<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T151761\" target=\"\">FT-T151761<\/a><\/li>\n\t<li>Added: -<i>noWindowBorder<\/i> command-line parameter to start the game in a borderless window<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/disableAI\" target=\"\">disableAI<\/a> command to block all AI leader commanding<\/li>\n\t<li>Added: Option for soft-set of turret limits to the <a href=\"https:\/\/community.bistudio.com\/wiki\/setTurretLimits\" target=\"\">setTurretLimits<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T170696\" target=\"\">FT-T170696<\/a><\/li>\n\t<li>Added: \"ts3server:\" as allowed protocol for openable URLs (button \/ links) - <a href=\"https:\/\/feedback.bistudio.com\/T195169\" target=\"\">FT-T195169<\/a><\/li>\n\t<li>Added: Alternative syntax to the <a href=\"https:\/\/community.bistudio.com\/wiki\/drawIcon3D\" target=\"\">drawIcon3D<\/a> script command with extended capabilities - <a href=\"https:\/\/feedback.bistudio.com\/T194108\" target=\"\">FT-T194108<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T169233\" target=\"\">FT-T169233<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T167397\" target=\"\">FT-T167397<\/a><\/li>\n\t<li>Added: Alternative syntax to the <a href=\"https:\/\/community.bistudio.com\/wiki\/getTextureInfo\" target=\"\">getTextureInfo<\/a> script command to return texture screen width<\/li>\n\t<li>Added: Option to set group icon offset for 3D drawing separately - <a href=\"https:\/\/feedback.bistudio.com\/T170299\" target=\"\">FT-T170299<\/a><\/li>\n\t<li>Added: Progress bar feature to the <a href=\"https:\/\/community.bistudio.com\/wiki\/drawIcon3D\" target=\"\">drawIcon3D<\/a><\/li>\n\t<li>Added: Engine support for custom marker color in Eden Editor - <a href=\"https:\/\/feedback.bistudio.com\/T186076\" target=\"\">FT-T186076<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/getLightInfo\" target=\"\">getLightInfo<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T188531\" target=\"\">FT-T188531<\/a><\/li>\n\t<li>Added: Ability to use custom texture for arrows to <a href=\"https:\/\/community.bistudio.com\/wiki\/drawIcon3D\" target=\"\">drawIcon3D<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T181489\" target=\"\">FT-T181489<\/a><\/li>\n\t<li>Added: 50 custom radio channels to the existing 10 - <a href=\"https:\/\/feedback.bistudio.com\/T194246\" target=\"\">FT-T194246<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T159403\" target=\"\">FT-T159403<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T85311\" target=\"\">FT-T85311<\/a><\/li>\n\t<li>Added: <i>SuperExt<\/i> shader now uses <i>emissive<\/i> property alpha channel as a multiplier of the emissive texture - <a href=\"https:\/\/feedback.bistudio.com\/T196021\" target=\"\">FT-T196021<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/getEventHandlerInfo\" target=\"\">getEventHandlerInfo<\/a> now also supports Eden Editor events<\/li>\n\t<li>Added: Ability to set VoN callsign on a custom radio channel - <a href=\"https:\/\/feedback.bistudio.com\/T175722\" target=\"\">FT-T175722<\/a><\/li>\n\t<li>Added: \"StaminaDrainCoef\" to <a href=\"https:\/\/community.bistudio.com\/wiki\/setUnitTrait\" target=\"\">setUnitTrait<\/a> to influence stamina drain rate - <a href=\"https:\/\/feedback.bistudio.com\/T192934\" target=\"\">FT-T192934<\/a><\/li>\n\t<li>Added: <i>aiAwareIsCautious<\/i> config property for tanks (setting this to 0 will make them work like cars that do not consider aware mode) - <a href=\"https:\/\/feedback.bistudio.com\/T191476\" target=\"\">FT-T191476<\/a><\/li>\n\t<li>Added: <i>collisionSoundOverride<\/i> \/ <i>collisionDamageCoef<\/i> config properties for building types<\/li>\n\t<li>Added: Vehicle exhaust particle emitter positions can now be animated - <a href=\"https:\/\/feedback.bistudio.com\/T196146\" target=\"\">FT-T196146<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/compatibleWeapons\" target=\"\">compatibleWeapons<\/a> script command<\/li>\n\t<li>Added: \"ScriptSpawned\" mission Event Handler - <a href=\"https:\/\/feedback.bistudio.com\/T171265\" target=\"\">FT-T171265<\/a><\/li>\n\t<li>Added: Script handles can now be used in <a href=\"https:\/\/community.bistudio.com\/wiki\/hashValue\" target=\"\">hashValue<\/a>, additionally <a href=\"https:\/\/community.bistudio.com\/wiki\/diag_activeSQFScripts\" target=\"\">diag_activeSQFScripts<\/a> now also includes the hashed handle of running scripts<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/pylonAction\" target=\"\">pylonAction<\/a> script command<\/li>\n\t<li>Added: Alternative syntax to the <a href=\"https:\/\/community.bistudio.com\/wiki\/triggerAmmo\" target=\"\">triggerAmmo<\/a> script command with the ability to set trigger time and trigger distance - <a href=\"https:\/\/feedback.bistudio.com\/T184143\" target=\"\">FT-T184143<\/a><\/li>\n\t<li>Added: Support for suppression by hand grenades including Event Handler triggering<\/li>\n\t<li>Added: 2 new config parameters for hand grenades: <i>suppressionRadiusGrenadeClose<\/i> (default 5) and <i>dangerRadiusGrenadeClose<\/i> (default 3)<\/li>\n\t<li>Added: A property to <a href=\"https:\/\/community.bistudio.com\/wiki\/getVideoOptions\" target=\"\">getVideoOptions<\/a> to detect Reshade, DXVK, and other rendering modifications<\/li>\n\t<li>Added: Entity ID to <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Eden_Editor_Event_Handlers\" target=\"\">\"OnEditableEntityRemoved\"<\/a> event - <a href=\"https:\/\/feedback.bistudio.com\/T175775\" target=\"\">FT-T175775<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/setTargetSize\" target=\"\">setTargetSize<\/a> script command<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/waitUntil\" target=\"\">waitUntil<\/a> alternative syntax with timeout and check interval<\/li>\n\t<li>Added: Script conditions to <a href=\"https:\/\/community.bistudio.com\/wiki\/Eden_Editor:_Custom_Connections\" target=\"\">3DEN custom connections<\/a><\/li>\n\t<li>Added: Script conditions to <a href=\"https:\/\/community.bistudio.com\/wiki\/Eden_Editor:_Entity_Context_Menu\" target=\"\">3DEN context menu items<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> custom connection: cursor icon now changes to 'disabled' when the connection cannot be made<\/li>\n\t<li>Added: Shortcuts now work in Eden Editor's context menus - <a href=\"https:\/\/feedback.bistudio.com\/T140938\" target=\"\">FT-T140938<\/a><\/li>\n\t<li>Added: <i>submenuXOffset<\/i> \/ <i>submenuYOffset<\/i> for <i>StructuredMenu<\/i> (<a href=\"https:\/\/community.bistudio.com\/wiki\/CT_MENU\" target=\"\">CT_MENU<\/a>) to specify the origin position of submenus<\/li>\n\t<li>Added: <i>colorStripBorder<\/i> for <i>MenuStrip<\/i> controls (to separate the strip's border from the opened menu's border)<\/li>\n\t<li>Added: Eden Editor now renders custom connections as an arrow instead of a line (to indicate which is the first \/ second entity)<\/li>\n\t<li>Added: Script conditions to <a href=\"https:\/\/community.bistudio.com\/wiki\/Eden_Editor:_Configuring_Attributes#2.22_ConditionScript\" target=\"\">3DEN attributes<\/a><\/li>\n\t<li>Added: Support for wildcard \/ RegEx search in the <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> Create tree<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/typeOf\" target=\"\">typeOf<\/a> command now supports Controls and Displays<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> action <a href=\"https:\/\/community.bistudio.com\/wiki\/Eden_Editor:_Actions#CreateTextFile\" target=\"\">\"CreateTextFile\"<\/a> to create files into the scenario folder within Eden Editor<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/get3DENEntityID\" target=\"\">get3DENEntityID<\/a> now also works with entities from within scenario previews<\/li>\n\t<li>Added: Special \"$mission\" prefix to <a href=\"https:\/\/community.bistudio.com\/wiki\/addonFiles\" target=\"\">addonFiles<\/a> command to retrieve scenario folder files while in Eden Editor<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Eden_Editor_Event_Handlers\" target=\"\">\"OnConnectionAdded\"<\/a> \/ <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Eden_Editor_Event_Handlers\" target=\"\">\"OnConnectionRemoved\"<\/a> <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> Event Handlers<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/combatPace\" target=\"\">combatPace<\/a> script command<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/enableFreeLook\" target=\"\">enableFreeLook<\/a> script command<\/li>\n\t<li>Added: Vehicle config <i>textureTrackOverride<\/i> entry to override the track marks texture<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers#AmmoExplodedNear\" target=\"\">\"AmmoExplodedNear\"<\/a> entity Event Handler<\/li>\n\t<li>Added: Calls to <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Scripted_Event_Handlers#Structures\" target=\"\">scripted Event Handlers<\/a> on structure damage and destroy events<\/li>\n\t<li>Added: New <i>destrType<\/i> <i>DestructColumn<\/i><\/li>\n\t<li>Added: <i>animPosition<\/i> memory point configuration for vehicle sensors - <a href=\"https:\/\/feedback.bistudio.com\/T197908\" target=\"\">FT-T197908<\/a><\/li>\n\t<li>Added: New command <a href=\"https:\/\/community.bistudio.com\/wiki\/getAnimationsQueue\" target=\"\">getAnimationsQueue<\/a><\/li>\n\t<li>Added: New command <a href=\"https:\/\/community.bistudio.com\/wiki\/getAimDirectionAndUp\" target=\"\">getAimDirectionAndUp<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/enableGunStabilization\" target=\"\">enableGunStabilization<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T162061\" target=\"\">FT-T162061<\/a><\/li>\n\t<li>Added: Refract shader material <i>renderFlag<\/i> \"Special1\" to disable aberration and time-based normal map UV animation - <a href=\"https:\/\/feedback.bistudio.com\/T198170\" target=\"\">FT-T198170<\/a><\/li>\n\t<li>Added: <i>mapMarkersEnabled<\/i> \/ <i>mapDrawingEnabled<\/i> to the <a href=\"https:\/\/community.bistudio.com\/wiki\/enableChannel\" target=\"\">enableChannel<\/a> command - <a href=\"https:\/\/feedback.bistudio.com\/T197705\" target=\"\">FT-T197705<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Extensions#Extension_Signatures\" target=\"\">CfgExtensions<\/a> pre-load verification Event Handler<\/li>\n\t<li>Added: <i>activeSensors<\/i> sound controller on transport vehicles<\/li>\n\t<li>Added: <i>stallSpeedForced<\/i> config parameter, which will overwrite the airplane's stalling speed - <a href=\"https:\/\/feedback.bistudio.com\/T197983\" target=\"\">FT-T197983<\/a><\/li>\n\t<li>Added: -<i>mpmissions=<\/i> command-line parameter for servers - <a href=\"https:\/\/feedback.bistudio.com\/T63330\" target=\"\">FT-T63330<\/a><\/li>\n\t<li>Added: \"JointAttached\" \/ \"JointDetached\" Event Handlers<\/li>\n\t<li>Added: Option to choose vehicle positions and the search order to the <a href=\"https:\/\/community.bistudio.com\/wiki\/moveInAny\" target=\"\">moveInAny<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T180897\" target=\"\">FT-T180897<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T181607\" target=\"\">FT-T181607<\/a><\/li>\n\t<li>Added: Alternative syntax to <a href=\"https:\/\/community.bistudio.com\/wiki\/emptyPositions\" target=\"\">emptyPositions<\/a> to correlate with <a href=\"https:\/\/community.bistudio.com\/wiki\/moveInAny\" target=\"\">moveInAny<\/a> algorithm<\/li>\n\t<li>Added: <i>idleFPSLimit<\/i> server config to limit maximum FPS while a server is empty<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/disableAI\" target=\"\">disableAI<\/a> \"HEARING\" - <a href=\"https:\/\/feedback.bistudio.com\/T199087\" target=\"\">FT-T199087<\/a><\/li>\n\t<li>Added: \"OnAutoSelectRole\" server-side Event Handler (allows full scripted control of automatic role assignment) - <a href=\"https:\/\/feedback.bistudio.com\/T198797\" target=\"\">FT-T198797<\/a><\/li>\n\t<li>Added: <i>getRoles<\/i> server-side script command - <a href=\"https:\/\/feedback.bistudio.com\/T198797\" target=\"\">FT-T198797<\/a><\/li>\n\t<li>Added: <i>toJSON<\/i> \/ <i>fromJSON<\/i> \/ <i>supportInfo<\/i> to server-side script commands<\/li>\n\t<li>Added: \"OnPlayerSelectRole\" server-side Event Handler - <a href=\"https:\/\/feedback.bistudio.com\/T198797\" target=\"\">FT-T198797<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/shownAction\" target=\"\">shownAction<\/a> script command<\/li>\n\t<li>Added: <i>#mpmissions<\/i> BattlEye RCon command to list the available missions on the server - <a href=\"https:\/\/feedback.bistudio.com\/T199178\" target=\"\">FT-T199178<\/a><\/li>\n\t<li>Added: Option to <a href=\"https:\/\/community.bistudio.com\/wiki\/moveInAny\" target=\"\">moveInAny<\/a> and <a href=\"https:\/\/community.bistudio.com\/wiki\/emptyPositions\" target=\"\">emptyPositions<\/a> to ignore or not locked positions<\/li>\n\t<li>Added: Custom color support to non-scripted (config) IR lasers<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/hideActions\" target=\"\">hideActions<\/a> and <a href=\"https:\/\/community.bistudio.com\/wiki\/hiddenActions\" target=\"\">hiddenActions<\/a> script commands - <a href=\"https:\/\/feedback.bistudio.com\/T158770\" target=\"\">FT-T158770<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T158795\" target=\"\">FT-T158795<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T81560\" target=\"\">FT-T81560<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T74062\" target=\"\">FT-T74062<\/a><\/li>\n\t<li>Added: Mission Event Handler \"ActionTargetChanged\"<\/li>\n\t<li>Added: \"DisplayOpened\" Mission Event Handler - <a href=\"https:\/\/feedback.bistudio.com\/T199140\" target=\"\">FT-T199140<\/a><\/li>\n\t<li>Added: <i>timeStampFormatConsole<\/i> server config parameter - <a href=\"https:\/\/feedback.bistudio.com\/T199089\" target=\"\">FT-T199089<\/a><\/li>\n\t<li>Added: <i>@shadowColor<\/i> parameter to <a href=\"https:\/\/community.bistudio.com\/wiki\/drawIcon3D\" target=\"\">drawIcon3D<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T198990\" target=\"\">FT-T198990<\/a><\/li>\n\t<li>Added Ability to log <i>#monitords<\/i> data to BattlEye RCon independently of server console<\/li>\n\t<li>Added: <i>PilotCamera<\/i> <i>memoryPointDriverOptics<\/i> now animates its memory point<\/li>\n\t<li>Added: Vehicle pylons attribute in 3DEN now reads the pylon config entry <i>pylonUsableByTurrets<\/i>, which is an array of turret class names allowed to use the pylon (some pylon pods can be limited to only specific turrets)<\/li>\n\t<li>Added: <i>pylonMirrorClass<\/i> config entry for pylon pods to override the class name of their mirrored variant<\/li>\n\t<li>Added: Config entry <i>turretsAvailable<\/i> in vehicle pylons, which allows restricting pylon assignment to specific vehicle seats<\/li>\n\t<li><b>Tweaked: Improved netcode performance<\/b><\/li>\n\t<li><b>Tweaked: Improved game start speed<\/b><\/li>\n\t<li><b>Tweaked: Adjustments to prone weapon deployment to prevent the player floating or sinking into the ground<\/b><\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bohemia.net\/wiki\/nearEntities\" target=\"\">nearEntities<\/a> is now using an updated format for area definition, in line with the <a href=\"https:\/\/community.bohemia.net\/wiki\/inArea\" target=\"\">inArea<\/a> format (thanks <i>thegamecracks<\/i>)<\/li>\n\t<li>Tweaked: MFD radar target filtering is now multithreaded<\/li>\n\t<li>Tweaked: Optimization for loading of Car \/ Tank vehicles, which speeds up Eden Editor mission loading and reduces lag spikes when spawning vehicles<\/li>\n\t<li>Tweaked: Added optional parameter to <a href=\"https:\/\/community.bistudio.com\/wiki\/throwables\" target=\"\">throwables<\/a> to return empty magazines<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/throwables\" target=\"\">throwables<\/a> and <a href=\"https:\/\/community.bistudio.com\/wiki\/currentThrowable\" target=\"\">currentThrowable<\/a> format now includes ammo count<\/li>\n\t<li>Tweaked: Amphibious AI tank steering in water - <a href=\"https:\/\/feedback.bistudio.com\/T170421\" target=\"\">FT-T170421<\/a><\/li>\n\t<li>Tweaked: Improved game startup time if improperly created mods log many error messages<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/drawIcon3D\" target=\"\">drawIcon3D<\/a> was still added to the draw queue when the game was paused - <a href=\"https:\/\/feedback.bistudio.com\/T167397\" target=\"\">FT-T167397<\/a><\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/getTextWidth\" target=\"\">getTextWidth<\/a> can now use current font and size by default<\/li>\n\t<li>Tweaked: Added alternate syntax to <a href=\"https:\/\/community.bistudio.com\/wiki\/radioChannelInfo\" target=\"\">radioChannelInfo<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T194246\" target=\"\">FT-T194246<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T159403\" target=\"\">FT-T159403<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T85311\" target=\"\">FT-T85311<\/a><\/li>\n\t<li>Tweaked: Added loop option to <a href=\"https:\/\/community.bistudio.com\/wiki\/playSound3D\" target=\"\">playSound3D<\/a> and <a href=\"https:\/\/community.bistudio.com\/wiki\/playSoundUI\" target=\"\">playSoundUI<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T195793\" target=\"\">FT-T195793<\/a><\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/soundParams\" target=\"\">soundParams<\/a> extended to return looped status - <a href=\"https:\/\/feedback.bistudio.com\/T195793\" target=\"\">FT-T195793<\/a><\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/soundParams\" target=\"\">soundParams<\/a> can now return all IDs of the currently playing sound - <a href=\"https:\/\/feedback.bistudio.com\/T195793\" target=\"\">FT-T195793<\/a><\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/compatibleItems\" target=\"\">compatibleItems<\/a> and <a href=\"https:\/\/community.bistudio.com\/wiki\/compatibleMagazines\" target=\"\">compatibleMagazines<\/a> now support case-insensitive entries for muzzles and weapon slots<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/canAdd\" target=\"\">canAdd<\/a> is now also case-insensitive to muzzle and weapon slot entries<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/getShotInfo\" target=\"\">getShotInfo<\/a> is expanded with shot owner and shot instigator return values<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/compatibleMagazines\" target=\"\">compatibleMagazines<\/a> can now also take an ammo name - <a href=\"https:\/\/feedback.bistudio.com\/T196535\" target=\"\">FT-T196535<\/a><\/li>\n\t<li>Tweaked: RPT Mod \/ DLC lists are now left-aligned - <a href=\"https:\/\/feedback.bistudio.com\/T196884\" target=\"\">FT-T196884<\/a><\/li>\n\t<li>Tweaked: AI units will now shout a warning if an enemy hand grenade is detected nearby before taking defensive actions - <a href=\"https:\/\/feedback.bistudio.com\/T180926\" target=\"\">FT-T180926<\/a><\/li>\n\t<li>Tweaked: Added multiplayer compatible alternative syntax to <a href=\"https:\/\/community.bistudio.com\/wiki\/UAVControl\" target=\"\">UAVControl<\/a><\/li>\n\t<li>Tweaked: Area and marker parameters for <a href=\"https:\/\/community.bistudio.com\/wiki\/nearEntities\" target=\"\">nearEntities<\/a> were updated to match with <a href=\"https:\/\/community.bistudio.com\/wiki\/inArea\" target=\"\">inArea<\/a> parameters - <a href=\"https:\/\/feedback.bistudio.com\/T197081\" target=\"\">FT-T197081<\/a><\/li>\n\t<li>Tweaked: Improved performance of AI sensor target visibility checks<\/li>\n\t<li>Tweaked: \"WeaponChanged\" Event Handler now also fires for Throw muzzle changes - <a href=\"https:\/\/feedback.bistudio.com\/T197126\" target=\"\">FT-T197126<\/a><\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> Create tree search is now multithreaded<\/li>\n\t<li>Tweaked: Allowing <a href=\"https:\/\/community.bistudio.com\/wiki\/animationState\" target=\"\">animationState<\/a> \/ <a href=\"https:\/\/community.bistudio.com\/wiki\/getUnitMovesInfo\" target=\"\">getUnitMovesInfo<\/a> commands to work on animals<\/li>\n\t<li>Tweaked: Added ability to detect locality of scripted <a href=\"https:\/\/community.bistudio.com\/wiki\/setDamage\" target=\"\">setDamage<\/a> events for static structures<\/li>\n\t<li>Tweaked: Added <i>aiAmmoUsageFlagsStrict<\/i> property to ammo config to force strict use of AI ammo usage flags - <a href=\"https:\/\/feedback.bistudio.com\/T197937\" target=\"\">FT-T197937<\/a><\/li>\n\t<li>Tweaked: Server browser LAN \/ Direct Connect view is no longer limited to only 16 results<\/li>\n\t<li>Tweaked: Dead body inventories now show both dropped weapons in the 'ground' list - <a href=\"https:\/\/feedback.bistudio.com\/T198101\" target=\"\">FT-T198101<\/a><\/li>\n\t<li>Tweaked: Weapon twitching is now suppressed when inventory is opened on a dead body's weapons<\/li>\n\t<li>Tweaked: Added scripted texture support for <a href=\"https:\/\/community.bistudio.com\/wiki\/CT_PROGRESS\" target=\"\">CT_PROGRESS<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T198806\" target=\"\">FT-T198806<\/a><\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/closeDisplay\" target=\"\">closeDisplay<\/a> on a UI2Texture display now instantly closes \/ unloads the display - <a href=\"https:\/\/feedback.bistudio.com\/T199098\" target=\"\">FT-T199098<\/a><\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/limitSpeed\" target=\"\">limitSpeed<\/a> false will now reset the limit speed to its default value - <a href=\"https:\/\/feedback.bistudio.com\/T179442\" target=\"\">FT-T179442<\/a><\/li>\n\t<li>Changed: Updated to XAudio 2.9<\/li>\n\t<li>Changed: Dedicated Server no longer requires XAudio DLL files<\/li>\n\t<li>Changed: Audio input is now using Windows Audio Session API (instead of Windows Multimedia)<\/li>\n\t<li>Changed: Increased number of RenderTargets from 8 to 10<\/li>\n\t<li>Changed: \"Cannot find base class\" config error is now a warning, and will try to load anyway without inheriting the base class<\/li>\n\t<li>Changed: Client now does not send files larger than a server's <i>maxCustomFileSize<\/i> limit (preventing server from kicking the client) - <a href=\"https:\/\/feedback.bistudio.com\/T193138\" target=\"\">FT-T193138<\/a><\/li>\n\t<li>Changed: More detailed source information in \"Updating base class\" warnings<\/li>\n\t<li>Changed: Silenced \"Updating base class\" warnings if the base was a forward declaration (except if -<i>debug<\/i> is set because it still indicates a load order issue)<\/li>\n\t<li>Changed: The \"Copy Version\" hotkey now also works in camera sequences and multiplayer<\/li>\n\t<li>Changed: Remote controlled UAV pilots can now control lights and collision lights - <a href=\"https:\/\/feedback.bistudio.com\/T196161\" target=\"\">FT-T196161<\/a><\/li>\n\t<li>Fixed: Animation skipping \/ freezing on long animations<\/li>\n\t<li>Fixed: Config parsing errors would be reported with the wrong line number if the file had empty lines at the start<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/fullCrew\" target=\"\">fullCrew<\/a> was returning an empty driver position for the static weapon<\/li>\n\t<li>Fixed: AI would stop engaging the enemy after it is released from remote control - <a href=\"https:\/\/feedback.bistudio.com\/T179189\" target=\"\">FT-T179189<\/a><\/li>\n\t<li>Fixed: Network weapons desync when using <a href=\"https:\/\/community.bistudio.com\/wiki\/setUnitLoadout\" target=\"\">setUnitLoadout<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T167015\" target=\"\">FT-T167015<\/a><\/li>\n\t<li>Fixed: Helicopter would not land on a helipad that was placed on an object over a sea surface - <a href=\"https:\/\/feedback.bistudio.com\/T193098\" target=\"\">FT-T193098<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Steam_Game_Recording\" target=\"\">Steam Game Recording<\/a> overrides in <a href=\"https:\/\/community.bistudio.com\/wiki\/Description.ext\" target=\"\">description.ext<\/a> would not apply if the event was triggered before the mission was loaded<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers#Mission_Event_Handlers\" target=\"\">Mission Event Handler<\/a> arguments of type Object \/ Group \/ Script would become null after loading a save<\/li>\n\t<li>Fixed: Depth of Field Post-Processing effect could not be applied multiple times - <a href=\"https:\/\/feedback.bistudio.com\/T163827\" target=\"\">FT-T163827<\/a><\/li>\n\t<li>Fixed: Executing <a href=\"https:\/\/community.bistudio.com\/wiki\/allDiaryRecords\" target=\"\">allDiaryRecords<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/allDiarySubjects\" target=\"\">Subjects<\/a> after a diary change would block the visual update<\/li>\n\t<li>Fixed: Game freeze when holding down the PrintScreen key<\/li>\n\t<li>Fixed: <i>CarHorn<\/i> type weapons did not work for <i>Tank<\/i> type vehicles - <a href=\"https:\/\/feedback.bistudio.com\/T192002\" target=\"\">FT-T192002<\/a><\/li>\n\t<li>Fixed: Dedicated Server would keep the <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Server_Config_File\" target=\"\">config file<\/a> locked for editing while it was running<\/li>\n\t<li>Fixed: Audio input would get lost when switching the input device, and could not be recovered without a game restart (now it automatically switches to a new device) - <a href=\"https:\/\/feedback.bistudio.com\/T172191\" target=\"\">FT-T172191<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/worldName\" target=\"\">worldName<\/a> would be lowercased after loading a save - <a href=\"https:\/\/feedback.bistudio.com\/T193597\" target=\"\">FT-T193597<\/a><\/li>\n\t<li>Fixed: Entity config <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers\" target=\"\">Event Handlers<\/a> for WeaponChanged \/ EpeContactStart \/ EpeContactEnd \/ EpeContact, did only trigger if there was also a scripted Event Handler of the same type - <a href=\"https:\/\/feedback.bistudio.com\/T193588\" target=\"\">FT-T193588<\/a><\/li>\n\t<li>Fixed: Empty subgroups would not be removed from groups and could trigger errors<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/createSoundSource\" target=\"\">createSoundSource<\/a> ignored speed of sound - <a href=\"https:\/\/feedback.bistudio.com\/T177285\" target=\"\">FT-T177285<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/throwables\" target=\"\">throwables<\/a> script command return was inconsistent<\/li>\n\t<li>Fixed: Mismatch of shot dispersion in multiplayer - <a href=\"https:\/\/feedback.bistudio.com\/T194410\" target=\"\">FT-T194410<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers#Take\" target=\"\">\"Take\"<\/a> Entity Event Handler did not fire when using the \"Rearm\" action - <a href=\"https:\/\/feedback.bistudio.com\/T194245\" target=\"\">FT-T194245<\/a><\/li>\n\t<li>Fixed: Creating a <a href=\"https:\/\/community.bistudio.com\/wiki\/Waypoints\" target=\"\">CYCLE waypoint<\/a> sometimes crashed the game<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/nearSupplies\" target=\"\">nearSupplies<\/a> alternate syntax did not work - <a href=\"https:\/\/feedback.bistudio.com\/T194780\" target=\"\">FT-T194780<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/calculatePath\" target=\"\">calculatePath<\/a> did not work when the starting position was too far out of terrain bounds - <a href=\"https:\/\/feedback.bistudio.com\/T193491\" target=\"\">FT-T193491<\/a><\/li>\n\t<li>Fixed: Aircraft autopilot would reduce speed to the wrong value and change vectoring mode in VTOL when input focus is lost - <a href=\"https:\/\/feedback.bistudio.com\/T192405\" target=\"\">FT-T192405<\/a><\/li>\n\t<li>Fixed: Aircraft autopilot would not be able to catch an airplane on too steep a dive when input focus is lost - <a href=\"https:\/\/feedback.bistudio.com\/T192405\" target=\"\">FT-T192405<\/a><\/li>\n\t<li>Fixed: Destroying streetlights (any House simulation object with attached lights) while simulation is disabled would leave behind floating light emitters<\/li>\n\t<li>Fixed: Going back from slot selection in a multiplayer campaign would start the next mission instead of showing mission selection<\/li>\n\t<li>Fixed: Mines with a wire trigger did not update their trigger location when teleported or moved - <a href=\"https:\/\/feedback.bistudio.com\/T193669\" target=\"\">FT-T193669<\/a><\/li>\n\t<li>Fixed: Several \"Ref to nonnetwork object\" occurrences -  <a href=\"https:\/\/feedback.bistudio.com\/T178229\" target=\"\">FT-T178229<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T171682\" target=\"\">FT-T171682<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/HashMap\" target=\"\">HashMap<\/a> <i>compileFinal<\/i> did not keep HashMapObject's <i>NoCopy<\/i> flag - <a href=\"https:\/\/feedback.bistudio.com\/T194855\" target=\"\">FT-T194855<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/HashMap\" target=\"\">HashMap<\/a> non-existent values would get replaced by nil values when stored into <a href=\"https:\/\/community.bistudio.com\/wiki\/profileNamespace\" target=\"\">profileNamespace<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/setMarkerShadow\" target=\"\">setMarkerShadow<\/a> did not sync in multiplayer - <a href=\"https:\/\/feedback.bistudio.com\/T194883\" target=\"\">FT-T194883<\/a><\/li>\n\t<li>Fixed: Game would not load mods from a read-only mod folder - <a href=\"https:\/\/feedback.bistudio.com\/T121694\" target=\"\">FT-T121694<\/a><\/li>\n\t<li>Fixed: Saving the game while on the map screen would show a gray background on the saving display<\/li>\n\t<li>Fixed: Config array += did not support appending array values - <a href=\"https:\/\/feedback.bistudio.com\/T195196\" target=\"\">FT-T195196<\/a><\/li>\n\t<li>Fixed: \"Updating base class\" warnings would show the wrong config as \"original\" if the class had no members<\/li>\n\t<li>Fixed: Crash caused by malformed script<\/li>\n\t<li>Fixed: Structured text hint color would persist through mission restart and get applied on all hints<\/li>\n\t<li>Fixed: Player or AI unit on passenger seat would report a \"No Fuel\" radio message even though they do not know the fuel status from that seat<\/li>\n\t<li>Fixed: Game failed to extract key out of <i>bisign<\/i> for EBO files if the bikey is missing from the Keys folder (leading to signature check failures)<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/selectLeader\" target=\"\">selectLeader<\/a> could select a leader who is in a different group (this could lead to game crash; now the command does an implicit 'join' into the group)<\/li>\n\t<li>Fixed: Some <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers#Group_Event_Handlers\" target=\"\">Group Event Handlers<\/a> could cause game crash if the Event Handler code would re-trigger the event<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/lockCameraTo\" target=\"\">lockCameraTo<\/a> with temporary flag could get stuck if the target is beyond turret limits<\/li>\n\t<li>Fixed: Temporary freeze and improved performance when opening Eden Editor \"Load Mission\" dialog<\/li>\n\t<li>Fixed: Ampersand character in item description name was breaking tooltips in inventory - <a href=\"https:\/\/feedback.bistudio.com\/T195596\" target=\"\">FT-T195596<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/compatibleMagazines\" target=\"\">compatibleMagazines<\/a> would return duplicate magazines when given a muzzle parameter - <a href=\"https:\/\/feedback.bistudio.com\/T195724\" target=\"\">FT-T195724<\/a><\/li>\n\t<li>Fixed: Wrong default value text in <a href=\"https:\/\/community.bistudio.com\/wiki\/radioChannelSetLabel\" target=\"\">radioChannelSetLabel<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/setCurrentChannel\" target=\"\">setCurrentChannel<\/a> was not selecting the last custom channel - <a href=\"https:\/\/feedback.bistudio.com\/T85311\" target=\"\">FT-T85311<\/a><\/li>\n\t<li>Fixed: Config Viewer showed the wrong parents array<\/li>\n\t<li>Fixed: <i>@arrowText<\/i> size had no effect - <a href=\"https:\/\/feedback.bistudio.com\/T181489\" target=\"\">FT-T181489<\/a><\/li>\n\t<li>Fixed: VoN indicator potentially not displaying due to a clash with other speaking players<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/curatorEditableObjects\" target=\"\">curatorEditableObjects<\/a> could accumulate null objects without the ability to remove them<\/li>\n\t<li>Fixed: Possible crash in <a href=\"https:\/\/community.bistudio.com\/wiki\/selectionPosition\" target=\"\">selectionPosition<\/a> command if the shape geometry is not loaded yet<\/li>\n\t<li>Fixed: Crash when spawning an animal with <a href=\"https:\/\/community.bistudio.com\/wiki\/create3DENEntity\" target=\"\">create3DENEntity<\/a><\/li>\n\t<li>Fixed: Possible crash when using <a href=\"https:\/\/community.bistudio.com\/wiki\/setVehicleAmmoDef\" target=\"\">setVehicleAmmoDef<\/a> script command<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/attachTo\" target=\"\">attachTo<\/a> with <i>followBoneRotation<\/i> would not apply hand IK and head mimic animations - <a href=\"https:\/\/feedback.bistudio.com\/T189084\" target=\"\">FT-T189084<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/CT_WEBBROWSER\" target=\"\">CT_WEBBROWSER<\/a> would not correctly handle input from non-ASCII keyboard layouts - <a href=\"https:\/\/feedback.bistudio.com\/T196167\" target=\"\">FT-T196167<\/a><\/li>\n\t<li>Fixed: Airplane engine state would flicker and spam Event Handler when using analogue throttle with a broken engine<\/li>\n\t<li>Fixed: Unit reporting for thrown grenade (\"Frag out!\") was not triggering for hand grenades - <a href=\"https:\/\/feedback.bistudio.com\/T180926\" target=\"\">FT-T180926<\/a><\/li>\n\t<li>Fixed: The pylon transformation's orientation in <a href=\"https:\/\/community.bistudio.com\/wiki\/getAllPylonsInfo\" target=\"\">getAllPylonsInfo<\/a> was reversed<\/li>\n\t<li>Fixed: Units in combat were reporting smoke throws when chem lights were thrown<\/li>\n\t<li>Fixed: Possible crash in <i>compatibleXXX<\/i> script commands when an invalid class name is given<\/li>\n\t<li>Fixed: Player not being able to issue 'return to formation' commands while having a pending command<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/createHashMapObject\" target=\"\">createHashMapObject<\/a> did not accept string in its \"#type\" parameter - <a href=\"https:\/\/feedback.bistudio.com\/T196636\" target=\"\">FT-T196636<\/a><\/li>\n\t<li>Fixed: Call on a <a href=\"https:\/\/community.bistudio.com\/wiki\/HashMap\" target=\"\">HashMap<\/a> object with an unscheduled \"#flag\" would loose callstack information - <a href=\"https:\/\/feedback.bistudio.com\/T196813\" target=\"\">FT-T196813<\/a><\/li>\n\t<li>Fixed: UAVs could not be used by a respawned player - <a href=\"https:\/\/feedback.bistudio.com\/T196936\" target=\"\">FT-T196936<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/nearEntities\" target=\"\">nearEntities<\/a> ignored the area parameter when any type was requested - <a href=\"https:\/\/feedback.bistudio.com\/T197081\" target=\"\">FT-T197081<\/a><\/li>\n\t<li>Fixed: Passing a non-existent type to <a href=\"https:\/\/community.bistudio.com\/wiki\/nearEntities\" target=\"\">nearEntities<\/a> was returning entities of any type instead of none - <a href=\"https:\/\/feedback.bistudio.com\/T197081\" target=\"\">FT-T197081<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/compatibleMagazines\" target=\"\">compatibleMagazines<\/a> was not working correctly with mods<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> event <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Eden_Editor_Event_Handlers\" target=\"\">\"OnEditableEntityRemoved\"<\/a> would not fire for units inside a group, if the whole group is deleted<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> group icon would not render correctly after undoing deletion of all units inside the group<\/li>\n\t<li>Fixed: <i>visualTargetSize<\/i> config entry had no effect (the size would always be 1)<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> custom connection to markers: would not render the line in 3D view<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> custom connection expressions would not receive marker names<\/li>\n\t<li>Fixed: Border rendering in <a href=\"https:\/\/community.bistudio.com\/wiki\/CT_MENU\" target=\"\">CT_MENU<\/a> (used to only render 2 of 4 borders, and using the wrong width)<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> attribute conditions did not apply on object-specific attributes<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Category:Eden_Editor\" target=\"\">3DEN<\/a> custom connections were not included in copy-pasting nor compositions<\/li>\n\t<li>Fixed: Duplicate set damage events on static structures - <a href=\"https:\/\/feedback.bistudio.com\/T196391\" target=\"\">FT-T196391<\/a><\/li>\n\t<li>Fixed: Join-In-Progress sync for destroyed powerlines and communication towers<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers#Dammaged\" target=\"\">\"Dammaged\"<\/a> Event Handler would not receive the <i>projectile<\/i> parameter in multiplayer if the damage was done by a different player - <a href=\"https:\/\/feedback.bistudio.com\/T196391\" target=\"\">FT-T196391<\/a><\/li>\n\t<li>Fixed: <i>isEject<\/i> in \"GetOutMan\" Event Handler was inconsistent when using the <a href=\"https:\/\/community.bistudio.com\/wiki\/moveOut\" target=\"\">moveOut<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T197942\" target=\"\">FT-T197942<\/a><\/li>\n\t<li>Fixed: When the player was in short combat pace after firing, holding shift to sprint would not disable combat pace, making the player slow in combat<\/li>\n\t<li>Fixed: IR laser <i>beamThickness<\/i> parameter in config did not affect the beam thickness - <a href=\"https:\/\/feedback.bistudio.com\/T168103\" target=\"\">FT-T168103<\/a><\/li>\n\t<li>Fixed: VTOL aircraft would not land on helipads - <a href=\"https:\/\/feedback.bistudio.com\/T193098\" target=\"\">FT-T193098<\/a><\/li>\n\t<li>Fixed: <i>ShipX<\/i> simulation did not apply gun stabilization - <a href=\"https:\/\/feedback.bistudio.com\/T186846\" target=\"\">FT-T186846<\/a><\/li>\n\t<li>Fixed: Speedboat \/ SDV did not have gun stabilization (<i>stabilizedInAxes=4<\/i> had camera roll stabilization, but no weapon stabilization) - <a href=\"https:\/\/feedback.bistudio.com\/T80918\" target=\"\">FT-T80918<\/a><\/li>\n\t<li>Fixed: Many <i>lnb*<\/i> script commands were missing error messages for invalid arguments - <a href=\"https:\/\/feedback.bistudio.com\/T198100\" target=\"\">FT-T198100<\/a><\/li>\n\t<li>Fixed: Animal \/ Man collision test did not account for the animation bounding radius correctly, thus collision test failed early for enlarged soldiers, or animations that moved the unit far from the model space origin - <a href=\"https:\/\/feedback.bistudio.com\/T198169\" target=\"\">FT-T198169<\/a><\/li>\n\t<li>Fixed: Moving the camera in a Mortar \/ Artillery would play <i>soundServoVertical<\/i> even though the gun did not move, and the GunElevUp\/Down hotkeys would not play the sound<\/li>\n\t<li>Fixed: Placing units into a vehicle in Eden Editor would not respect the get in order, and cause the Xi'an to eject units after filling more than 10 passenger slots - <a href=\"https:\/\/feedback.bistudio.com\/T162566\" target=\"\">FT-T162566<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/currentZeroing\" target=\"\">currentZeroing<\/a> returned invalid data while in a Firing From Vehicles turret seat - <a href=\"https:\/\/feedback.bistudio.com\/T198019\" target=\"\">FT-T198019<\/a><\/li>\n\t<li>Fixed: Eden Editor now displays Module Description for legacy (pre-3DEN) modules - <a href=\"https:\/\/feedback.bistudio.com\/T197534\" target=\"\">FT-T197534<\/a><\/li>\n\t<li>Fixed: Disabled chat channels would not reset when switching between servers - <a href=\"https:\/\/feedback.bistudio.com\/T197303\" target=\"\">FT-T197303<\/a><\/li>\n\t<li>Fixed: After using the server browser Direct Connect, the LAN tab would stop showing LAN results - <a href=\"https:\/\/feedback.bistudio.com\/T195726\" target=\"\">FT-T195726<\/a><\/li>\n\t<li>Fixed: Refreshing the server browser official servers list multiple times would make it stop updating until a game restart - <a href=\"https:\/\/feedback.bistudio.com\/T195726\" target=\"\">FT-T195726<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/currentZeroing\" target=\"\">currentZeroing<\/a> crash<\/li>\n\t<li>Fixed: Potential server browser crash<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/drawLaser\" target=\"\">drawLaser<\/a> would not show in the main view if a Picture-In-Picture display is visible - <a href=\"https:\/\/feedback.bistudio.com\/T198779\" target=\"\">FT-T198779<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/setVariable\" target=\"\">setVariable<\/a> with a target in singleplayer did not work as expected - <a href=\"https:\/\/feedback.bistudio.com\/T198795\" target=\"\">FT-T198795<\/a><\/li>\n\t<li>Fixed: <i>activeSensorsPhase<\/i> animation source no longer animates when a vehicle is destroyed<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/forceUnicode\" target=\"\">forceUnicode<\/a> did not work for == and != string comparison<\/li>\n\t<li>Fixed: Using <a href=\"https:\/\/community.bistudio.com\/wiki\/moveInAny\" target=\"\">moveInAny<\/a> and <a href=\"https:\/\/community.bistudio.com\/wiki\/moveInCargo\" target=\"\">moveInCargo<\/a> together on cargo could produce undefined behavior - <a href=\"https:\/\/feedback.bistudio.com\/T198758\" target=\"\">FT-T198758<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/currentVisionMode\" target=\"\">currentVisionMode<\/a> would always return 2 when a local player has thermal vision enabled - <a href=\"https:\/\/feedback.bistudio.com\/T198952\" target=\"\">FT-T198952<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/get3DENConnections\" target=\"\">get3DENConnections<\/a> did not return the correct syntax for Group \/ Waypoint connections - <a href=\"https:\/\/feedback.bistudio.com\/T191578\" target=\"\">FT-T191578<\/a><\/li>\n\t<li>Fixed: <i>#monitords<\/i> now prints to BattlEye RCon as well as to the server console<\/li>\n\t<li>Fixed: Crash when issuing AI commands from \"CommandChanged\" Event Handler<\/li>\n\t<li>Fixed: VTOL would not stop and hover after executing <a href=\"https:\/\/community.bistudio.com\/wiki\/forceSpeed\" target=\"\">forceSpeed<\/a> 0<\/li>\n\t<li>Fixed: YouTube link opening issue<\/li>\n\t<li>Fixed: The last item in an Eden Editor vehicle ammo box did not have add \/ remove options - <a href=\"https:\/\/feedback.bistudio.com\/T199272\" target=\"\">FT-T199272<\/a><\/li>\n\t<li>Fixed: When a PhysX object repeatedly falls below terrain, it will now be put on top and put to sleep to prevent it from falling again<\/li>\n\t<li>Fixed: 3DEN would allow putting units into locked seats if all other seats were full<\/li>\n\t<li>Fixed: Changing pylon loadout in 3DEN could remove default weapons<\/li>\n\t<li>Fixed: Zeus would allow putting units into locked seats<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/moveInAny\" target=\"\">moveInAny<\/a> did not respect get-in ordering (<i>getInProxyOrder<\/i> config entry)<\/li>\n\t<li>Fixed: Vehicle pylons attribute display, which would display the wrong turret names when switching pylon owner<\/li>\n\t<li>Removed: <a href=\"https:\/\/community.bistudio.com\/wiki\/lineIntersects\" target=\"\">lineIntersects<\/a> \/ <a href=\"https:\/\/community.bistudio.com\/wiki\/lineIntersectsSurfaces\" target=\"\">lineIntersectsSurfaces<\/a> multithreading (unresolved crashes, though the script syntax is still present)<br><\/li>\n<\/ul>\n<h3>LAUNCHER<\/h3>\n<ul><li>Added: It is now possible to edit mods while the game is running, and to start multiple game instances&nbsp;(use top-right X button to close the overlay)<\/li>\n\t<li>Added: Option to launch Server \/ Profiling \/ Diagnostics executables<\/li>\n\t<li>Added: Icon in the mod list to indicate mods that contain <a href=\"https:\/\/community.bistudio.com\/wiki\/Extensions\" target=\"\">extensions<\/a><\/li>\n\t<li>Fixed: Custom command-line parameters in Launcher could inadvertently be filled with undesired parameters<\/li>\n\t<li>Fixed: Slow profile scanning on Proton<\/li>\n\t<li>Fixed: Detection for Proton under Proton 11<\/li>\n\t<li>Removed: Option to start 32-bit version of the game (and related features, but binaries are still distributed for now)<br><\/li>\n<\/ul>\n<h3>SERVER<\/h3>\n<ul>\n\t<li>Updated: Stand-alone Windows Dedicated Server (2.22)<\/li>\n\t<li>Updated: Stand-alone Linux Dedicated Server (2.22)\n\t<ul>\n\t\t<li>The data in <i>-mod=contact<\/i> is not fully multiplayer compatible (it is meant for the singleplayer campaign experience); we recommend only hosting servers with it for special use cases\n\t\t<ul>\n\t\t\t<li>This data is signed by a new A3C key whose presence can be used to control what client data is allowed on the server<\/li>\n\t\t<\/ul><\/li>\n\t\t<li>Known issue: Steam client modifies the <i>steam_appid.txt<\/i> file incorrectly. In case of issues, verify its content is: <b>107410<\/b><\/li>\n\t\t<li>Known issue: Sometimes the add-ons are loaded from the wrong installation (e.g. main game)\n\t\t<ul>\n\t\t\t<li>Try adding <i>-mod=curator;kart;heli;mark;expansion;jets;argo;orange;tacops;tank;enoch;aow<\/i> to your <i>arma3server.exe<\/i> shortcut<\/li>\n\t\t<\/ul><\/li>\n\t<\/ul><\/li>\n<\/ul>","published":"1","hide_from_home_feed":null,"url":"spotrep-00120","post_header_image":null,"animation_interval":"200","author":"Joris-Jan van 't Land","post_thumb":null,"type":"spotrep","updated_at":"2026-08-18 11:08:41","public_date":"2026-08-11 15:00:00"},{"id":482,"title":"TECHREP #00058","created_at":"2026-08-07 12:36:34","excerpt":"<p>Update 1.044 (Terrain Builder, Publisher)<br><\/p>","content":"<p>FROM: Tools Commissar<br>TO: Arma 3 Modders<br>MATERIEL CATEGORY: Tools<br>CIRCUMSTANCES:  Update 1.044 (Terrain Builder, Publisher)<br>SIZE: ~6 MB<\/p>\n<h1>CHANGELOG<\/h1>\n<h3><b><a href=\"https:\/\/store.steampowered.com\/app\/233800\/Arma_3_Tools\/\" target=\"\">TOOLS<\/a><\/b><\/h3>\n<ul>\n\t<li><a href=\"https:\/\/community.bistudio.com\/wiki\/Terrain_Builder\" target=\"\">Terrain Builder<\/a>\n\t<ul>\n\t\t<li>Added: Multithreaded PAA layer file generation<\/li>\n\t\t<li>Added: Option for checking the color count per tile when generating a surface mask<\/li>\n\t\t<li>Added: More options for sat \/ mask size in the mapframe calculator<\/li>\n\t\t<li>Added: \"Collapse All\" button for template libraries<\/li>\n\t\t<li>Added: Map PNG export (instead of EMF)<\/li>\n\t\t<li>Added: Search bar for templates<\/li>\n\t\t<li>Added: New icons to notify the user about the content refresh of the raster layers (added a new button to automatically refresh all possible layer contents)<\/li>\n\t\t<li>Added: Warning icons to notify the user that the raster layers are out of sync<\/li>\n\t\t<li>Added: Log messages (in console) when importing a TXT file to provide details in case of errors<\/li>\n\t\t<li>Added: New default window layout<\/li>\n\t\t<li>Added: Configurable threshold for the object diagnostics (duplicate finder) tool, and displaying the distance of duplicates<\/li>\n\t\t<li>Added: Autosave function<\/li>\n\t\t<li>Added: Tool to clean up log files (in the Help menu)<\/li>\n\t\t<li>Added: \"Templates selection\" now allows checking \/ unchecking multiple libraries at once<\/li>\n\t\t<li>Added: Label to the \"Zoom Level:\" slider in the object diagnostics dialog (it was an unlabeled slider before)<\/li>\n\t\t<li>Added: Notification messages for common problems on <a href=\"https:\/\/community.bistudio.com\/wiki\/Buldozer\" target=\"\">Buldozer<\/a> start (layers not yet generated, missing \"Dta\" folder on P-drive, etc.)<\/li>\n\t\t<li>Tweaked: \"Remove + Delete from HDD\" in the Object layer window has been replaced with a \"Remove\" option which does <i>not<\/i> delete the corresponding file<\/li>\n\t\t<li>Tweaked: Removed various unused options from Terrain &gt; Preferences<\/li>\n\t\t<li>Changed: New default setting values (<a href=\"https:\/\/community.bistudio.com\/wiki\/Buldozer\" target=\"\">Buldozer<\/a> on P-drive, inverted mouse wheel enabled by default)<\/li>\n\t\t<li>Changed: Auto Fill with objects will now try to keep distance from the area borders<\/li>\n\t\t<li>Changed: The default surface mask export format is now \"6 materials per cell\"<\/li>\n\t\t<li>Fixed: Generating PAAs only for selected tiles instead of generating PAAs for all tiles every time<\/li>\n\t\t<li>Fixed: Crashes when creating a new a layer through Objects &gt; Layers &gt; New Layer<\/li>\n\t\t<li>Fixed: The console window now works again, and properly displays log messages to the user<\/li>\n\t\t<li>Fixed: Export Shapes to Imagery functionality now continues to work even after an invalid path is specified<\/li>\n\t\t<li>Fixed: Renaming an object \/ shape layer works now, instead of creating a new layer<\/li>\n\t\t<li>Fixed: The Fill Area window now allows users to use presets even if part of the name is already present in another preset<\/li>\n\t\t<li>Fixed: Clearing a Fill Polygon now clears all objects within its borders<\/li>\n\t\t<li>Fixed: Terrain now gets rendered when regenerating mask layers<\/li>\n\t\t<li>Fixed: A hint is displayed if a user attempts to add an object without having a template selected (also changed the name of Tools &gt; Preferences &gt; Custom &gt; \"Terrain size in meters:\" to \"New mapframe terrain size (m):\")<\/li>\n\t\t<li>Fixed: Undoing object layer removal now actually works<\/li>\n\t\t<li>Fixed: The add template dialog window now always opens the file browser window in the root of the mounted drive (P:)<\/li>\n\t\t<li>Fixed: The direction angle field is now actually used by a new road wizard window when adding a new road<\/li>\n\t\t<li>Fixed: The \"Make layer transparent\" button will now actually make the layer transparent<\/li>\n\t\t<li>Fixed: The delete button is now disabled for locked objects and shape layers<\/li>\n\t\t<li>Fixed: Improved the Fill Area tool (no crashing and much faster)<\/li>\n\t\t<li>Fixed: Thumbnails now have a transparent background (white outline \/ background will be used for selected textured objects only)<\/li>\n\t\t<li>Fixed: Removed the solid opaque outline from the textured icons (now it will only be used to show the selected ones)<\/li>\n\t\t<li>Fixed: The Object &gt; Layer &gt; Delete Layer will now check only the selected layer for being locked<\/li>\n\t\t<li>Fixed: Object texture alpha is now rendering correctly in Terrain Builder and when exporting to PNG \/ EMF<\/li>\n\t\t<li>Fixed: The Library Manager list no longer starts out with every library expanded<\/li>\n\t\t<li>Fixed: Sat map not loading after switching projects<\/li>\n\t\t<li>Fixed: Crash when trying to rotate an object immediately after loading a project<\/li>\n\t\t<li>Fixed: \"Tips and Tricks\" and View Crosshair \/ Rulers \/ RulersGrid \/ TerrainGrid settings were not saved in the settings file<\/li>\n\t\t<li>Fixed: Point Area \"Change Radius\" in context menu did not work<\/li>\n\t\t<li>Fixed: Changing Point Area scale would change the radius, but not show the updated value in the \"Properties\" panel<\/li>\n\t\t<li>Fixed: Crash when clicking Edit \/ Delete in Mapframe \/ InternalMCE \/ Surfaces dialog while the list is empty<\/li>\n\t\t<li>Removed: Pop-up every time <a href=\"https:\/\/community.bistudio.com\/wiki\/Buldozer\" target=\"\">Buldozer<\/a> gets closed<br><\/li>\n\t<\/ul><\/li>\n\t<li><a href=\"https:\/\/community.bistudio.com\/wiki\/Publisher\" target=\"\">Publisher<\/a>\n\t<ul>\n\t\t<li>Added: Displaying old and new file sizes when updating existing items<\/li>\n\t\t<li>Added: Display \"first published\" and \"last updated\" times in item metadata<\/li>\n\t\t<li>Changed: Handling of 32-bit deprecation for extensions<br><\/li>\n\t<\/ul><\/li>\n\t<li><a href=\"https:\/\/community.bistudio.com\/wiki\/Binarize\" target=\"\">Binarize<\/a>\n\t<ul>\n\t\t<li>Fixed: Crash caused by missing Steam DLLs<\/li>\n\t<\/ul><\/li>\n\t<li>Steam configuration\n\t<ul>\n\t\t<li>Changed: Incremented version number to reflect the current stage (1.044)<br><\/li>\n\t<\/ul><\/li>\n<\/ul>\n<h1>NOTES<\/h1>\n<ul>\n\t<li>Not all <a href=\"https:\/\/community.bistudio.com\/\" target=\"\">documentation<\/a> yet reflects these changes.<\/li>\n\t<li>In case of any issue, please, let us know on our usual channels: <a href=\"https:\/\/feedback.arma3.com\/\" target=\"\">Feedback Tracker<\/a> or <a href=\"https:\/\/discord.com\/invite\/arma\" target=\"\">Discord<\/a> (<i>#arma3_tools<\/i>).<\/li>\n\t<li>A Legacy Build Steam branch is available for advanced users. It contains the previous significant main branch version (1.042). It can be used to compare specific changes between major releases. The access code for this branch is: <i>Arma3ToolsLegacy1042<\/i><\/li>\n\t<li>You can subscribe (for free) to the <a href=\"http:\/\/store.steampowered.com\/app\/233800\/\" target=\"\">Tools<\/a> and <a href=\"http:\/\/store.steampowered.com\/app\/390500\/\" target=\"\">Samples<\/a> packages from the Steam store. Once done, you will find these application in your Steam library (switch the filter to \"Tools\").<\/li>\n\t<li>You will need to start the <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3_Tools_Launcher\" target=\"\">primary tool<\/a> once to add all needed registry entries.<\/li>\n\t<li>The 64-bit Binarize executable is provided without any additional support and has to be manually linked should you want to use it.<\/li>\n\t<li>We recommend you to backup your project files frequently!<br><\/li>\n<\/ul>","published":"1","hide_from_home_feed":null,"url":"techrep-00058","post_header_image":null,"animation_interval":"200","author":"Joris-Jan van 't Land","post_thumb":null,"type":"techrep","updated_at":"2026-08-11 14:03:59","public_date":"2026-08-11 14:00:00"},{"id":481,"title":"SPOTREP #00119","created_at":"2025-06-25 11:46:07","excerpt":"<p>Hotfix 2.20 (Miscellaneous Fixes)<br><\/p>","content":"<p>FROM: High Command<br>TO: Arma 3 Users<br>UNIT: Main Branch<br>ACTIVITY: Hotfix 2.20 (Miscellaneous Fixes)<br>SIZE: ~62 MB \/ ~24 MB<br><\/p>\n<h1>NOTES<\/h1>\n<ul>\n\t<li>For more information about the performance optimizations, please read our <a href=\"https:\/\/dev.arma3.com\/post\/oprep-performance-optimizations-in-220\" target=\"\">technical deep dive blog<\/a> (which also mentions updates to the game's <a href=\"https:\/\/store.steampowered.com\/app\/107410\/Arma_3\/\" target=\"\">system requirements<\/a>).<\/li>\n\t<li>Contact consists of 2 data packs \/ folders:\n\t<ul>\n\t\t<li>Contact (via <i>PLAY CONTACT<\/i> or <i>-mod=Contact<\/i>): for the singleplayer \"First Contact\" campaign experience (accessible only to owners - optionally loaded)<\/li>\n\t\t<li>Contact (Platform): for most other use cases, including sandbox multiplayer (loaded by default for all players)<\/li>\n\t<\/ul><\/li>\n\t<li>Consider using the Steam client option to verify the integrity of the local game cache to avoid corrupted data after downloading this update.<\/li>\n\t<li>Consider defragmenting your HDD after downloading large updates.<\/li>\n\t<li>Updating a deeply moddable game and its platform is not without risks. We use various methods to communicate upcoming changes to our awesome modding community, such as via the <a href=\"https:\/\/dev.arma3.com\/\" target=\"\">Dev Hub<\/a>. We also co-operate directly on troubleshooting, and we offer an opportunity to test updates via our <a href=\"https:\/\/dev.arma3.com\/rc-branch\" target=\"\">Release Candidate tests<\/a>. Modders, server administrators, and other members of the community do their best to prepare for updates and to address issues post-release as quickly as possible. Please be mindful of some interruptions (especially in the first hours \/ days after a release) while we all work to improve the game together.<\/li>\n\t<li>A <i>Legacy Build<\/i> Steam branch is available for advanced users. It contains the previous significant main branch version (2.18). It can be used to compare specific changes between major releases. The access code for this branch is: <i>Arma3Legacy218<\/i><\/li>\n\t<li>This update does not yet apply to <a href=\"http:\/\/dev.arma3.com\/ports\" target=\"\">the experimental Mac client ports<\/a>.<\/li>\n\t<li>You can find the servers in the Steam library (switch the filter to \"Tools\") - \"Arma 3 Server\" (based on your OS, it will download the Windows or Linux version).\n\t<ul>\n\t\t<li>Administrators can also use the command-line <a href=\"https:\/\/developer.valvesoftware.com\/wiki\/SteamCMD\" target=\"\">SteamCMD<\/a> utility. The app ID is to be 233780.<\/li>\n\t\t<li>NVIDIA GameWorks\u2122 Technology provided under license from NVIDIA Corporation. Copyright \u00a9 2002-2018 NVIDIA Corporation. All rights reserved. NVIDIA\u00ae and PhysX\u00ae are trademarks of NVIDIA Corporation and are used under license.<\/li>\n\t<\/ul><\/li>\n\t<li>In case of problems, please check the <a href=\"http:\/\/support.bistudio.com\/arma-3\" target=\"\">Bohemia Interactive support F.A.Q.<\/a>, <a href=\"http:\/\/arma3.com\/faq\" target=\"\">Arma 3 F.A.Q.<\/a>, <a href=\"http:\/\/www.battleye.com\/support\/faq\/\" target=\"\">BattlEye F.A.Q.<\/a>, or <a href=\"https:\/\/arma3.com\/launcher\/troubleshooting\" target=\"\">Launcher troubleshooting guide<\/a>.<\/li>\n\t<li>You can help us to further improve the game by posting your feedback on the <a href=\"http:\/\/feedback.arma3.com\/\" target=\"\">Feedback Tracker<\/a>.<br><br><\/li>\n<\/ul>\n<h1>CHANGELOG<\/h1>\n<h2>DATA<\/h2>\n<ul>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/DIK_KeyCodes\" target=\"\">DIK scan code<\/a> defines for F16-F24 keys<\/li>\n\t<li>Tweaked: Restored DAGR missiles on AH-99 in its default loadout - <a href=\"https:\/\/feedback.bistudio.com\/T192700\" target=\"\">FT-T192700<\/a><\/li>\n\t<li>Fixed: Penetration materials on the MH-80 fuel pod (thanks <i>Trager<\/i>)<\/li>\n\t<li>Fixed: AH-99 without pylons still had pylon collisions with characters - <a href=\"https:\/\/feedback.bistudio.com\/T192733\" target=\"\">FT-T192733<\/a><\/li>\n\t<li>Fixed: Missing collision of characters with DAR \/ DAGR pods<\/li>\n\t<li>Fixed: Collision of characters with the external fuel pod<br><\/li>\n<\/ul>\n<h2>ENGINE<\/h2>\n<ul>\n\t<li>Fixed: Difficulty option checkboxes were not saving correctly - <a href=\"https:\/\/feedback.bistudio.com\/T192324\" target=\"\">FT-T192324<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/remoteExec\" target=\"\">remoteExec<\/a> failing when used with the <i>#mission<\/i> restart <a href=\"https:\/\/community.bistudio.com\/wiki\/serverCommand\" target=\"\">serverCommand<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T190364\" target=\"\">FT-T190364<\/a><\/li>\n\t<li>Fixed: <i>stringtable.bin<\/i> would not fall back to \"Original\" &gt; \"English\" &gt; first language, if the desired language is not included in the stringtable (thanks <i>thegamecracks<\/i>)<\/li>\n\t<li>Fixed: Possible crash when AI is repairing a vehicle (thanks <i>Emperor<\/i>)<\/li>\n\t<li>Fixed: Post Processing effects <i>Sharpness<\/i>, <i>Resolution<\/i>, <i>DepthOfField<\/i> and <i>Fisheye<\/i> would get lost when changing video settings (thanks <i>POLPOX<\/i>)<\/li>\n\t<li>Fixed: Helicopters would not land on a helipad placed on an object (thanks <i>Ansible2<\/i>)<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/ctrlSetEventHandler\" target=\"\">ctrlSetEventHandler<\/a> started returning the Event Handler index (it is back to returning nothing now)<\/li>\n\t<li>Reverted: <a href=\"https:\/\/community.bistudio.com\/wiki\/setUnitLoadout\" target=\"\">setUnitLoadout<\/a> will now abort if a unit is in the process of switching weapons (may be revisited in future) - <a href=\"https:\/\/feedback.bistudio.com\/T167015\" target=\"\">FT-T167015<\/a><br><\/li>\n<\/ul>\n<h2>SERVER<\/h2>\n<ul>\n\t<li>Updated: Stand-alone Windows Dedicated Server (2.20)<\/li>\n\t<li>Updated: Stand-alone Linux Dedicated Server (2.20)\n\t<ul>\n\t\t<li>The data in <i>-mod=contact<\/i> is not fully multiplayer compatible (it is meant for the singleplayer campaign experience); we recommend only hosting servers with it for special use cases\n\t\t<ul>\n\t\t\t<li>This data is signed by a new A3C key whose presence can be used to control what client data is allowed on the server<\/li>\n\t\t<\/ul><\/li>\n\t\t<li>Known issue: Steam client modifies the <i>steam_appid.txt<\/i> file incorrectly. In case of issues, verify its content is: <b>107410<\/b><\/li>\n\t\t<li>Known issue: Sometimes the add-ons are loaded from the wrong installation (e.g. main game)\n\t\t<ul>\n\t\t\t<li>Try adding <i>-mod=curator;kart;heli;mark;expansion;jets;argo;orange;tacops;tank;enoch;aow<\/i> to your <i>arma3server.exe<\/i> shortcut<\/li>\n\t\t<\/ul><\/li>\n\t<\/ul><\/li>\n<\/ul>","published":"1","hide_from_home_feed":null,"url":"spotrep-00119","post_header_image":null,"animation_interval":"200","author":"Joris-Jan van 't Land","post_thumb":null,"type":"spotrep","updated_at":"2025-06-25 13:42:51","public_date":"2025-06-25 13:37:00"},{"id":480,"title":"OPREP - PERFORMANCE OPTIMIZATIONS IN 2.20","created_at":"2025-06-17 12:45:24","excerpt":"<p>An analysis of recent multithreading improvements for a smoother game experience<br><\/p>","content":"<p><b>UNIT<\/b>: Dedmen, Programmer, Programming<br>\n<b>TO<\/b>: Arma 3 Users<br>\n<b>OPSUM<\/b>: An analysis of recent multithreading improvements for a smoother game experience<\/p>\n\n<h2>SITREP<\/h2>\n\n\n\n\n<p>Welcome to this technical deep dive into <strong>Arma 3<\/strong>'s performance optimizations in <a href=\"https:\/\/dev.arma3.com\/post\/spotrep-00118\"><strong>update 2.20<\/strong><\/a>. Before handing you over to this blog's actual author, I wanted to share a few words on the state of Live Ops. Yes, REPception is now a thing.<\/p>\n\n\n\n\n<p>Some 12 years since its initial release, we still find ourselves releasing free platform updates to the game. This is something we can hardly believe ourselves, and we think you'll agree that it's a splendid situation! Thanks to the continued support from the game's community and Bohemia Interactive leadership, we're still in a position to offer some limited Live Ops development. The hands-on team can be counted on one hand now, but we should not forget it takes a bigger support network to keep things flowing smoothly. Publishing, Quality Assurance, Localization, Legal, IT, and more teams and individuals have a hand in getting these updates out. Meanwhile, some of our longer-term plans, as outlined in <a href=\"https:\/\/dev.arma3.com\/post\/sitrep-00242\">older SITREPs<\/a>, are still on our list. Their roll-out has been slower than anticipated, but that's in part due to it just not being necessary to switch to the next phase of Arma 3's life cycle. Even now that we're steadily traveling the road towards <a href=\"https:\/\/arma4.com\/\">Arma 4<\/a>, there is still plenty of life left in our pinnacle <em><strong>Real Virtuality<\/strong><\/em> (RV) title.<\/p>\n\n\n\n\n<p>Those of you who are on our <a href=\"https:\/\/discord.com\/invite\/arma\">Discord server<\/a> (<em>#perf_prof_branch<\/em> channel) may have been following along with the optimizations now released to main branch in 2.20. You may have already enjoyed Programmer <strong><em>\"Dedmen\"<\/em><\/strong>'s incredible monologues on specific issues, solutions, fixes, and a myriad of other RV topics. You may have also wondered why these optimizations only arrive now. There are many reasons for that, some of which Dedmen will outline below. It's hard to compare the prime-time development circumstances a decade ago to how things are now. There are effectively no hard deadlines for Arma 3 anymore, so there is ample time to investigate and experiment. There also aren't hundreds of commits from tens of people every day, with a constant stream of new features arriving and bugs being squashed. We are building upon the work of legends, going all the way back to the first lines of code for RV by <em>Ond\u0159ej \u0160pan\u011bl<\/em>.<\/p>\n\n\n\n\n<p>Nonetheless, I want to give massive kudos to the incredible work by our talented Dedmen. He has accomplished low-level and risky changes that I would have never anticipated at this stage. They will not magically give everyone the same performance boost across the board, but don't just stare blindly at the numbers. Play the game. Most everyone who's tried the update has said the game feels smoother. Thank you for the passionate and hard work, Dedmen. And a big thanks to everybody who has helped us test these changes via <strong><a href=\"https:\/\/dev.arma3.com\/profiling-branch\">Profiling branch<\/a><\/strong> as well. Your feedback has been very important in testing under real-world conditions.<\/p>\n\n\n\n\n<p>Enough from me, let's finally get to the meat of this Operations Report.<\/p>\n\n\n\n\n<p>- Joris-Jan van 't Land, Project Lead<\/p>\n\n\n\n\n<h2>FRAMES<\/h2>\n\n\n\n\n<p>First of all, <strong>we did not \"add\" multithreading in update 2.20<\/strong>. The RV engine has had multithreading since <a href=\"https:\/\/store.steampowered.com\/app\/33900\/Arma_2\/\">Arma 2<\/a>. But <strong>we did overhaul all of our multithreading code<\/strong> and made some optimizations that are further detailed below.<\/p>\n\n\n\n\n<p>The main focus of our optimizations was to fix lag spikes and raise the minimum Frames per Second (FPS). The maximum FPS may not actually be noticeably higher, and in some cases (at above 100 FPS) it may even be slightly lower than before. But the gameplay should still <strong>feel significantly smoother<\/strong>.<\/p>\n\n\n\n\n<p>This is also visible in these graphs recorded using <em><a href=\"https:\/\/www.capframex.com\/\">CapFrameX<\/a><\/em> on the excellent <em><strong><a href=\"https:\/\/steamcommunity.com\/sharedfiles\/filedetails\/?id=375092418\">Yet Another Arma Benchmark<\/a> (YAAB)<\/strong><\/em> by <em>Sams<\/em>. The frame times should feel more consistent, with fewer spikes:<\/p>\n\n\n<p>\n\n[thumb]2.20_OPREP_1.jpg[\/thumb]<\/p><p>[thumb]2.20_OPREP_2.jpg[\/thumb]\n\n<\/p>\n\n\n<p>The average FPS, meanwhile, has only received a minor bump. And that bump is expected to be even less when mods get involved.<\/p>\n\n\n<p>\n\n[thumb]2.20_OPREP_3.jpg[\/thumb]&nbsp;<\/p><p>[thumb]2.20_OPREP_4.jpg[\/thumb]\n\n<\/p>\n\n\n<h2>COMMAND-LINEAGE<\/h2>\n\n\n\n\n<p>From the feedback on Profiling branch we have seen several times that players had issues caused by setting <strong>wrong <a href=\"http:\/\/community.bistudio.com\/wiki\/Arma_3:_Startup_Parameters\">command-line parameters<\/a><\/strong>. That was typically because an old optimization guide told them it would make their game run better. But now that the game is more multithreaded than it used to be, bad settings have a more noticeable and potentially negative impact.<\/p>\n\n\n\n\n<p>If you are setting custom parameters, please verify that you understand them and you are setting them correctly. Here are some guidelines:<\/p>\n\n\n\n<ul>\n\n\t\n\t\n\t<li>Only use the <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Startup_Parameters#cpuCount\">-cpuCount<\/a> parameter if you want to intentionally limit how many CPU cores the game can use. The engine can already automatically detect how many cores you have, so you do not need to tell it that.<\/li>\n\n\t\n\t\n\t<li>The <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Startup_Parameters#enableHT\">-enableHT<\/a> parameter has no effect if -cpuCount is set, so setting both is wrong. Our tests have shown that -enableHT performs worse, but it may depend on your hardware. You can use <a href=\"https:\/\/steamcommunity.com\/sharedfiles\/filedetails\/?id=375092418\">YAAB<\/a> to test if it actually helps in your case.<\/li>\n\n\t\n\t\n\t<li>The <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Startup_Parameters#exThreads\">-exThreads<\/a> parameter should not be used. If you have a 4 core CPU or better, all of them are already enabled by default. And if you have fewer than 4 cores, enabling more exThreads is more likely to cause harm than to be helpful.<\/li>\n\n\t\n\t\n\t<li>If you are using an external tool to adjust the \"Process Affinity\", which reduces the number of CPU cores the game can access, you need to use -cpuCount to inform the game about how many cores it can actually use.<\/li>\n\n\n\n<\/ul>\n\n\n\n\n<h2>SYSTEM REQUIREMENTS<\/h2>\n\n\n\n\n<p>There is one more bit of housekeeping to get out of the way. Update 2.20 will be the <strong>last version of Arma 3 supporting its 32-bit application<\/strong> to a reasonable degree. We will no longer maintain both builds, and will focus any future efforts purely on 64-bit. The <a href=\"https:\/\/store.steampowered.com\/hwsurvey\/Steam-Hardware-Software-Survey-Welcome-to-Steam\">vast majority of Steam users<\/a> and Arma 3 players have long since switched over, and we hope everyone else will too, especially those who may be unintentionally using the 32-bit version. We will keep a frozen 2.20 legacy branch available on Steam for those who really need it, but it will unfortunately not be possible for it to be forward-compatible (no multiplayer with newer versions). Our motivation for doing this is simply that it has been increasingly restrictive to maintain 32-bit compatibility. It has restricted the usage of newer C++ language features, certain optimizations, etc. Deprecating support will save our very small remaining Live Ops team valuable time, and it will unlock some more optimization opportunities. In a similar vein, we will also <strong>drop support for Windows 7 and 8<\/strong>, just like <a href=\"https:\/\/help.steampowered.com\/en\/faqs\/view\/4784-4F2B-1321-800A\">Steam has already done<\/a> for its client.<\/p>\n\n\n\n\n<p>To reflect the above, as well as the hardware advancements and availability over the past decade, we have finally <strong>refreshed Arma 3's minimum and recommended system requirements<\/strong> (as seen at the bottom of the <a href=\"https:\/\/store.steampowered.com\/app\/107410\/Arma_3\/\">Steam store page<\/a> f.e.). While the original minimum settings were validated to run the game, we now raised them to a level that is more realistic for an entry-level experience. The recommended requirements meanwhile were bumped a bit more, so that such configurations should actually run the game well. That said, it\u2019s possible that setups lower than the new minimum still somehow run the game, but we hope this is a better reflection of the current state of Arma 3 for new purchasers.<\/p>\n\n\n\n\n<h2>OLD VERSUS NEW<\/h2>\n\n\n\n\n<p>To understand what is new since update 2.20, we first need to understand how the game has worked in the past.<\/p>\n\n\n\n\n<p>The core of multithreading is the so-called <strong>\"job system<\/strong><strong>\"<\/strong>. Its purpose is to take our tasks (jobs) and to distribute them over all the CPU cores we have available, so they can run in parallel.<\/p>\n\n\n\n\n<p>The design of the job system decides how we are able to utilize it, and the old design (in use since Arma 2) worked, but it was quite primitive. It only allowed submitting jobs as one block, and there could only be one block active at a time. This means all jobs had to be submitted at once, after which we needed to wait for the jobs to be finished, before we could continue doing other things.<\/p>\n\n\n\n\n<p>This is also called \"Fork-Join\".<\/p>\n\n\n\n\n<p>The system worked fine in bulk processing, for example for particle effect simulation. We can split 1000 particles into five jobs, and run them in parallel, each thread handling 200 particles.<\/p>\n\n\n\n\n<p>This style of multithreading was used in quite a few places, and if we just look at these particle effects in isolation, then this solution seems perfect. We now get the same particles done, in 1\/5th of the time. That is already great, but can we do better?<\/p>\n\n\n\n\n<p>Game engines rarely do just one thing. If we look at what surrounds the <strong>particle simulation<\/strong> as a case study, we get to see the issue with this approach. The actual code around it does the following tasks:<\/p>\n\n\n\n<ul>\n\n\t\n\t\n\t<li>Simulate sounds<\/li>\n\n\t\n\t\n\t<li>Update wind emitters (helicopter blades cause wind vortices, which influence particles)<\/li>\n\n\t\n\t\n\t<li>Simulate \"safe\" particles (these can run in parallel with each other)<\/li>\n\n\t\n\t\n\t<li>Simulate \"scripted\" particles (these execute scripts, which we cannot do in parallel; I will explain the reasons for this below)<\/li>\n\n\t\n\t\n\t<li>Delete expired particles (after all simulation is done)<\/li>\n\n\t\n\t\n\t<li>Simulate Artificial Intelligence (AI)<\/li>\n\n\t\n\t\n\t<li>Present the previous frame (that we have rendered in parallel) to the GPU<\/li>\n\n\n\n<\/ul>\n\n\n\n\n<p>In 2.18 and prior, that would look like this:<\/p>\n\n\n<p>\n\n[thumb]2.20_OPREP_5.jpg[\/thumb]\n\n<\/p>\n\n\n<p>Our particles are nicely parallelized, though things are not evenly distributed. Because we have to cut up the tasks beforehand, balancing them perfectly does not always work out. But there is quite a lot of empty space where our extra CPU cores are just waiting without doing any work for us. We do not want to waste this time.<\/p>\n\n\n\n\n<p>To find out how we can better distribute the work, we need to look at the constraints that apply to our tasks. As we touched upon above, scripted particles cannot run in parallel, and we can only delete expired particles after the simulation is done. Our other tasks also have similar constraints with regards to when they can run in relation to each other.<\/p>\n\n\n\n<ul>\n\n\t\n\t\n\t<li>Sounds do not care about particles, but they cannot run in parallel to AI.<\/li>\n\n\t\n\t\n\t<li>\"Safe\" particles can run in parallel to each other, and must be finished before deleting expired particles.<\/li>\n\n\t\n\t\n\t<li>\"Scripted\" particles cannot run in parallel to each other, but the whole task could run in parallel to the safe particles, and it must be finished before deleting expired particles. It also cannot run in parallel to sound or AI.<\/li>\n\n\t\n\t\n\t<li>AI cannot run in parallel to sounds or scripted particles. It does not care about other particles (AI vision is done elsewhere).<\/li>\n\n\t\n\t\n\t<li>Presenting the frame is not related to any of this. But it must be done only on the main thread, and it must be finished before we continue.<\/li>\n\n\n\n<\/ul>\n\n\n\n\n<p>Now we can try to puzzle these tasks together, in a way that we distribute them across as many cores as possible, while also keeping all of their constraints in check. We could, for example, run sounds and \"safe\" particles together on the worker threads. And as soon as sounds are done, we can run either \"scripted\" particles or AI. Meanwhile, we can present the frame on the main thread, and then delete expired particles once all particles are done.<\/p>\n\n\n\n\n<p>But this is where our old job system blocks us, since we cannot run different kinds of tasks in parallel. We also cannot add some job into the mix while another is running. We also cannot do something different on the main thread while the jobs are running. And it\u2019s not just about particles; the same kind of problem appears in other places. Something as simple as \"run this task in parallel, do something else, then later grab its result\" was not doable. If we wanted to solve this problem, we needed a new solution.<\/p>\n\n\n\n\n<p>There are quite a few existing libraries, like <em><a href=\"https:\/\/github.com\/taskflow\/taskflow\">Taskflow<\/a><\/em> or <em><a href=\"https:\/\/github.com\/dougbinks\/enkiTS\">enkiTS<\/a><\/em>, but in the end we decided to go with <em><strong><a href=\"https:\/\/enfusionengine.com\/\">Enfusion<\/a><\/strong><\/em>'s system. This is a job system our engine team had already developed in-house for new games like <a href=\"https:\/\/store.steampowered.com\/app\/1874880\/Arma_Reforger\/\">Arma Reforger<\/a> and Arma 4. It does the things we need, so how cool is it that Arma 3 can still benefit from such technology!<\/p>\n\n\n\n\n<p>The Enfusion job system is graph-based. So instead of providing a block of tasks, we can set up a graph of connected tasks. This lets us puzzle together our tasks like described above.<\/p>\n\n\n<p>\n\n[thumb]2.20_OPREP_6.jpg[\/thumb]\n\n<\/p>\n\n\n<p>If we give this graph to the job system, and execute it, we will see something like this:<\/p>\n\n\n<p>\n\n[thumb]2.20_OPREP_7.jpg[\/thumb]\n\n<\/p>\n\n\n<p>All of the task blocks and the gaps between blocks are the same as before. Because the task system now knows all the dependencies, it can grab the next task to work on whenever it has some free time. We did the same work, but utilized more of our CPU cores, and we got done with it in about half the time.<\/p>\n\n\n\n\n<p>Previously, our multithreading capabilities were just being able to cut up one block of work into chunks and running them in parallel. By utilizing Enfusion's system, we can now take whole blocks of work, and mesh them together like a giant puzzle.<\/p>\n\n\n\n\n<p>We'll see in the next section how we can use this to multithread things that were previously not possible.<\/p>\n\n\n\n\n<h2>APPLYING NEW CAPABILITIES<\/h2>\n\n\n\n\n<p><strong>Artificial Intelligence (AI)<\/strong> is a big topic for Arma. Players always want more of it, but they also do not want to pay the performance hit for it. While rendering and simulation are often quite stable, we see the biggest lag spikes happening in AI calculations. So, if we wanted to improve performance, we had to focus on that area.<\/p>\n\n\n\n\n<p>The simple approach, one that we would love if it actually worked, would be to compute all AI groups in parallel. But sadly (or not, because this is what makes all the AI mods, which we love so much, possible), AI is running scripts. And we cannot parallelize that. Let\u2019s take a look and try to figure out what we can do.<\/p>\n\n\n\n\n<p>This is a typical AI simulation cycle with a few groups:<\/p>\n\n\n<p>\n\n[thumb]2.20_OPREP_8.jpg[\/thumb]\n\n<\/p>\n\n\n<p>This is greatly simplified; there are a lot of steps missing, and I won\u2019t explain most things here.<\/p>\n\n\n\n\n<p>Like we did before with the particles, we again have to consider the constraints here.<\/p>\n\n\n\n<ul>\n\n\t\n\t\n\t<li>The Finite State Machine (FSM) updates cannot run in parallel.<\/li>\n\n\t\n\t\n\t<li>The \"Scanning for potential targets\" and \"Preparing the Pathfinding Grid\" tasks can.<\/li>\n\n\t\n\t\n\t<li>And the \"Track Targets\" task that every individual unit is doing, also cannot be parallel.<\/li>\n\n\n\n<\/ul>\n\n\n\n\n<p>We cannot run the groups in parallel because the FSM updates would conflict. We cannot even run the units in that first group in parallel, because the \u201cTrack Targets\u201d would conflict.<\/p>\n\n\n\n\n<p>What we would love to do is to somehow pull out the multithreadable parts. Previously, that was not technically possible, but now we have new options. What we would need is a way to run through all groups, collect all the tasks, then run the tasks in parallel, and finally run through the groups a second time and feed them with the results of the tasks that we ran for them.<\/p>\n\n\n\n\n<p>One way would be to split up the AI simulation into chunks, and then run through the groups multiple times. First only run the chunks that give us jobs, then do them, then run through the rest and provide the results. But due to how complex our AI is, that would take weeks of time, and it would be very likely we break something in the process.<\/p>\n\n\n\n\n<p>The other way would be if we could somehow pause the group simulation in the middle, like scheduled scripts do. We'd launch the job and insert a 'waitUntil', and continue with the other groups. And that is actually a thing we can do. Bohemia Interactive is actually doing something like this in DayZ. That game has animation in the middle of simulation. Animations can run in parallel, but simulations cannot. It uses the same approach. It runs the simulation until it gets to the animation, starts the animation as a job to run on another CPU core, pauses the simulation and instead continues with the next simulation. It does this until it went a whole round through all simulations. Then it runs a second round. This time it fetches the job results (potentially waiting for it to finish still), applies the animation, and continues with the second half of simulation.<\/p>\n\n\n\n\n<p>This magic is called <strong>\"coroutines<\/strong><strong>\"<\/strong>, and they are basically the same thing as scheduled scripts. They can be paused at any point, and let you continue with the next coroutine. And their second nice characteristic is that we can decide where to resume them, meaning we can move them between multiple CPU cores. This also allows for running the groups multithreaded. But then before the not multithreadable part, we can suspend them and continue them on only a single core.<\/p>\n\n\n\n\n<p>To cut it short, this is how it would look (excluding Group 1 because it is special):<\/p>\n\n\n<p>\n\n[thumb]2.20_OPREP_9.jpg[\/thumb]\n\n<\/p>\n\n\n<p>The more groups we have, the more work we can extract and parallelize.<\/p>\n\n\n\n\n<p>For group 1 we are using a slightly different solution: we split all the units and actually run them in parallel directly. But then when we suspend them, we move them to the main thread to process the rest on there.<\/p>\n\n\n<p>\n\n[thumb]2.20_OPREP_10.jpg[\/thumb]\n\n<\/p>\n\n\n<p>Now we would like it if we could run this scanning in parallel to the other groups being processed, like we did for the pathfinding preparations above. Why that ended up not working, I will explain more below.<\/p>\n\n\n\n\n<p>Using these techniques:<\/p>\n\n\n\n<ul>\n\n\t\n\t\n\t<li>Job dependency graph to mesh tasks while also considering their constraints<\/li>\n\n\t\n\t\n\t<li>Coroutines to easily extract parallelizable chunks out of a bigger non-parallelizable task<\/li>\n\n\t\n\t\n\t<li>Multithreaded coroutines, for tasks that are mostly parallelizable, but only have a small chunk at the end that cannot be<\/li>\n\n\n\n<\/ul>\n\n\n\n\n<p>We were able to improve quite a few areas of the engine. It is just a matter of finding all the spots.<\/p>\n\n\n\n\n<p>Another example is <strong>explosions<\/strong>, which will do line intersects to all nearby objects to check if they should be hit by damage, or if they are behind cover that protects them. We saw this causing lag spikes. We first had to make line intersect safe to run in parallel, which required some changes to the way we process animations (which actually caused other problems, so we had to go through several iterations on Profiling branch to iron out all the issues). After that, we could run all these checks in parallel. However, again, it is not as simple as that. We do not only do a line intersect per object. It is once more a complex task, made from a mix of elements that are safe to multithread, and some that are not.<\/p>\n\n\n\n\n<p>For each object, we do these steps:<\/p>\n\n\n\n<ul>\n\n\t\n\t\n\t<li>Check if the object is in range of the explosion (safe)<\/li>\n\n\t\n\t\n\t<li>Check if object has \"HitExplosion\" \/ \"HitPart\" <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers\">Event Handlers<\/a>, and if yes, then run them (not safe)<\/li>\n\n\t\n\t\n\t<li>Check line of sight to see if the object is behind cover (safe)<\/li>\n\n\t\n\t\n\t<li>If it is not behind cover, we apply damage and call the Explosion Event Handler (not safe)<\/li>\n\n\n\n<\/ul>\n\n\n\n\n<p>But here we can apply the technique we developed for the group\u2019s target scanning: multithreaded coroutines. Instead of moving back to the main thread at the end, we play a round of ping-pong,  kicking the tasks back and forth between singlethreaded and multithreaded.<\/p>\n\n\n\n\n<p>We start out multithreaded and do the range check. If the object does not have Event Handlers (which most objects don\u2019t), we can just skip that part and continue to the line of sight check. And when the object is behind cover (which they often are) we are already done, and we were able to run this whole task without having to go back to being singlethreaded.<\/p>\n\n\n\n\n<p>If the object has Event Handlers, and is not behind cover, we pay the cost of having to move it around. But even with that, because we can extract the expensive line of sight check, we still come out ahead.<\/p>\n\n\n\n\n<h2>MULTITHREADING OPPORTUNITIES<\/h2>\n\n\n\n\n<p>As we\u2019ve seen in the examples above, it is often not as simple as it seems at first. The main factor of whether something can be multithreaded, is whether multiple threads would try to access the same data at the same time.<\/p>\n\n\n\n\n<p>Scripts especially are a problem, because they can do anything and affect basically everything. We could multithread some script commands internally (<a href=\"https:\/\/community.bistudio.com\/wiki\/nearObjects\">nearObjects<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/lineIntersects\">lineIntersects<\/a>, and some others), but the interaction between multiple script commands is where most of the time is spent. We did optimize scripts in general a bit over the last few years, but there is not much more left to be squeezed out of it.<\/p>\n\n\n\n\n<p>For example, let's look again at the group simulation we mentioned above. Could we run Group 1 in parallel  to all the others? Like this for example:<\/p>\n\n\n<p>\n\n[thumb]2.20_OPREP_11.jpg[\/thumb]\n\n<\/p>\n\n\n<p>And yes, we \"can\". This did work in our tests, and we released it to Profiling branch for testing. But very shortly after that, the first crash reports started coming in. While we were scanning for targets, an AI mod ran a script in the group FSM, which spawned new units. Adding new units conflicted with the target scanning, which scans through the list of units, and caused the game to crash.<\/p>\n\n\n\n\n<p>For the vanilla base game without mods, this would have been fine, because we don\u2019t have scripts causing such problems. But mods can do everything and anything, and we need to be very careful with what we do.<\/p> \n\n\n\n\n<p>A very big part of the game\u2019s frametime is simulation for objects (units, vehicles, buildings, etc.). There would be the biggest potential for multithreading, but these are also the hardest to solve. For one, there are scripts and Event Handlers all over the place, but also just the engine simulation has lots of interconnected parts. For example, a unit taking an item out of a box; we cannot have multiple units doing that at the same time. We would need to separate simulation into safe and unsafe parts.<\/p> \n\n\n\n\n<p>For AI simulation that was relatively simple. The heaviest parts are easy to spot and easy to extract. For object simulation, there are generally no heavy parts to take out. Simulation of one object is quite fast, but the problem comes from having to simulate thousands of them. And while it\u2019s fast, simulation is also very big: thousands of lines of code big, organically grown over the last 20 years, with little or no consideration for multithreading back in the early days. Even if we miss just one line of code in there that ends up executing scripts, or interacts with some other object, we run the risk of crashing the game.<\/p> \n\n\n\n\n<p>While it would be possible to unravel it all, we also have to be realistic in that we have limited resources allocated to Arma 3 at this stage. Doing all of this costs time. We focused on the big chunks at first. AI was relatively simple to get relatively big gains from. Simulation is very complex, and expected to yield comparatively small gains.<\/p>\n\n\n\n\n<p>We will continue working on this, but with the biggest and easiest fixes already taken care of, we are only left with small, risky and complex things. And we also have to balance the time investment with everything else that needs doing. We can either give some players one or two more FPS, or we can spend the time on adding cool features like the <a href=\"https:\/\/community.bistudio.com\/wiki\/CT_WEBBROWSER\">web browser UI<\/a> or <a href=\"https:\/\/store.steampowered.com\/gamerecording\">Steam Game Recording<\/a> integration.<\/p>\n\n\n\n\n<p>Due to not everything being able to be multithreaded, <strong>the performance impact of what we did now will also vary per situation and especially with mods loaded<\/strong>. Our improvements to AI and rendering will not have much impact on a script-heavy mod. We try to provide improvements to some script commands, and are always looking for hints as to which ones need some more work, but we cannot fix the overall cost of trying to run many scripts.<\/p>\n\n\n\n\n<h2>WHY NOW?<\/h2>\n\n\n\n\n<p>There has been a steady effort of modernizing our RV engine over the last few years.<\/p>\n\n\n\n\n<p>Back in 2020, we used to build Arma 3 with Visual Studio 2013 and the C++14 standard. Since then, we\u2019ve upgraded all our code and libraries to VS 2022 and C++23. Upgrading over a million lines of code through nine years of language evolution did take a lot of time, especially as we were doing it on the side in parallel with all other development. Plus, we had to make sure we didn\u2019t break anything while doing it. We did break quite a few things along the way, but thanks to everyone participating on the Profiling branch, we were able to find and fix most of them quickly.<\/p>\n\n\n\n\n<p>Upgrading our multithreading code is just a part of that effort, and we are still not done.<\/p>\n\n\n\n\n<p>- Dedmen<\/p>","published":"1","hide_from_home_feed":null,"url":"oprep-performance-optimizations-in-220","post_header_image":null,"animation_interval":"200","author":"Dedmen","post_thumb":null,"type":"oprep","updated_at":"2025-06-18 14:04:36","public_date":"2025-06-17 16:00:00"},{"id":479,"title":"SPOTREP #00118","created_at":"2025-06-17 12:17:28","excerpt":"<p>Game Update 2.20 (Performance Optimizations, Steam Game Recording, UH-80 \/ AH-99 Stub Wings, Illumination Flares)<br><\/p>","content":"<p>FROM: High Command<br>TO: Arma 3 Users<br>UNIT: Main Branch<br>ACTIVITY: Game Update 2.20 (Performance Optimizations, Steam Game Recording, UH-80 \/ AH-99 Stub Wings, Illumination Flares)<br>SIZE: ~127 MB \/ ~57 MB (depends on Contact ownership)<br><\/p>\n<h1>NOTES<\/h1>\n<ul>\n\t<li>For more information about the performance optimizations, please read our <a href=\"https:\/\/dev.arma3.com\/post\/oprep-performance-optimizations-in-220\" target=\"\">technical deep dive blog<\/a> (which also mentions updates to the game's system requirements).<\/li>\n\t<li>Contact consists of 2 data packs \/ folders:\n\t<ul>\n\t\t<li>Contact (via <i>PLAY CONTACT<\/i> or <i>-mod=Contact<\/i>): for the singleplayer \"First Contact\" campaign experience (accessible only to owners - optionally loaded)<\/li>\n\t\t<li>Contact (Platform): for most other use cases, including sandbox multiplayer (loaded by default for all players)<\/li>\n\t<\/ul><\/li>\n\t<li>Consider using the Steam client option to verify the integrity of the local game cache to avoid corrupted data after downloading this update.<\/li>\n\t<li>Consider defragmenting your HDD after downloading large updates.<\/li>\n\t<li>Updating a deeply moddable game and its platform is not without risks. We use various methods to communicate upcoming changes to our awesome modding community, such as via the <a href=\"https:\/\/dev.arma3.com\/\" target=\"\">Dev Hub<\/a>. We also co-operate directly on troubleshooting, and we offer an opportunity to test updates via our <a href=\"https:\/\/dev.arma3.com\/rc-branch\" target=\"\">Release Candidate tests<\/a>. Modders, server administrators, and other members of the community do their best to prepare for updates and to address issues post-release as quickly as possible. Please be mindful of some interruptions (especially in the first hours \/ days after a release) while we all work to improve the game together.<\/li>\n\t<li>A <i>Legacy Build<\/i> Steam branch is available for advanced users. It contains the previous significant main branch version (2.18). It can be used to compare specific changes between major releases. The access code for this branch is: <i>Arma3Legacy218<\/i><\/li>\n\t<li>This update does not yet apply to <a href=\"http:\/\/dev.arma3.com\/ports\" target=\"\">the experimental Mac client ports<\/a>.<\/li>\n\t<li>You can find the servers in the Steam library (switch the filter to \"Tools\") - \"Arma 3 Server\" (based on your OS, it will download the Windows or Linux version).\n\t<ul>\n\t\t<li>Administrators can also use the command-line <a href=\"https:\/\/developer.valvesoftware.com\/wiki\/SteamCMD\" target=\"\">SteamCMD<\/a> utility. The app ID is to be 233780.<\/li>\n\t\t<li>NVIDIA GameWorks\u2122 Technology provided under license from NVIDIA Corporation. Copyright \u00a9 2002-2018 NVIDIA Corporation. All rights reserved. NVIDIA\u00ae and PhysX\u00ae are trademarks of NVIDIA Corporation and are used under license.<\/li>\n\t<\/ul><\/li>\n\t<li>In case of problems, please check the <a href=\"http:\/\/support.bistudio.com\/arma-3\" target=\"\">Bohemia Interactive support F.A.Q.<\/a>, <a href=\"http:\/\/arma3.com\/faq\" target=\"\">Arma 3 F.A.Q.<\/a>, <a href=\"http:\/\/www.battleye.com\/support\/faq\/\" target=\"\">BattlEye F.A.Q.<\/a>, or <a href=\"https:\/\/arma3.com\/launcher\/troubleshooting\" target=\"\">Launcher troubleshooting guide<\/a>.<\/li>\n\t<li>You can help us to further improve the game by posting your feedback on the <a href=\"http:\/\/feedback.arma3.com\/\" target=\"\">Feedback Tracker<\/a>.<br><\/li>\n<\/ul>\n<h1>CHANGELOG<br><\/h1>\n<h2>DATA<\/h2>\n<ul>\n\t<li><b>Added: Stub wing variants with pylon configurations for AH-99 and UH-80 helicopters<\/b><\/li>\n\t<li><b>Added: Illumination flares<\/b> (in addition to the existing signal flares)<\/li>\n\t<li><b>Added: <a href=\"https:\/\/store.steampowered.com\/gamerecording\" target=\"\">Steam Game Recording<\/a> integration for <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Time_Trials\" target=\"\">Time Trials<\/a><\/b><\/li>\n\t<li><b>Added: <a href=\"https:\/\/store.steampowered.com\/gamerecording\" target=\"\">Steam Game Recording<\/a> integration for <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Firing_Drills\" target=\"\">Firing Drills<\/a><\/b><\/li>\n\t<li><b>Added: <a href=\"https:\/\/store.steampowered.com\/gamerecording\" target=\"\">Steam Game Recording<\/a> integration for <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Invaders\" target=\"\">Arma Invaders<\/a><\/b><\/li>\n\t<li><b>Added: More specific <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Steam_Branches\" target=\"\">Steam branch<\/a> info to the main menu, pause menu and loading screens<\/b><\/li>\n\t<li>Added: Missing DLC requirement in \"Showcase Sling Loading\"<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_setUnitInsignia\" target=\"\">BIS_fnc_setUnitInsignia<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_getUnitInsignia\" target=\"\">BIS_fnc_getUnitInsignia<\/a> updated to work with the new uniform texture mechanic - <a href=\"https:\/\/feedback.bistudio.com\/T161323\" target=\"\">FT-T161323<\/a><\/li>\n\t<li>Tweaked: Eye position when aiming down the sights on M320 and GM6, so the camera is no longer clipping with the rifle's mesh when recoil kicks in<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/format\" target=\"\">format<\/a> argument error in AAN function - <a href=\"https:\/\/feedback.bistudio.com\/T182822\" target=\"\">FT-T182822<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Utilities\" target=\"\">utils<\/a> format argument error - <a href=\"https:\/\/feedback.bistudio.com\/T182822\" target=\"\">FT-T182822<\/a><\/li>\n\t<li>Fixed: Error in <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_kbTellLocal\" target=\"\">BIS_fnc_kbTellLocal<\/a> function - <a href=\"https:\/\/feedback.bistudio.com\/T186857\" target=\"\">FT-T186857<\/a><\/li>\n\t<li>Fixed: Undefined error in <a href=\"https:\/\/community.bistudio.com\/wiki\/BIS_fnc_liveFeedTerminate\" target=\"\">BIS_fnc_liveFeedTerminate<\/a> function - <a href=\"https:\/\/feedback.bistudio.com\/T186558\" target=\"\">FT-T186558<\/a><\/li>\n\t<li>Fixed: Importing exported Arsenal loadout was not importing insignia - <a href=\"https:\/\/feedback.bistudio.com\/T186642\" target=\"\">FT-T186642<\/a><\/li>\n\t<li>Fixed: A Logic was created on the wrong side in a scripted function - <a href=\"https:\/\/feedback.bistudio.com\/T177680\" target=\"\">FT-T177680<\/a><\/li>\n\t<li>Fixed: SAAMI weapon referencing incorrect sounds - <a href=\"https:\/\/feedback.bistudio.com\/T185821\" target=\"\">FT-T185821<\/a><\/li>\n\t<li>Fixed: Script format error in Field Manual - <a href=\"https:\/\/feedback.bistudio.com\/T182822\" target=\"\">FT-T182822<\/a><\/li>\n\t<li>Fixed: Launchers were not always selected properly in Arsenal<\/li>\n\t<li>Fixed: AI jet pilots will now properly eject from their plane when it is damaged more then its <i>ejectDamageLimit<\/i><\/li>\n\t<li>Fixed: One pop-up target in \"CoF: Red 2\" was behaving incorrectly<\/li>\n\t<li>Fixed: Missing windows fire geometry on armed variants of Ifrit - <a href=\"https:\/\/feedback.bistudio.com\/T190093\" target=\"\">FT-T190093<\/a><\/li>\n\t<li>Fixed: Tail wheel missing from \"Camo2\" hidden selection on UH-80 in its first LOD<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/format\" target=\"\">format<\/a> related error in the \"Remnants of War\" campaign<br><\/li>\n<\/ul>\n<h2>ENGINE<\/h2>\n<ul>\n\t<li><b>Deprecated: <a href=\"https:\/\/dev.arma3.com\/32-bit\" target=\"\">32-Bit support<\/a><\/b> (not yet removed, but a future update may do so)<\/li>\n\t<li><b>Deprecated: Windows 7 and 8 support<\/b> (not yet removed, but a future update may do so)<\/li>\n\t<li><b>Added: Integration of <a href=\"https:\/\/store.steampowered.com\/gamerecording\" target=\"\">Steam Game Recording<\/a> with custom game events<\/b> (<a href=\"https:\/\/community.bistudio.com\/wiki\/steamGameRecordingEvent\" target=\"\">documentation forthcoming<\/a>)<\/li>\n\t<li><b>Added: Replaced Real Virtuality <a href=\"https:\/\/dev.arma3.com\/post\/oprep-performance-optimizations-in-220\" target=\"\">multithreading<\/a> job system with Enfusion's version<\/b><\/li>\n\t<li><b>Added: Asynchronous JIP queue processing<\/b><\/li>\n\t<li><b>Added: Multithreaded JIP queue processing<\/b><\/li>\n\t<li><b>Added: Multithreaded lights collection<\/b><\/li>\n\t<li><b>Added: More multithreading into rendering<\/b><\/li>\n\t<li><b>Added: Asynchronous AI and sound simulation<\/b><\/li>\n\t<li><b>Added: Partially multithreaded AI simulation<\/b><\/li>\n\t<li><b>Added: Multithreaded AI visibility calculations<\/b><\/li>\n\t<li><b>Added: Multithreaded PhysX simulation<\/b><\/li>\n\t<li><b>Added: Script commands <a href=\"https:\/\/community.bistudio.com\/wiki\/allMissionObjects\" target=\"\">allMissionObjects<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/nearestObjects\" target=\"\">nearestObjects<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/nearObjects\" target=\"\">nearObjects<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/nearSupplies\" target=\"\">nearSupplies<\/a>, <a href=\"https:\/\/community.bistudio.com\/wiki\/nearRoads\" target=\"\">nearRoads<\/a> are now internally multithreaded<\/b><\/li>\n\t<li><b>Added: Scanning for objects in trigger areas is now multithreaded<\/b><\/li>\n\t<li><b>Added: AI sensor updating is now multithreaded<\/b><\/li>\n\t<li><b>Added: AI target list updating\/scanning is now multithreaded<\/b><\/li>\n\t<li><b>Added: PhysX Vehicle suspension update is now multithreaded<\/b><\/li>\n\t<li><b>Added: PhysX Simulation is now multithreaded<\/b><\/li>\n\t<li><b>Added: <\/b><a href=\"https:\/\/community.bistudio.com\/wiki?title=Arma_3:_Server_Config_File#Server_Options\" target=\"\" style=\"font-weight: bold;\">Mission file downloading over HTTP<\/a>&nbsp;- <a href=\"https:\/\/forums.bohemia.net\/forums\/topic\/70345-server-ability-url-forwarding-of-mission-content\" target=\"\">BI Forums<\/a><\/li>\n\t<li><b>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/CT_WEBBROWSER\" target=\"\">CT_WEBBROWSER<\/a> UI Control<\/b><\/li>\n\t<li><b>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/CT_EXTENSION\" target=\"\">CT_EXTENSION<\/a> UI Control<\/b><\/li>\n\t<li>Added: Alternative syntax for <a href=\"https:\/\/community.bistudio.com\/wiki\/getObjectTextures\" target=\"\">getObjectTextures<\/a> script command<\/li>\n\t<li>Added: Option to <a href=\"https:\/\/community.bistudio.com\/wiki\/getObjectTextures\" target=\"\">getObjectTextures<\/a> to return default textures - <a href=\"https:\/\/feedback.bistudio.com\/T171318\" target=\"\">FT-T171318<\/a><\/li>\n\t<li>Added: Option to <a href=\"https:\/\/community.bistudio.com\/wiki\/setObjectTexture\" target=\"\">setObjectTexture<\/a> and <a href=\"https:\/\/community.bistudio.com\/wiki\/setObjectMaterial\" target=\"\">setObjectMaterial<\/a> commands to reset to default texture\/material - <a href=\"https:\/\/feedback.bistudio.com\/T171318\" target=\"\">FT-T171318<\/a><\/li>\n\t<li>Added: Ability to set a marker color directly with <a href=\"https:\/\/community.bistudio.com\/wiki\/setMarkerColor\" target=\"\">setMarkerColor<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T185042\" target=\"\">FT-T185042<\/a><\/li>\n\t<li>Added: Slightly improved efficiency of <a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArray\" target=\"\">inAreaArray<\/a> for <a href=\"https:\/\/community.bistudio.com\/wiki\/Array\" target=\"\">Array<\/a>s<\/li>\n\t<li>Added: Alternative syntax for <a href=\"https:\/\/community.bistudio.com\/wiki\/inPolygon\" target=\"\">inPolygon<\/a> check to <a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArray\" target=\"\">inAreaArray<\/a><\/li>\n\t<li>Added: Optional parameter to <a href=\"https:\/\/community.bistudio.com\/wiki\/inArea\" target=\"\">inArea<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArray\" target=\"\">Array<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArrayIndexes\" target=\"\">Indexes<\/a> to force all positions to be treated as <a href=\"https:\/\/community.bistudio.com\/wiki\/Position#PositionWorld\" target=\"\">PositionWorld<\/a> (default was <a href=\"https:\/\/community.bistudio.com\/wiki\/Position#PositionAGL\" target=\"\">PositionAGL<\/a>)<\/li>\n\t<li>Added: New <a href=\"https:\/\/community.bistudio.com\/wiki\/setMarkerShape\" target=\"\">marker shapes<\/a>: \"TRIANGLE\", \"PENTAGON\", \"HEXAGON\", \"HEPTAGON\", \"OCTAGON\", \"NONAGON\", \"DECAGON\"<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/drawXPolygon\" target=\"\">drawXPolygon<\/a> script command<\/li>\n\t<li>Added: <i><a href=\"https:\/\/community.bistudio.com\/wiki\/Multiplayer_Server_Commands\" target=\"\">exportJIPQueue<\/a><\/i> now includes the number of messages per object (to see how many would be removed if said object was deleted)<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/isSwitchingWeapon\" target=\"\">isSwitchingWeapon<\/a> script command<\/li>\n\t<li>Added: Alternative syntax for <a href=\"https:\/\/community.bistudio.com\/wiki\/lineIntersects\" target=\"\">lineIntersects<\/a> command to run multiple intersects in parallel using multithreading<\/li>\n\t<li>Added: FPS limit in main menu with <i>-world=empty<\/i> and when windowed mode is unfocused<\/li>\n\t<li>Added: Option to <a href=\"https:\/\/community.bistudio.com\/wiki\/Multiplayer_Server_Commands\" target=\"\">log<\/a> remains collector entities into a file<\/li>\n\t<li>Added: Servers with no players now limit their FPS to 30 (regardless of <i>-limitFPS<\/i> parameter)<\/li>\n\t<li>Added: <i>-limitFPS<\/i> command-line parameter now also works on clients<\/li>\n\t<li>Added: Ability to configure remains collector force remove times in the server config<\/li>\n\t<li>Added: Uniforms textured by <a href=\"https:\/\/community.bistudio.com\/wiki\/setObjectTexture\" target=\"\">setObjectTexture<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/setObjectTextureGlobal\" target=\"\">Global<\/a> will now show custom textures in weapon holders<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/uiTime\" target=\"\">uiTime<\/a> script command<\/li>\n\t<li>Added: Alternative syntax to the <a href=\"https:\/\/community.bistudio.com\/wiki\/landAt\" target=\"\">landAt<\/a> command - <a href=\"https:\/\/feedback.bistudio.com\/T187838\" target=\"\">FT-T187838<\/a><\/li>\n\t<li>Added: Confirmation prompt for <a href=\"https:\/\/community.bistudio.com\/wiki\/serverCommand\" target=\"\">serverCommand<\/a> when not using a password<\/li>\n\t<li>Added: <i>RscDisplayPassword<\/i> now stores the server address in the \"guid\" variable on the display<\/li>\n\t<li>Added: Base64 conversion and compression in script via <a href=\"https:\/\/community.bistudio.com\/wiki\/CT_WEBBROWSER#ctrlWebBrowserAction\" target=\"\">ctrlWebBrowserAction<\/a><\/li><li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/getServerInfo\" target=\"\">getServerInfo<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T187807\" target=\"\">FT-T187807<\/a><br><\/li>\n\t<li>Added: <i>sourceModulo<\/i> for <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Multi-Function_Display_(MFD)_config_reference\" target=\"\">MFD sources<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Multi-Function_Display_(MFD)_config_reference\" target=\"\">MFD sources<\/a> <i>ClockSecondSmooth<\/i> and <i>SidePanelRadarRange<\/i><\/li>\n\t<li>Added: <i>mfdMaxUserValues<\/i> vehicle config entry and raised the maximum MFD user value limit to 256<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/productVersion\" target=\"\">productVersion<\/a> now also lists the Steam Beta branch name<\/li>\n\t<li>Added: <i>\"MaxResolution\"<\/i> to <a href=\"https:\/\/community.bistudio.com\/wiki\/setTIParameter\" target=\"\">setTIParameter<\/a><\/li>\n\t<li>Added: <i>\"useRealViewport\"<\/i> config property for map controls - <a href=\"https:\/\/feedback.bistudio.com\/T189016\" target=\"\">FT-T189016<\/a><\/li>\n\t<li>Added: <i>ctrlRelToScreen<\/i> and <i>ctrlScreenToRel<\/i> script commands - <a href=\"https:\/\/feedback.bistudio.com\/T189016\" target=\"\">FT-T189016<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/isNil\" target=\"\">isNil<\/a> with namespace argument now also supports control\/display<\/li>\n\t<li>Added: Animal config property <i>canFitUnderADoor<\/i>&nbsp;(when true will stop given animal from opening a door when entering into a house)<\/li>\n\t<li>Added: Option to <a href=\"https:\/\/community.bistudio.com\/wiki\/removeWeapon\" target=\"\">removeWeapon<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/removeWeaponGlobal\" target=\"\">removeWeaponGlobal<\/a> to abort a new weapon autoselect after primary weapon removal<\/li>\n\t<li>Added: Option to <a href=\"https:\/\/community.bistudio.com\/wiki\/addWeapon\" target=\"\">addWeapon<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/addWeaponGlobal\" target=\"\">addWeaponGlobal<\/a> to abort a new weapon autoselect if no weapon was selected<\/li>\n\t<li>Added: <i>AIThinkOnlyLocal<\/i> option to <a href=\"https:\/\/community.bistudio.com\/wiki\/setMissionOptions\" target=\"\">setMissionOptions<\/a><\/li>\n\t<li>Added: CfgAmmo <i>explodeParentWhenTriggered<\/i> to complement <i>deleteParentWhenTriggered<\/i> - <a href=\"https:\/\/feedback.bistudio.com\/T190390\" target=\"\">FT-T190390<\/a><\/li>\n\t<li>Added: Mission <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Mission_Event_Handlers#MarkerDeleted\" target=\"\">\"MarkerDeleted\"<\/a> Event Handler now returns deleter person - <a href=\"https:\/\/feedback.bistudio.com\/T178348\" target=\"\">FT-T178348<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/removeAllMagazines\" target=\"\">removeAllMagazines<\/a> and <a href=\"https:\/\/community.bistudio.com\/wiki\/removeAllMagazinesTurret\" target=\"\">removeAllMagazinesTurret<\/a> script commands - <a href=\"https:\/\/feedback.bistudio.com\/T177284\" target=\"\">FT-T177284<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Multi-Function_Display_(MFD)_config_reference#Sources\" target=\"\">MFD Sources<\/a> <i>WPDir<\/i>\/<i>WPDirRel<\/i><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/addMagazineTurret\" target=\"\">addMagazinesTurret<\/a> script command - <a href=\"https:\/\/feedback.bistudio.com\/T174007\" target=\"\">FT-T174007<\/a><\/li>\n\t<li>Added: Some of <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Basic_Server_Config_File\" target=\"\">basic.cfg<\/a> network parameters can now be provided as strings<\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Multi-Function_Display_(MFD)_config_reference#Sources\" target=\"\">MFD Source<\/a> <i>WPTime<\/i><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/connectToServer\" target=\"\">connectToServer<\/a> command and Server Browser Direct-Connect now supports resolving SRV records - <a href=\"https:\/\/feedback.bistudio.com\/T127943\" target=\"\">FT-T127943<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/getAllPylonsInfo\" target=\"\">getAllPylonsInfo<\/a> now also returns the position of each pylon - <a href=\"https:\/\/feedback.bistudio.com\/T190789\" target=\"\">FT-T190789<\/a><\/li>\n\t<li>Added: Listbox sorting is now multithreaded - <a href=\"https:\/\/feedback.bistudio.com\/T184005\" target=\"\">FT-T184005<\/a><\/li>\n\t<li>Added: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers#PylonChanged\" target=\"\">\"PylonChanged\"<\/a> entity Event Handler - <a href=\"https:\/\/feedback.bistudio.com\/T190875\" target=\"\">FT-T190875<\/a><\/li>\n\t<li>Added: Post-processing effects <i>Sharpness<\/i>, <i>DepthOfField<\/i>, <i>Fisheye<\/i> - <a href=\"https:\/\/feedback.bistudio.com\/T163827\" target=\"\">FT-T163827<\/a><\/li>\n\t<li>Added: Option to the <i>disableChannels<\/i> mission and server parameter to disable map drawing and map marker placement from the UI per chat channel<\/li>\n\t<li>Tweaked: Improved PhysX simulation performance, if many PhysX objects are in close proximity<\/li>\n\t<li>Tweaked: Buildings with lights no longer get faster simulation if they are not animated and static<\/li>\n\t<li>Tweaked: Visibility checks when applying explosion damage are now multithreaded<\/li>\n\t<li>Tweaked: Improved server performance when sending a large JIP queue<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArray\" target=\"\">inAreaArray<\/a> efficiency for markers has been slightly improved<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/setUnitLoadout\" target=\"\">setUnitLoadout<\/a> will now abort if a unit is in the process of switching weapons - <a href=\"https:\/\/feedback.bistudio.com\/T167015\" target=\"\">FT-T167015<\/a><\/li>\n\t<li>Tweaked: Uniform textures are now stored on uniform entities<\/li>\n\t<li>Tweaked: Uniform textures now persist in multiplayer<\/li>\n\t<li>Tweaked: Added ability to force remove remains after an additional fixed time<\/li>\n\t<li>Tweaked: Slightly improved efficiency of remains disposal checks<\/li>\n\t<li>Tweaked: Added option to <a href=\"https:\/\/community.bistudio.com\/wiki\/diag_remainsCollector\" target=\"\">diag_remainsCollector<\/a> to return override times<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/setSimulWeatherLayers\" target=\"\">setSimulWeatherLayers<\/a> -1 will now reset SimulWeather<\/li>\n\t<li>Tweaked: Scripted helicopter functionality is extended with more options for handling landing - <a href=\"https:\/\/community.bistudio.com\/wiki\/landAt\" target=\"\">landAt<\/a><\/li>\n\t<li>Tweaked: Added alternative syntax to <a href=\"https:\/\/community.bistudio.com\/wiki\/getObjectMaterials\" target=\"\">getObjectMaterials<\/a> script command<\/li>\n\t<li>Tweaked: UGV follow range is now in increments of 10s instead of 100s<\/li>\n\t<li>Tweaked: <i>Follow<\/i> Unit menu now has a <i>Cancel<\/i> option to unfollow<\/li>\n\t<li>Tweaked: Optimized the game's memory usage (~400 MB, ~1GB on 32-bit)<\/li>\n\t<li>Tweaked: Several memory allocation optimizations<\/li>\n\t<li>Tweaked: Updated Steamworks SDK (libraries) to 1.61<\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/drop\" target=\"\">drop<\/a> script command now returns the particle object - <a href=\"https:\/\/feedback.bistudio.com\/T182084\" target=\"\">FT-T182084<\/a><\/li>\n\t<li>Tweaked: <a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArray\" target=\"\">inAreaArray<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArrayIndexes\" target=\"\">inAreaArrayIndexes<\/a> array of positions has been unified and can accept positions in format array, object, group, location, marker (while ignoring nils)<\/li>\n\t<li>Tweaked: Improved performance of AI pathfinding (sea wave positions are no longer calculated when they would be below terrain)<\/li>\n\t<li>Tweaked: AI no longer calculates light influence on targets during daytime<\/li>\n\t<li>Tweaked: Handling of Eden Editor mouse cursor placement (it is now possible to place objects on top of all objects and upside down and on the sides of objects)<\/li>\n\t<li>Tweaked: AI computation is now done in parallel to <i>d3dPresent<\/i><\/li>\n\t<li>Tweaked: Improved efficiency of listbox sorting - <a href=\"https:\/\/feedback.bistudio.com\/T184005\" target=\"\">FT-T184005<\/a><\/li>\n\t<li><b>Fixed: Snakes opened doors when entering houses<\/b> - <a href=\"https:\/\/feedback.bistudio.com\/T59444\" target=\"\">FT-T59444<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T66646\" target=\"\">FT-T66646<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T80719\" target=\"\">FT-T80719<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T86273\" target=\"\">FT-T86273<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T66959\" target=\"\">FT-T66959<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T66520\" target=\"\">FT-T66520<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T64512\" target=\"\">FT-T64512<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T63866\" target=\"\">FT-T63866<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T60776\" target=\"\">FT-T60776<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T60326\" target=\"\">FT-T60326<\/a>, <a href=\"https:\/\/feedback.bistudio.com\/T67930\" target=\"\">FT-T67930<\/a><\/li>\n\t<li>Fixed: Game could freeze when tabbing out while rendering - <a href=\"https:\/\/feedback.bistudio.com\/T183720\" target=\"\">FT-T183720<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/supportInfo\" target=\"\">supportInfo<\/a> command did not list all commands on \"u:*\" and \"b:*\"<\/li>\n\t<li>Fixed: Sometimes <a href=\"https:\/\/community.bistudio.com\/wiki\/velocity\" target=\"\">velocity<\/a> for EPE objects would return 0 - <a href=\"https:\/\/feedback.bistudio.com\/T185618\" target=\"\">FT-T185618<\/a><\/li>\n\t<li>Fixed: UAV would stop following waypoints after a <a href=\"https:\/\/community.bohemia.net\/wiki\/Waypoints#Land\" target=\"\">Land waypoint<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/getObjectTextures\" target=\"\">getObjectTextures<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/getObjectMaterials\" target=\"\">getObjectMaterials<\/a> would not work with Simple Objects - <a href=\"https:\/\/feedback.bistudio.com\/T185884\" target=\"\">FT-T185884<\/a><\/li>\n\t<li>Fixed: Inconsistency between <a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArray\" target=\"\">inAreaArray<\/a> and <a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArrayIndexes\" target=\"\">inAreaArrayIndexes<\/a> for <a href=\"https:\/\/community.bistudio.com\/wiki\/Array\" target=\"\">Array<\/a> when matching in 3D<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/enableReload\" target=\"\">enableReload<\/a> would not work with static weapons<\/li>\n\t<li>Fixed: Removing a magazine from a static weapon would trigger a reload when <a href=\"https:\/\/community.bistudio.com\/wiki\/enableReload\" target=\"\">enableReload<\/a> was false<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/removeMagazine\" target=\"\">removeMagazine<\/a> was removing the current magazine from static weapons first<\/li>\n\t<li>Fixed: Game would try to re-download Steam Workshop Compositions repeatedly - <a href=\"https:\/\/feedback.bistudio.com\/T171116\" target=\"\">FT-T171116<\/a><\/li>\n\t<li>Fixed: RPT file header would not print all arguments if arguments were too long<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/inArea\" target=\"\">inArea<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArray\" target=\"\">Array<\/a>\/<a href=\"https:\/\/community.bistudio.com\/wiki\/inAreaArrayIndexes\" target=\"\">Indexes<\/a> did not support legacy hexagon - <a href=\"https:\/\/forums.bohemia.net\/forums\/topic\/160288-arma-3-stable-server-218-profiling-performance-binary-feedback\/?do=findComment&amp;comment=3536113\" target=\"\">BI Forums<\/a><\/li>\n\t<li>Fixed: JIP players seeing different uniform on a player for up to a minute<\/li>\n\t<li>Fixed: Unit insignia were sometimes being applied to the whole body - <a href=\"https:\/\/feedback.bistudio.com\/T155459\" target=\"\">FT-T155459<\/a><\/li>\n\t<li>Fixed: Keybinding F16-F23 keys were displaying \"UNEXPECTED_KEY_ID\" instead of the key name - <a href=\"https:\/\/feedback.bistudio.com\/T125049\" target=\"\">FT-T125049<\/a><\/li>\n\t<li>Fixed: Headless Client would not report if connection failed due to <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Server_Config_File#Server_Options\" target=\"\">allowedFilePatching<\/a> or <i>equalModRequired<\/i> restrictions<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_CfgWorlds_Config_Reference#class_RainParticles\" target=\"\">snow<\/a> parameter in <i>RainParticles<\/i> config did not work - <a href=\"https:\/\/feedback.bistudio.com\/T185117\" target=\"\">FT-T185117<\/a><\/li>\n\t<li>Fixed: Sections of objects would stop rendering at specific camera angles<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/setObjectTexture\" target=\"\">setObjectTexture<\/a> stopped working with VR entities - <a href=\"https:\/\/feedback.bistudio.com\/T155459\" target=\"\">FT-T155459<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/setMissionOptions\" target=\"\">ignoreNoDamage<\/a> mission option was preventing healing using a Medikit - <a href=\"https:\/\/feedback.bistudio.com\/T186874\" target=\"\">FT-T186874<\/a><\/li>\n\t<li>Fixed: Crash in legacy non-PhysX car collision simulation (thanks to <i>Moerderhoschi<\/i> for the reproduction steps)<\/li>\n\t<li>Fixed: When taking off a uniform, modded content would apply its uniform texture to underwear - <a href=\"https:\/\/feedback.bistudio.com\/T155459\" target=\"\">FT-T155459<\/a><\/li>\n\t<li>Fixed: Network spam when deleting units<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/uiSleep\" target=\"\">uiSleep<\/a> did not serialize properly<\/li>\n\t<li>Fixed: Helicopters would not respond to a change of helipad during landing<\/li>\n\t<li>Fixed: Some of the player-emitted sounds were not audible in multiplayer - <a href=\"https:\/\/feedback.bistudio.com\/T178500\" target=\"\">FT-T178500<\/a><\/li>\n\t<li>Fixed: SimulWeather would not reset on mission change<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/setSimulWeatherLayers\" target=\"\">setSimulWeatherLayers<\/a> stopped working after layers were set to 0<\/li>\n\t<li>Fixed: Countermeasure impact sounds were multiplied in multiplayer - <a href=\"https:\/\/feedback.bistudio.com\/T186402\" target=\"\">FT-T186402<\/a><\/li>\n\t<li>Fixed: UGVs would not follow players from the UAV terminal - <a href=\"https:\/\/feedback.bistudio.com\/T126283\" target=\"\">FT-T126283<\/a><\/li>\n\t<li>Fixed: Switching between UGV and UAV would break the UAV gunner view<\/li>\n\t<li>Fixed: Sometimes the unit follow arrow was not drawn correctly<\/li>\n\t<li>Fixed: Selected follow unit range was not highlighted in the menu<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/connectToServer\" target=\"\">connectToServer<\/a> did not support using domain names - <a href=\"https:\/\/feedback.bistudio.com\/T159809\" target=\"\">FT-T159809<\/a><\/li>\n\t<li>Fixed: UGV would continue following dead units<\/li>\n\t<li>Fixed: Steam Rich Presence would display \"__cur_sp\" for single player missions if they were only setting the mission name in the editor attributes<\/li>\n\t<li>Fixed: Crash when <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers#MagazineUnloaded\" target=\"\">\"MagazineUnloaded\"<\/a> Event Handler is set and magazine is unloaded in Arsenal<\/li>\n\t<li>Fixed: <i>-init=<\/i> command line parameter did not work<\/li>\n\t<li>Fixed: Crash when using a <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Sound:_SoundSet\" target=\"\">SoundSet<\/a> with <i>delay<\/i>&nbsp;inside a vehicle - <a href=\"https:\/\/feedback.bistudio.com\/T188707\" target=\"\">FT-T188707<\/a><\/li>\n\t<li>Fixed: Map controls now correctly handle positioning inside control groups, if \"<a href=\"https:\/\/community.bistudio.com\/wiki\/ctrlMapSetPosition\" target=\"\">ctrlMapSetPosition<\/a> []\" is executed once - <a href=\"https:\/\/feedback.bistudio.com\/T189016\" target=\"\">FT-T189016<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/setPiPEffect\" target=\"\">setPiPEffect<\/a> - Chromatic Aberration and Film Grain did not work<\/li>\n\t<li>Fixed: Weapon muzzle attachments <i>recoilCoef<\/i> was not applied to player-used weapons - <a href=\"https:\/\/feedback.bistudio.com\/T167366\" target=\"\">FT-T167366<\/a><\/li>\n\t<li>Fixed: <i>thermalResolution<\/i> config parameter did not work when setting a single resolution instead of a zoom range<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Procedural_Textures#UI_On_Texture\" target=\"\">UI On Texture<\/a> textures would sometimes think they are not visible on screen and never update their image (thanks <i>Lambda.Tiger<\/i>)<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Server_Config_File#Server_Options\" target=\"\">skipLobby<\/a> parameter could not assign players into Virtual Spectator or Zeus slots and could get stuck if no other slots are free (thanks <i>Dimon UA<\/i>)<\/li>\n\t<li>Fixed: Helicopter adjusting direction after turning the engine off after landing<\/li>\n\t<li>Fixed: Functions Viewer did not populate list of functions when opening<\/li>\n\t<li>Fixed: Incorrect laser marker positioning on and around water - <a href=\"https:\/\/feedback.bistudio.com\/T188547\" target=\"\">FT-T188547<\/a><\/li>\n\t<li>Fixed: Laser target marker would get stuck on objects - <a href=\"https:\/\/feedback.bistudio.com\/T71322\" target=\"\">FT-T71322<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/currentZeroing\" target=\"\">currentZeroing<\/a> did not respect laser range zeroing - <a href=\"https:\/\/feedback.bistudio.com\/T189309\" target=\"\">FT-T189309<\/a><\/li>\n\t<li>Fixed: Missiles did not consider their <i>fuseDistance<\/i> setting - <a href=\"https:\/\/feedback.bistudio.com\/T189277\" target=\"\">FT-T189277<\/a><\/li>\n\t<li>Fixed: Crash when using <a href=\"https:\/\/community.bistudio.com\/wiki\/loadConfig\" target=\"\">loadConfig<\/a> with binarized configs - <a href=\"https:\/\/feedback.bistudio.com\/T188760\" target=\"\">FT-T188760<\/a><\/li>\n\t<li>Fixed: Crash if OGG sound file is played more than 255 times at once<\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/Arma_3:_Event_Handlers#Fired\" target=\"\">\"Fired\"<\/a> Event Handler in multiplayer could receive wrong projectile for global projectiles - <a href=\"https:\/\/feedback.bistudio.com\/T190141\" target=\"\">FT-T190141<\/a><\/li>\n\t<li>Fixed: Forced game crash when addon requires addon that was skipped due to <a href=\"https:\/\/community.bistudio.com\/wiki\/CfgPatches\" target=\"\">skipWhenMissingDependencies<\/a> - <a href=\"https:\/\/feedback.bistudio.com\/T172179\" target=\"\">FT-T172179<\/a><\/li>\n\t<li>Fixed: <a href=\"https:\/\/community.bistudio.com\/wiki\/getShotInfo\" target=\"\">getShotInfo<\/a> did not return <i>timeToExplosion<\/i> for mines - <a href=\"https:\/\/feedback.bistudio.com\/T190684\" target=\"\">FT-T190684<\/a><\/li>\n\t<li>Fixed: Zeus did not store allowed addons in savegame (resulting in loss of access to modded units after loading a savegame) - <a href=\"https:\/\/feedback.bistudio.com\/T190333\" target=\"\">FT-T190333<\/a><\/li>\n\t<li>Fixed: Flares did not apply the <i>Attenuation<\/i> config to their light emitter<\/li>\n\t<li>Removed: Log \"context\" is no longer available on 32-bit<br><\/li>\n<\/ul>\n<h2>SERVER<\/h2>\n<ul>\n\t<li>Updated: Stand-alone Windows Dedicated Server (2.20)<\/li>\n\t<li>Updated: Stand-alone Linux Dedicated Server (2.20)\n\t<ul>\n\t\t<li>The data in <i>-mod=contact<\/i> is not fully multiplayer compatible (it is meant for the singleplayer campaign experience); we recommend only hosting servers with it for special use cases\n\t\t<ul>\n\t\t\t<li>This data is signed by a new A3C key whose presence can be used to control what client data is allowed on the server<\/li>\n\t\t<\/ul><\/li>\n\t\t<li>Known issue: Steam client modifies the <i>steam_appid.txt<\/i> file incorrectly. In case of issues, verify its content is: <b>107410<\/b><\/li>\n\t\t<li>Known issue: Sometimes the add-ons are loaded from the wrong installation (e.g. main game)\n\t\t<ul>\n\t\t\t<li>Try adding <i>-mod=curator;kart;heli;mark;expansion;jets;argo;orange;tacops;tank;enoch;aow<\/i> to your <i>arma3server.exe<\/i> shortcut<\/li>\n\t\t<\/ul><\/li>\n\t<\/ul><\/li>\n<\/ul>","published":"1","hide_from_home_feed":null,"url":"spotrep-00118","post_header_image":null,"animation_interval":"200","author":"Joris-Jan van 't Land","post_thumb":null,"type":"spotrep","updated_at":"2025-06-17 16:56:34","public_date":"2025-06-17 15:00:00"}]