Day[Z] Titan Launcher
How to import custom models into DayZ
DayZ modding tutorial
DayZ modding tutorial

How to import custom models into DayZ

Bringing your own 3D model into DayZ — a prop, a building, a piece of clothing, a weapon or an attachment — always follows the same chain. The Enfusion engine only loads its own .p3d models, .paa textures and .rvmat materials, packed into a .pbo, so a downloaded FBX cannot go in directly; you take it through Blender, Object Builder and a config, then pack and test. This guide walks the whole process in order — what you do, which tool you use and what to watch out for at each step. The same core steps build any model, but each content type diverges — in its skeleton, LODs, memory points and config — and the final step plus the FAQ cover those differences.

ToolsDayZ Tools, Blender, Object Builder, pboProject Steps15 OutputLoadable .pbo
DayZ modding tutorial

The import, step by step

15

Follow these in order: source and prep the model, build it in Object Builder with its textures, materials and LODs, add the collision, memory points and proxies that make it behave, describe it in config, pack and test — then handle the content-type specifics in the last step. The middle steps — the LODs — are where the real work is: they are what gives the model its collision, its bullet hits and its attach points.

  1. Source a low-poly model

    Source a low-poly model

    • Tool / where CGTrader / Poly Haven / Blender
    • Why it matters Clean low-poly imports best

    Download a model in FBX (or OBJ) with its base-colour textures, or build your own in Blender. Free, game-ready models are everywhere — CGTrader, Poly Haven (CC0), Kenney, Sketchfab, BlenderKit — and you can also bring clothing or equipment over from Arma 3, whose rigging and weighting are usually reusable in DayZ (verify the skeleton and selections). Keep it low-poly: a prop should sit around 1–5k triangles, a weapon 10–20k on its highest LOD, clothing in the low thousands, because the engine draws thousands of objects and several LODs at once and excess geometry costs FPS — render cost on the client, plus object and physics cost on the server.

    What imports well is clean topology, the logical parts modelled as separate pieces, a proper UV unwrap and real-world scale; avoid n-gons, overlapping UVs and baked-in animations. FBX is the preferred interchange into Object Builder because it carries multiple objects, normals and materials — OBJ works but loses the hierarchy and LOD structure.

    Always check the licence. Terms vary, and donations or perks can make a modded server count as commercial use, so prefer CC0 or commercially-licensed royalty-free assets — and never rip models from another game or mod, which is the most common cause of a takedown.

  2. Clean and prepare it in Blender

    Clean and prepare it in Blender

    • Tool / where Blender + Arma Toolbox
    • Why it matters Scale, parts, UVs, orientation

    Open the model in Blender, delete anything you do not need — stray ground meshes, extra LODs, baked animations — and name the logical parts as separate components, because both collision and animation rely on that split later. Do a clean UV unwrap, triangulate, check the normals and sharp edges, fix the origin and orientation, and apply transforms with Ctrl+A after every edit.

    If you are porting clothing, this is where you fit it to the DayZ body: weight it to the character skeleton, test the male/female fit for clipping, and trim it to one garment (the engine splits clothing into trousers, jacket and gear), using Sculpt → Grab to remove the body bleed-through that shows through the model. For an Arma 3 source you debinarize the PBO first (Crowbar) and import the MLOD with the Arma Toolbox.

    Export to FBX. Blender’s FBX export usually comes into Object Builder too large; you do not fix that here — you compensate at import in the next step with a master scale of 0.01, checking the result against a known vanilla object.

    Download — Blender
  3. Set up the P: drive and the mod folder

    Set up the P: drive and the mod folder

    • Tool / where DayZ Tools → Settings / Tools
    • Why it matters Portable, relative asset paths

    DayZ Tools is the free official toolkit (Steam App 830640) and holds everything you need: Object Builder, ImageToPAA, TexView, Addon Builder and Bulldozer. In Settings, point it at a project drive, run Tools → Extract Game Data once (a few minutes), then Tools → Mount Drive P. Your own mod also lives on this P: drive, in its own folder.

    Lay the mod folder out now: a root such as P:\MyMod holding config.cpp, model.cfg, a $PBOPREFIX$ file with the internal path prefix, and a subfolder per asset with a data folder for the .paa textures and .rvmat materials. The packed result will be @MyMod\addons\mymod.pbo plus @MyMod\keys\mykey.bikey.

    The P: drive matters because it gives every asset a relative, portable path. Reference a texture by an absolute C:\ path and it only loads on your machine — anyone who downloads the mod gets missing textures. The $PBOPREFIX$ has to exist early, since your model, material and config paths all resolve through it.

    Get it on Steam — DayZ Tools
  4. Import into Object Builder and size it

    Import into Object Builder and size it

    • Tool / where Object Builder → File → Import
    • Why it matters Turns the model into a .p3d

    Choose File → Import → FBX and set Master scale to 0.01 — that restores the correct, metre-accurate size. Untick the animation option and set FPS to 0, or the model will not show in Bulldozer. Save as .p3d into your mod folder.

    To size it precisely, spawn a proxy of a similar vanilla object — for a weapon, an M4 proxy — and line your model up against it, matching the triggers, the length and the overall scale, then delete the proxy. Always re-check the size in-game against a known vanilla object, because the sense of scale inside Object Builder is misleading. Right-click drags the model, Alt+right-click rotates the view.

  5. Convert the textures to PAA

    Convert the textures to PAA

    • Tool / where ImageToPAA / TexView
    • Why it matters The engine reads .paa, not PNG

    Convert your PNGs to .paa with ImageToPAA or TexView into the mod’s data folder. DayZ uses three map types: _CO (colour), _NOHQ (normal) and _SMDI (specular, whose channels carry the specular level and gloss). A downloaded PBR model must be converted, not just renamed — albedo becomes _CO, normal becomes _NOHQ, and metallic plus roughness are baked into _SMDI.

    Keep textures at power-of-two sizes (512 / 1024 / 2048, max 4096) because the tools and engine expect it — non-standard sizes can fail to convert or behave badly; if a valid texture still refuses, open it directly in TexView. A weapon or a reticle can also reuse vanilla textures and glass materials — for example lens_glass — referenced straight from another PBO instead of shipping your own copy.

  6. Build the material (rvmat)

    Build the material (rvmat)

    • Tool / where Object Builder + text editor
    • Why it matters How the surface looks and reacts

    Materials live in .rvmat files that bind the engine’s Super shader to your texture stages. Do not hand-write them — copy a vanilla rvmat from a similar material or object type (not a weapon rvmat for a static prop) and re-path its stage lines to your textures: stage 1 is the _NOHQ, stage 5 the _SMDI, with the _CO applied on the model itself.

    Items that take damage — weapons, tools, destructible objects — need three variants: the main rvmat plus a _damage and a _destruct, which the engine crossfades as the item degrades from pristine to ruined. On the model select the faces, press E, point them at the .paa and the .rvmat, and Apply, then check it in Bulldozer to confirm the texture sits correctly.

  7. Add the Resolution LODs (distance levels)

    Add the Resolution LODs (distance levels)

    • Tool / where Object Builder + Blender (Decimate)
    • Why it matters Performance at range

    A model is shown through several Resolution LODs that the engine swaps by camera distance: LOD 0 is the full mesh, and each further LOD roughly halves the polygon count down to a very coarse ~500-poly level. A simple prop needs one or two; weapons and detailed objects want four or five.

    The quick way to build them is in Blender with the Arma Toolbox: duplicate the main LOD a few times and apply a Decimate modifier to each, lowering the ratio step by step — around 50%, then 38%, then lower. Import them back into Object Builder and redefine each LOD’s hidden selection so the material still binds. Decimation can break UVs, sharp edges and named selections, so re-check the material sections after each LOD; fewer sections per LOD is always better.

    Resolution LODs are only the visible ones. A finished model also carries the functional LODs covered in the next steps — Geometry, Fire Geometry and Memory — and, depending on the content type, View Geometry (line of sight), View Pilot (first person), Roadway (walkable surfaces) and a Shadow Volume. Add only the LODs the type actually needs.

  8. Add the Geometry LOD (collision)

    Add the Geometry LOD (collision)

    • Tool / where Object Builder, duplicate + set type
    • Why it matters You walk into it, not through it

    Duplicate the resolution LOD and set its type to Geometry, then clear the textures off it — geometry needs none. Split it into Component01, Component02… with Structure → Topology → Find Components, give each a mass, keep every component closed and convex, and add the autocenter = 0 named property to the first resolution and geometry LODs.

    Collision is built from components, not one big box: select the logical parts — a trailer’s hitch, its body, each stair — separately, or the engine bricks the whole thing into a solid block. A building’s interior is only walkable if the walls, floor and roof are separate components, and there is a practical limit of about 99 per LOD, so take a whole wall as one selection rather than per window.

    There is also a lighter box method: clear the mesh in the geometry LOD, turn on the background LOD and four views, and draw simple Create Box colliders around the shape, each given a component and a mass. For floors, stairs and roofs the player must stand and walk on, also add a Roadway LOD over those surfaces — without it characters slide off or cannot traverse them.

  9. Add the Fire Geometry LOD

    Add the Fire Geometry LOD

    • Tool / where Object Builder
    • Why it matters Bullets and hit sounds

    Duplicate the geometry and set it to Fire Geometry — this is what bullets and melee actually trace against. Without it shots pass straight through the object with no impact, and a Fire Geometry component left without a material makes the binarizer fail.

    Select the components, press E and assign a penetration material from P:\DZ\data\penetration — metal_plate is the common choice and gives a metallic hit sound. Two kinds exist: normal materials whose thickness equals the modelled part, and plate materials with a fixed thickness regardless of geometry. For a weapon you usually build several boxes along the body so hits register accurately.

  10. Place the Memory points

    Place the Memory points

    • Tool / where Object Builder, Memory LOD
    • Why it matters Axes, attach and effect points

    The Memory LOD holds non-rendered named points and axes that make the object behave. For any item you set the bounding box, ce_center, ce_radius and an inview point — the last controls how large and zoomed the inventory icon looks.

    What else you place depends entirely on the vanilla class you inherit, so work from a similar vanilla model: a weapon adds an eye point, the muzzle point (usti hav) at the barrel for the shot and flash, a direction point (konic hav) and the cartridge-ejection start and end; a door or ladder adds its rotation axes and step points; an optic adds eye-relief and reticle-alignment points. Get the names exactly right — the engine looks them up by name.

  11. Add proxies and match the named selections

    Add proxies and match the named selections

    • Tool / where Object Builder
    • Why it matters Attachments, slots, magazines

    Anything beyond a static prop hangs on proxies and named selections, and the two diverge by type. A weapon brings in separate proxies for its magazine, optic, suppressor and other attachments, lined up on the model and copied into every LOD; clothing and storage instead rely on named selections for their slots and on the skeleton weighting from step 2. Create the proxy, position it, and give it a selection name such as magazine.

    The critical rule is that the hidden selection — ZBYTEK on the model, the bolt, the camo slot — must match exactly across the .p3d, the model.cfg and the config’s hiddenSelections. A mismatch there is exactly why a texture, an attachment or an animation silently fails.

  12. Write config.cpp and model.cfg

    • Tool / where Notepad++ / VS Code
    • Why it matters Declares the class, binds the skeleton

    config.cpp tells the game what your mod is and which .p3d to load. CfgPatches registers the addon (units, requiredAddons such as DZ_Data, requiredVersion); the class itself sets scope = 2, the model path (relative, with the P:\ stripped via Copy as path) and displayName. Inheritance picks the behaviour: a static object from HouseNoDestruct, storage from Inventory_Base, clothing from Clothing_Base, a weapon or optic from the closest vanilla class — inheriting vanilla is what lets you skip scripting.

    model.cfg binds the model to its skeleton and animations, and its class name must exactly match the .p3d filename or the model will not link. A retexture is driven from the config, not baked into the model: declare hiddenSelections and supply hiddenSelectionsTextures / hiddenSelectionsMaterials per variant. The class fields beyond that depend on the content type — covered in the final step.

  13. Pack it into a PBO

    Pack it into a PBO

    • Tool / where pboProject (or Addon Builder)
    • Why it matters Produces the loadable mod

    Pack the mod folder from the P: drive into a .pbo. pboProject is the reliable choice — it checks every reference (config, rvmat and texture paths) and reports errors precisely, and a single mistyped rvmat stage will stop the build — whereas Addon Builder works for simple packs but is less strict and gives weaker diagnostics on complex models. Read the binarization log to find the exact file when a build fails.

    Linux servers are case-sensitive, so keep every folder, file and path name lowercase and consistent. Sign the PBO with DSUtils — keep the private key private and ship only the public .bikey in the mod’s keys folder, and re-sign after every change — so verifySignatures servers accept it. The finished layout is @MyMod\addons\*.pbo plus @MyMod\keys\*.bikey.

  14. Test in-game and iterate

    Test in-game and iterate

    • Tool / where DayZ Community Offline Mode
    • Why it matters Fast checks without a server

    Test with DayZ Community Offline Mode, a free community tool — download it from GitHub (Arkensor): https://github.com/Arkensor/DayZCommunityOfflineMode, drop it into your DayZ Missions folder and launch the included .bat. Inside, press Y → Object, type your class name and place the object — you instantly see its size, collision and hit sound, without standing up a server. Test by asset type: a static prop for placement, collision and bullet impacts; a building for its interior, stairs, doors and ladders; a weapon for chambering, firing, reload, attachments and sounds; clothing for equip, drop, bleed-through and the inventory icon. To place static objects on a live map you then use the Object Spawner JSON or a terrain/editor export.

    Fix, repack, retest until it behaves. Common fixes are a see-through area (select the offending face, copy it, press W, paste), a wrong bolt (redefine it), or a forgotten magazine script. If something is missing or renders white, the logs in %localappdata%\DayZ name the exact missing model, texture, bad path or broken config class — read them first.

  15. Content-type specifics: weapons, clothing, buildings, optics

    Content-type specifics: weapons, clothing, buildings, optics

    • Tool / where Config + model.cfg + DayZ-Samples
    • Why it matters Where the types diverge

    A weapon needs the most beyond the model. You author a magazine and ammo — CfgMagazines for the magazine, CfgAmmo for the projectile (hit and damage, initSpeed, airFriction) — then declare the compatible magazines[] and chambering on the weapon and inherit recoil and dispersion from a close vanilla rifle. Its reload and fire animations are normally inherited from that vanilla weapon through model.cfg rather than scripted.

    Custom sounds are their own layer: a CfgSoundShaders + CfgSoundSets config defines the shot and suppressed-shot sounds (ideally with tail and interior variants), which the weapon then references on its semi and full-auto fire modes. The three sound shaders must line up with the sound sets; a missing reference is simply silent in-game, so check the logs.

    Clothing diverges earliest — back in Blender — with the skeleton weighting and body fit from step 2, plus the right named selections. Its config inherits Clothing_Base with itemSize, itemsCargoSize, heatIsolation and clothingType, and colour variants come from hiddenSelectionsTextures rather than separate models. A walkable building leans on the Geometry components and the Roadway LOD; its doors and ladders are driven from the Memory LOD axes and points bound to model.cfg animations and config actions — copy Bohemia’s DayZ-Samples (Test_Building, Test_Ladders).

    An optic (scope) is a small build of its own: the reticle is a separate thin p3d with a glass/lens material, you place eye and alignment points in the Memory LOD, and the class inherits ItemOptics for its zoom, zeroing and magnification modes. Keep it simple by basing it on the closest vanilla optic and only changing what you need (for example the zoom range).

