Vehicle Import Guide
Land, air, and sea vehicles with sub-types
- LOD
Resolution, Geometry, Memory, Fire Geometry, and Hit Points LOD types
- LOD Resolutions
Numeric LOD identifiers used by the engine (1e13, 1e15, etc.)
- Model Config
model.cfg — cfgModels, cfgSkeletons, Animations, and AnimationSources
- CfgVehicles Config Reference
Token reference for CfgVehicles parameters
- Creating an Addon
config.cpp, CfgPatches, and Addon Builder workflow
- Addon Builder
Packing, binarize, and file copy options
- Arma 3 Vehicle Configuration
Index of all vehicle config wiki pages
- Arma 3: Sound (category)
CfgSoundCurves, Shaders, Sets, Controllers, and processing types
- Sound: Sound Curves
volumeCurve / rangeCurve attenuation — relative 0–1 or absolute meters
- Sound: cfgSoundShaders
samples[], range, rangeCurve — closest/farthest audio layers
- Sound: SoundSet
Mixes SoundShaders; soundSetShot[] / vehicle SoundSets hook here
- Vehicle Hitpoint Creation
Fire Geometry spacing, HP sphere matrix, and damage leakage rules
- Jets Hitpoint Configuration
radius, explosionShielding, passThrough — applies to all vehicles
- Damage Enhancement (Tanks DLC)
armorComponent, passThrough overhaul, and destruction effects
- Turret Config Reference
Turret class, weapons[], and turret HitPoints
- Sound: Processing Types
Emitter vs stereo panner — Vehicle_Ext vs WeaponMediumShot processors
Choose Vehicle Sub-Type
Car / Truck
Wheeled civilian and military light vehicles
APC
Armoured personnel carriers with light armament
Tracked IFV
Infantry fighting vehicles with tracks and turret
Tank
Main battle tanks and heavy armour
Helicopter
Rotary-wing aircraft including attack and transport
Plane
Fixed-wing aircraft, jets, and prop planes
Ship / Boat
Surface vessels and watercraft
Required Mods & Dependencies
A3_Soft_F (Base Game)
Vanilla wheeled vehicles — parent for cars, trucks, and light MRAPs.
Use C_Offroad_01_F, B_MRAP_01_F, etc. as inheritance bases.
A3_Armor_F (Base Game)
Vanilla tracked and heavy armour — parent for APCs, IFVs, and tanks.
Use appropriate tank/APC parent (e.g. B_APC_Tracked_01_F).
A3_Air_F (Base Game)
Vanilla aircraft — parent for helicopters and planes.
Helicopters: Heli_Transport_01_F family. Planes: Plane_Fighter_03_F family.
A3_Boat_F (Base Game)
Vanilla watercraft — parent for ships and boats.
Use Boat classes for buoyancy and water simulation inheritance.
RHS (USAF / AFRF / GREF / SAF)
OptionalOptional but common dependency when retexturing or extending RHS assets.
Subscribe to the RHS packs your project extends; list in requiredAddons[].
CUP Weapons / Vehicles / Units
OptionalCommunity Upgrade Project — optional base for CUP-compatible retextures.
Enhanced Movement / RotorLib
OptionalRotorLib (RTD) is built into Arma 3 for advanced helicopter flight models.
Enable advanced flight model testing for helicopters and planes.
Step-by-Step Process
Install Arma 3 Tools
Install Arma 3 Tools from Steam. Object Builder, TexView 2, and Addon Builder are required for the full pipeline.
- Steam → Library → Tools → Arma 3 Tools → Install
- Verify Object Builder opens and can load .p3d files
- Addon Builder packs and binarizes — formerly known as BinPBO
Create Mod Folder Structure
Organize as @YourMod/addons/your_addon/. config.cpp must sit at the addon folder root.
- Create @YourMod/addons/ — packed .pbo files go here
- Each addon source folder needs its own config.cpp at root
- All model/texture paths use your addon prefix (e.g. mymod\data\texture.paa)
- model.cfg lives alongside the .p3d (see Model Config wiki)
Configure Arma 3 Launcher
Enable your local mod and every mod listed in requiredAddons[] before testing.
- Launcher → Mods → Add local mod → select @YourMod
- Enable CBA_A3 and all CfgPatches requiredAddons[] entries
- After each pack, restart the game or reload to pick up PBO changes
Plan LODs & Selections
Before modelling, plan every LOD the asset needs. LOD resolution numbers only determine sort order in Arma 3 — not view distance.
- Resolution LODs (0, 1, 2…): visual mesh — aim for ~50% triangle reduction per step
- Geometry (1×1e13): collision — required for physics interaction
- Geometry Phys (4×1e13): PhysX convex components for vehicles
- Memory (1×1e15): axes, memory points, proxies, and animation pivots
- View Geometry (6×1e15) & Fire Geometry (7×1e15): line-of-sight and ballistics
- Hit Points (5×1e15): vertices for damage sphere placement on vehicles
- Land Contact (2×1e15): ground contact points for placement
Proxied sub-models (turrets, weapons) switch resolution LOD independently of the parent
If Geometry LOD is missing, named properties fall back to the first resolution LOD
Model & Export to P3D
Build meshes in Blender/3ds Max, export via Object Builder. 1 unit = 1 metre in Arma.
- Triangulate before export; check face normals and UV seams
- Named selections for hiddenSelections[], hitpoints, and glass
- Memory LOD: place all axes and memory points here (not in resolution LODs)
- Validate each LOD in Object Builder before moving to config work
Write model.cfg
model.cfg links the P3D to cfgModels — sections, skeleton, and procedural animations. It takes precedence over config.cpp animation defs when both exist.
- cfgModels: class name matches model filename; define sections[] and skeletonName
- cfgSkeletons: skeletonBones[] parent→child bone hierarchy for skinning
- Animations: type (rotation, translation, hide), source controller, selection, axis
- Vehicle wheels use source="wheel"; dampers use source="damper" with offset0/offset1 ±0.5
- Weapons: reloadMagazine hide/unhideValue, hasOptics for folding sights, ammoRandom for muzzle flash rotation
- config.cpp AnimationSources (designer) maps user actions to model.cfg Animations (artist)
Several model.cfg files can chain via inheritance (folder model.cfg → vehicle model.cfg)
Damper axis length should match the moveable suspension travel
Convert Textures to PAA
Arma requires .paa textures. Convert PNG/TGA with TexView 2.
- Power-of-two sizes: 256, 512, 1024, 2048
- Suffixes: _co (colour), _no (normal), _as (ambient shadow), _smdi (specular)
- hiddenSelectionsMaterials[] paths must match rvmat and PAA locations
Write config.cpp
CfgPatches is mandatory. Token names in CfgVehicles/CfgWeapons are context-specific — always check the reference for your class.
- CfgPatches: units[], weapons[], requiredAddons[], requiredVersion
- CfgVehicles covers soldiers (Man), land/air/sea vehicles, backpacks, and statics
- CfgWeapons holds guns/launchers; CfgMagazines holds ammo (separate since Arma 3)
- CfgWeapons Items/Equipment/Glasses for NVGs, headgear, and facewear
- scope = 2 for editor visibility; inherit from the closest vanilla parent
Pack with Addon Builder
Binarize converts configs and embeds model.cfg. Non-.cpp files must be listed to copy.
- Source: addon folder containing config.cpp
- Destination: @YourMod/addons/
- Enable Binarize — catches config syntax errors during pack
- Copy list: *.p3d;*.paa;*.rvmat;*.ogg;*.wss;*.jpg;*.png (as needed)
- Project path should match source path — setting P:\ binarizes the entire drive
Test In-Game & Diagnostics
Verify in Eden Editor. Use BI diagnostics for hitpoint spheres and PhysX on vehicles.
- Check %localappdata%\Arma 3\*.rpt for binarize and runtime errors
- Vehicles: run hitpoint diagnostics to visualize radius spheres vs Fire Geometry
- Cars: epevehicle diag mode helps tune suspension and gearbox
- Test all crew positions, damage states, and wreck transition
Vehicle Hitpoints (All Types)
Shared rules from Vehicle Hitpoint Creation and Jets Hitpoint Configuration wikis apply to every vehicle.
- Hit Points LOD (5×1e15): place vertices per hitpoint selection; config radius defines sphere size
- Place HP vertices inside Fire Geometry — not on the visual surface (more durable, fewer verts)
- Leave airspace between different FG types — overlapping armor/HP causes damage leakage
- HP spheres should only contact ONE component type; standardize radius across all HP for easier layout
- armorStructural divides passThrough; explosionShielding multiplies indirect damage (<1 = shielding)
- Post-Tanks DLC: armorComponent links hitpoint to Fire Geometry selection for penetration calc
- Use Arma 3 Diagnostics to visualize hitpoint spheres in-game
Fewer vertices with larger radius beats dense vertex rings — e.g. 1×5 @ 0.2 radius vs 4×15 @ 0.05
When tweaking feels wrong, add detail to Hit Points and Fire Geometry LODs before more config
Vehicle Sound Locations & Curves
Engine and impact sounds are 3D-positioned using memory points and distance curves — not played from model origin by default.
- memoryPointExhaust + memoryPointExhaustDir — engine loop emitter on Memory LOD (place at tailpipe, not [0,0,0])
- Gun/turret shots use gunBegin (usti hlavne) as spatial origin — same as ballistics
- Modern: class SoundSets in CfgVehicles links to CfgSoundSets; playTrigger uses rpm, engineOn, camPos controllers
- Legacy: class Sounds >> EngineExt { sound[], frequency, volume, cone[] } — still valid on older inheritances
- soundGetIn/Out/Crash[] — one-shots: { "SoundSetOrPath", volume, pitch }
- CfgSoundShaders: range + rangeCurve per layer; CfgSoundSets: volumeCurve on mixed output
- Interior vs exterior: separate SoundSets with playTrigger = "engineOn * (1-camPos)" vs "engineOn * camPos"
- sound3DProcessingType — Vehicle_Ext_3DProcessingType (Emitter) vs WeaponMediumShot3DProcessingType
Use getAllSoundControllers while in vehicle to debug rpm/thrust/camPos live values
Match highest rangeCurve X to SoundShader range — mismatch causes silent or full-volume at distance
Library: /library/sound-vehicle-locations and /library/sound-set-vehicle-engine templates