AmidKnight

Character Import Guide

Uniforms, vests, backpacks, and soldier loadouts

Create Checklist

Required Mods & Dependencies

CBA_A3 (Community Base Addons)

Foundation library used by most modern Arma 3 mods. Required for scripted features, keybinds, and compatibility macros.

Subscribe on Steam Workshop, enable in Arma 3 Launcher before your mod.

A3_Characters_F (Base Game)

Vanilla character addon — almost always listed in requiredAddons[] for uniforms and soldiers.

Included with Arma 3; reference as requiredAddons[] in CfgPatches.

RHS (USAF / AFRF / GREF / SAF)

Optional

Optional but common dependency when retexturing or extending RHS assets.

Subscribe to the RHS packs your project extends; list in requiredAddons[].

CUP Weapons / Vehicles / Units

Optional

Community Upgrade Project — optional base for CUP-compatible retextures.

Step-by-Step Process

1

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
Arma 3 ToolsObject BuilderTexView 2Addon Builder
2

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)
3

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
CBA_A3
4

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
5

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
Blender or 3ds MaxObject Builder
6

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)
7

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
TexView 2
8

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
9

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
Addon Builder
10

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
11

Soldier Class & Skeleton

Characters are CfgVehicles Man classes. Uniforms use CfgUniform; the soldier unit references uniformClass.

  • Inherit B_Soldier_base_F or faction equivalent
  • CfgUniform: model path, class Items for vest/headgear defaults
  • Skeleton must match Arma soldier bones for animations to work
  • Memory points: head, spine, hand for attachments and IK
A3_Characters_F
12

Hidden Selections & model.cfg Sections

Retexturing uses hiddenSelections[] in config and matching sections in model.cfg.

  • hiddenSelections[], hiddenSelectionsTextures[], hiddenSelectionsMaterials[]
  • Define sections in model.cfg cfgModels for each camo/insignia slot
  • Test with facewear, vests, and backpacks equipped simultaneously