DayZ modding tutorial

Sources

FAQ

Custom model import FAQ

FAQ
Can I import a Unity model into DayZ?

Not the Unity project itself — DayZ does not use Unity. But a 3D model exported from Unity as FBX or OBJ goes through the normal pipeline: convert the textures to PAA, build the LODs and write the config. Unity materials, shaders, prefabs and scripts do not carry over — you rebuild the material as an .rvmat.

Can I import a Blender model into DayZ?

Yes — Blender is the standard modeling tool here. Export to FBX (the Arma Toolbox helps), import it in Object Builder, convert the textures to PAA and write the config. The whole process above is exactly that.

Can I add custom models or weapons to a console (Xbox or PlayStation) DayZ server?

No. Custom-model mods are PC only. Console DayZ runs sanctioned servers without client-side custom content, so imported models, weapons and clothing work on PC servers, not on Xbox or PlayStation.

Do I need to know how to code to make a DayZ mod?

For a static prop or a retexture, no — it is just a model, textures and a small config.cpp. Weapons and advanced items can use a little Enforce script, but most behaviour is inherited from a close vanilla class, so you get far without scripting.

Is DayZ modding free, and what software do I need?

Yes. The core tools are free: DayZ Tools (free on Steam if you own DayZ) and Blender. Optional extras like Mikero’s pboProject have free tiers. You do not need paid software to import a model.

Can I use models from another game (GTA, Garry’s Mod) in DayZ?

Only if the licence explicitly allows it, and almost none do. Ripping models from another game or mod breaks their copyright and is the most common reason a DayZ mod gets taken down — use CC0 or commercially-licensed assets instead.

Can I just rename a downloaded model’s textures to _CO / _NOHQ / _SMDI?

No. Albedo and the normal map roughly map to _CO and _NOHQ, but _SMDI is a specular/gloss map — metallic and roughness must be converted or baked into it, not renamed. Textures should also be power-of-two sizes (1024 / 2048 / 4096).

My object has no collision, or bullets pass through it — why?

No collision means there is no Geometry LOD, or its parts have no components or mass. Bullets passing through means there is no Fire Geometry LOD with a penetration material. And if characters slide off a floor or stairs, it is missing a Roadway LOD. Each LOD does a separate job.

Why do my textures load on my PC but not for other players?

You referenced them by an absolute C:\ path. Always use the relative mod-folder path on the P: drive so the assets resolve on any machine.

How is a weapon different from a static prop?

It is the same chain plus a lot at the end: extra memory points (eye, muzzle, ejection), proxies for the magazine, optic and suppressor, custom ammo (CfgMagazines / CfgAmmo), custom sounds (CfgSoundShaders / CfgSoundSets) and CfgWeapons. The animation is usually inherited from a close vanilla weapon — matching the model.cfg, memory points and selections is the hard part, not scripting.

How do I make custom clothing or a retexture?

Clothing is weighted to the DayZ skeleton and fitted to the body in Blender, trimmed to one garment, then inherits Clothing_Base with itemSize, cargo, heatIsolation and clothingType. A retexture (colour variant) is driven from hiddenSelections + hiddenSelectionsTextures in the config, not baked into the model.

Can I bring a model over from Arma 3?

Yes, if the licence allows it. Debinarize the PBO (Crowbar), import the MLOD with the Arma Toolbox, trim it to a single DayZ garment and fix the body bleed-through. Arma’s rigging and weights are usually reusable in DayZ, but verify the skeleton and selections. Never use assets you are not licensed to redistribute.

How many polygons should my model be?

Roughly 1–5k triangles for a prop, 10–20k for a weapon’s highest LOD, low thousands for clothing, with each further Resolution LOD about half the previous and the coarsest around 500. Keep textures power-of-two up to 4096.

Do I need all the LOD types?

No. A simple prop needs Resolution, Geometry and ideally Fire Geometry. View Geometry, View Pilot, Roadway, Shadow and extra memory points are added only when the content type — clothing, weapon, walkable building — actually needs them.