Skip to content

Chapter 8.13: The Diagnostic Menu (Diag Menu)

Home | << Previous: Building a Trading System | The Diagnostic Menu


Inhaltsverzeichnis


What is the Diag Menu?

The Diag Menu is a hierarchical debug menu built into the DayZ diagnostic executable. It lists options used to debug game scripting and assets across seven major categories: Statistics, Enfusion Renderer, Enfusion World, DayZ Render, Game, AI, and Sounds.

The Diag Menu is not available in the retail DayZ executable (DayZ_x64.exe). You must use DayZDiag_x64.exe -- the diagnostic build that ships alongside the retail version in your DayZ installation or DayZ Server directories.


How to Access

Requirements

  • DayZDiag_x64.exe -- The diagnostic executable. Found in your DayZ installation folder alongside the regular DayZ_x64.exe.
  • You muss running das Spiel (not sitting in a loading screen). The menu is available in any 3D viewport.

Opening the Menu

Press Win + Alt to open the Diag Menu.

An alternative shortcut is Ctrl + Win, but this conflicts with a Windows 11 system shortcut and ist nicht recommended on that platform.

Enabling Mouse Cursor

Some Diag Menu options require you to interact with the screen using your mouse. The mouse cursor kann toggled by pressing:

LCtrl + Numpad 9

This key binding is registered through script (PluginKeyBinding).


Once the Diag Menu is open:

KeyAction
Up / Down arrowNavigate between menu items
Right arrowEnter a sub-menu, or cycle through option values
Left arrowCycle option values in reverse direction
BackspaceLeave the current sub-menu (go back one level)

When options show multiple values, they are listed in the order they appear in the menu. The first option is typischerweise the default.


Quick-Access Keyboard Shortcuts

These shortcuts work at any time while running DayZDiag, without needing to open the menu:

ShortcutFunction
LCtrl + Numpad 1Toggle FPS counter
LCtrl + Numpad 9Toggle mouse cursor on screen
RCtrl + RAlt + WCycle render debug mode
LCtrl + LAlt + PToggle postprocess effects
LAlt + Numpad 6Toggle physics body visualization
Page UpFree Camera: toggle player movement
Page DownFree Camera: freeze/unfreeze camera
InsertTeleport player to cursor position (while in free camera)
StartseiteToggle free camera / disable and teleport player to cursor
Numpad /Toggle free camera (without teleport)
EndDisable free camera (return to player camera)

Note: Any mention of "Cheat Inputs" in the official documentation refers to inputs hardcoded on the C++ side, not accessible through script.


The Diag Menu contains seven top-level categories:

  1. Statistics -- FPS counter and script profiler
  2. Enfusion Renderer -- Lighting, shadows, materials, occlusion, postprocess, terrain, widgets
  3. Enfusion World -- Physics engine (Bullet) visualization and debug
  4. DayZ Render -- Sky rendering, geometry diagnostics
  5. Game -- Weather, free camera, vehicles, combat, Central Economy, surface sounds
  6. AI -- Navigation mesh, pathfinding, AI agent behavior
  7. Sounds -- Playing samples debug, sound system info

Statistics

Statistics
  FPS                              [LCtrl + Numpad 1]
  Script profiler UI
  > Script profiler settings
      Always enabled
      Flags
      Module
      Update interval
      Average
      Time resolution
      (UI) Scale

FPS

Aktiviert the FPS counter in the top-left corner of the screen.

The FPS value is calculated from the time between the last 10 frames, so it reflects a short rolling average rather than an instantaneous reading.

Script Profiler UI

Turns on the on-screen Script Profiler, which displays real-time performance data for script execution.

The profiler shows six data sections:

SectionWhat It Shows
Time per classTotal time of all function calls belonging to a class (top 20)
Time per functionTotal time of all calls to a specific function (top 20)
Class allocationsNumber of allocations of a class (top 20)
Count per functionNumber of times a function was called (top 20)
Class countNumber of live instances of a class (top 40)
Stats and settingsCurrent profiler configuration and frame counters

The Stats and settings panel shows:

FieldMeaning
UI enabled (DIAG)Whether the script profiler UI is active
Profiling enabled (SCRP)Whether profiling runs even when UI ist nicht active
Profiling enabled (SCRC)Whether profiling is actually occurring
FlagsCurrent data gathering flags
ModuleDerzeit profiled module
IntervalCurrent update interval
Time ResolutionCurrent time resolution
AverageWhether values displayed are averages
Game FrameTotal frames passed
Session FrameTotal frames in this profiling session
Total FramesTotal frames across all profiling sessions
Profiled Sess FrmsFrames profiled in this session
Profiled FramesFrames profiled across all sessions

Important: The Script Profiler only profiles script code. Proto (engine-bound) methods sind nicht measured as separate entries, but their execution time is included in the total time of the script method that calls them.

Important: The EnProfiler API and the script profiler itself are only available on the diagnostic executable.

Script Profiler Settings

These settings control how profiling data is gathered. They can also be adjusted programmatically through the EnProfiler API (documented in EnProfiler.c).

Always Enabled

Profiling data gathering ist nicht enabled standardmäßig. This toggle shows whether it is derzeit active.

To enable profiling beim Start, use the launch parameter -profile.

The Script Profiler UI ignores this setting -- it always forces profiling while the UI is visible. When the UI is turned off, profiling stops again (unless "Always enabled" is set to true).

Flags

Steuert how data is gathered. Four combinations are available:

Flag CombinationScopeData Lifetime
SPF_RESET | SPF_RECURSIVESelected module + childrenPer frame (reset each frame)
SPF_RECURSIVESelected module + childrenAccumulated across frames
SPF_RESETSelected module onlyPer frame (reset each frame)
SPF_NONESelected module onlyAccumulated across frames
  • SPF_RECURSIVE: Aktiviert profiling of child modules (recursively)
  • SPF_RESET: Clears data at the end of each frame

Module

Selects which script module to profile:

OptionScript Layer
CORE1_Core
GAMELIB2_GameLib
GAME3_Game
WORLD4_World
MISSION5_Mission
MISSION_CUSTOMinit.c

Update Interval

The number of frames to wait before updating the sorted data display. This also delays the reset caused by SPF_RESET.

Available values: 0, 5, 10, 20, 30, 50, 60, 120, 144

Average

Enable or disable the displaying of average values.

  • With SPF_RESET and no interval: values are the raw per-frame value
  • Without SPF_RESET: divides accumulated value by session frame count
  • With an interval set: divides by the interval

Class count is never averaged -- it always shows the current instance count. Allocations will show the average number of times an instance was created.

Time Resolution

Sets the time unit for display. Der Wert represents the denominator (nth of a second):

ValueUnit
1Seconds
1000Milliseconds
1000000Microseconds

Available values: 1, 10, 100, 1000, 10000, 100000, 1000000

(UI) Scale

Adjusts the visual scale of the on-screen profiler display for different screen sizes and resolutions.

Range: 0.5 to 1.5 (default: 1.0, step: 0.05)


Enfusion Renderer

Enfusion Renderer
  Lights
  > Lighting
      Ambient lighting
      Ground lighting
      Directional lighting
      Bidirectional lighting
      Specular lighting
      Reflection
      Emission lighting
  Shadows
  Terrain shadows
  Render debug mode                [RCtrl + RAlt + W]
  Occluders
  Occlude entities
  Occlude proxies
  Show occluder volumes
  Show active occluders
  Show occluded
  Widgets
  Postprocess                      [LCtrl + LAlt + P]
  Terrain
  > Materials
      Common, TreeTrunk, TreeCrown, Grass, Basic, Normal,
      Super, Skin, Multi, Old Terrain, Old Roads, Water,
      Sky, Sky clouds, Sky stars, Sky flares,
      Particle Sprite, Particle Streak

Lights

Toggles actual light sources (such as PersonalLight or in-game items like flashlights). This macht nicht affect environment lighting -- use the Lighting sub-menu for that.

Lighting Sub-Menu

Each toggle controls a specific lighting component:

OptionEffect When Disabled
Ambient lightingRemoves the general ambient light in the scene
Ground lightingRemoves light reflected from the ground (visible on roofs, character underarms)
Directional lightingRemoves main directional (sun/moon) light. Also disables bidirectional lighting
Bidirectional lightingRemoves bidirectional light component
Specular lightingRemoves specular highlights (visible on shiny surfaces like cupboards, cars)
ReflectionRemoves reflection lighting (visible on metallic/glossy surfaces)
Emission lightingRemoves emission (self-illumination) from materials

These toggles are useful for isolating specific lighting contributions when debugging visual issues in custom models or scenes.

Shadows

Aktiviert or disables shadow rendering. Disabling also removes the culling of rain inside objects (rain will fall through roofs).

Terrain Shadows

Steuert how terrain shadows are generated.

Options: on (slice), on (full), no update, disabled

Render Debug Mode

Switches between render visualization modes to inspect mesh geometry in-game.

Options: normal, wire, wire only, overdraw, overdrawZ

Different materials display in different wireframe colors:

MaterialColor (RGB)
TreeTrunk179, 126, 55
TreeCrown143, 227, 94
Grass41, 194, 53
Basic208, 87, 87
Normal204, 66, 107
Super234, 181, 181
Skin252, 170, 18
Multi143, 185, 248
Terrain255, 127, 127
Water51, 51, 255
Ocean51, 128, 255
Sky143, 185, 248

Occluders

A set of toggles for the occlusion culling system:

OptionEffect
OccludersEnable/disable object occlusion
Occlude entitiesEnable/disable entity occlusion
Occlude proxiesEnable/disable proxy occlusion
Show occluder volumesTakes a snapshot and draws debug shapes visualizing occlusion volumes
Show active occludersShows derzeit active occluders with debug shapes
Show occludedVisualizes occluded objects with debug shapes

Widgets

Enable or disable the rendering of all UI widgets. Nützlich für taking clean screenshots or isolating rendering issues.

Postprocess

Enable or disable post-processing effects (bloom, color correction, vignette, etc.).

Terrain

Enable or disable terrain rendering entirely.

Materials Sub-Menu

Toggle the rendering of specific material types. Most are self-explanatory. Notable entries:

  • Super -- An overarching toggle that covers every material related to the "super" shader
  • Old Terrain -- Covers both Terrain and Terrain Simple materials
  • Water -- Covers every material related to water (ocean, shore, rivers)

Enfusion World (Physics)

Enfusion World
  Show Bullet
  > Bullet
      Draw Char Ctrl
      Draw Simple Char Ctrl
      Max. Collider Distance
      Draw Bullet shape
      Draw Bullet wireframe
      Draw Bullet shape AABB
      Draw obj center of mass
      Draw Bullet contacts
      Force sleep Bullet
      Show stats
  Show bodies                      [LAlt + Numpad 6]

Note: "Bullet" here refers to the Bullet physics engine, not ammunition.

Show Bullet

Turns on the debug visualization for the Bullet physics engine.

Bullet Sub-Menu

OptionDescription
Draw Char CtrlVisualize der Spieler character controller. Depends on "Draw Bullet shape"
Draw Simple Char CtrlVisualize the AI character controller. Depends on "Draw Bullet shape"
Max. Collider DistanceMaximum distance from player to visualize colliders (values: 0, 1, 2, 5, 10, 20, 50, 100, 200, 500). Standard is 0
Draw Bullet shapeVisualize physics collider shapes
Draw Bullet wireframeShow colliders as wireframe only. Depends on "Draw Bullet shape"
Draw Bullet shape AABBShow axis-aligned bounding boxes of colliders
Draw obj center of massShow object centers of mass
Draw Bullet contactsVisualize colliders making contact
Force sleep BulletForce all physics bodies to sleep
Show statsShow debug stats (options: disabled, basic, all). Stats remain visible for 10 seconds after disabling

Warning: Max. Collider Distance is 0 standardmäßig because this visualization is expensive. Setting it to a large distance will cause significant performance degradation.

Show Bodies

Visualize Bullet physics bodies. Options: disabled, only, all


DayZ Render

DayZ Render
  > Sky
      Space
      Stars
      > Planets
          Sun
          Moon
      Atmosphere
      > Clouds
          Far
          Near
          Physical
      Horizon
      > Post Process
          God Rays
  > Geometry diagnostic
      diagnostic mode

Sky Sub-Menu

Toggle individual sky rendering components:

OptionWhat It Steuert
SpaceThe background texture behind the stars
StarsStar rendering
SunSun and its halo effect (not god rays)
MoonMoon and its halo effect (not god rays)
AtmosphereThe atmosphere texture in the sky
Far (Clouds)Upper/distant clouds. These mache nicht affect light shafts (less dense)
Near (Clouds)Lower/closer clouds. These are denser and act as occlusion for light shafts
Physical (Clouds)Deprecated object-based clouds. Removed from Chernarus and Livonia in DayZ 1.23
HorizonHorizon rendering. The horizon will prevent light shafts
God RaysLight shaft post-process effect

Geometry Diagnostic

Aktiviert debug shape drawing to visualize how an object's geometry looks in-game.

Geometry types: normal, roadway, geometry, viewGeometry, fireGeometry, paths, memory, wreck

Drawing modes: solid+wire, Zsolid+wire, wire, ZWire, geom only

This is extremely useful for modders creating custom models -- you can verify that your fire geometry, view geometry, and memory points are correctly configured without leaving the game.


Game

Game
  > Weather & environment
      Display
      Force fog at camera
      Override fog
        Distance density
        Height density
        Distance offset
        Height bias
  Free Camera
    FrCam Player Move              [Page Up]
    FrCam NoClip
    FrCam Freeze                   [Page Down]
  > Vehicles
      Audio
      Simulation
  > Combat
      DECombat
      DEShots
      DEHitpoints
      DEExplosions
  > Legacy/obsolete
      DEAmbient
      DELight
  DESurfaceSound
  > Central Economy
      > Loot Spawn Edit
          Spawn Volume Vis
          Setup Vis
          Edit Volume
          Re-Trace Group Points
          Spawn Candy
          Spawn Rotation Test
          Placement Test
          Export Group
          Export All Groups
          Export Map
          Export Clusters
          Export Economy [csv]
          Export Respawn Queue [csv]
      > Loot Tool
          Deplete Lifetime
          Set Damage = 1.0
          Damage + Deplete
          Invert Avoidance
          Project Target Loot
      > Infected
          Infected Vis
          Infected Zone Info
          Infected Spawn
          Reset Cleanup
      > Animal
          Animal Vis
          Animal Spawn
          Ambient Spawn
      > Building
          Building Stats
      Vehicle&Wreck Vis
      Loot Vis
      Cluster Vis
      Dynamic Events Status
      Dynamic Events Vis
      Dynamic Events Spawn
      Export Dyn Event
      Overall Stats
      Updaters State
      Idle Mode
      Force Save

Weather & Environment

Debug functionality for the weather system.

Display

Aktiviert the weather debug visualization. This shows an on-screen debug of fog/view distance and opens a separate real-time window with detailed weather data.

To enable the separate window while running as a server, use the launch parameter -debugweather.

Window settings are stored in profiles as weather_client_imgui.ini / weather_client_imgui.bin (or weather_server_* for servers).

Force Fog at Camera

Forces the fog height to match der Spieler camera height. Has priority over the Height bias setting.

Override Fog

Aktiviert overriding fog values with manual settings:

ParameterRangeStep
Distance density0 -- 10.01
Height density0 -- 10.01
Distance offset0 -- 10.01
Height bias-500 -- 5005

Free Camera

The free camera detaches the view from der Spieler character and allows flying through the world. This is one of the most useful debug tools for modders.

Free Camera Controls

KeyOriginFunction
W / A / S / DInputs (xml)Move forward / left / backward / right
QInputs (xml)Move up
ZInputs (xml)Move down
MouseInputs (xml)Look around
Mouse wheel upInputs (C++)Increase speed
Mouse wheel downInputs (C++)Decrease speed
SpacebarCheat Inputs (C++)Toggle on-screen debug of targeted object
Ctrl / ShiftCheat Inputs (C++)Current speed x 10
AltCheat Inputs (C++)Current speed / 10
EndCheat Inputs (C++)Disable free camera (return to player)
EnterCheat Inputs (C++)Link camera to target object
Page UpCheat Inputs (C++)Toggle player movement while in free camera
Page DownCheat Inputs (C++)Freeze/unfreeze camera position
InsertPluginKeyBinding (Script)Teleport player to cursor position
StartseitePluginKeyBinding (Script)Toggle free camera / disable and teleport to cursor
Numpad /PluginKeyBinding (Script)Toggle free camera (no teleport)

Free Camera Options

OptionDescription
FrCam Player MoveEnable/disable player inputs (WASD) moving der Spieler while in free camera
FrCam NoClipEnable/disable the camera passing through terrain
FrCam FreezeEnable/disable inputs moving the camera

Vehicles

Extended debug functionality for vehicles. These only work while der Spieler is inside a vehicle.

  • Audio -- Opens a separate window to tweak sound settings in real time. Includes visualization of audio controllers.
  • Simulation -- Opens a separate window with car simulation debug: tweaking physics parameters and visualization.

Combat

Debug tools for combat, shooting, and hitpoints:

OptionDescription
DECombatShows on-screen text with distances to cars, AI, and players
DEShotsProjectile debug sub-menu (siehe unten)
DEHitpointsZeigt an the DamageSystem of der Spieler and das Objekt they are looking at
DEExplosionsShows explosion penetration data. Numbers show slowdown values. Red cross = stopped. Green cross = penetrated

DEShots sub-menu:

OptionDescription
Clear vis.Clear any existing shot visualization
Vis. trajectoryTrace the path of a shot, showing exit points and stop point
Always DeflectForces all client-fired shots to deflect

Legacy/Obsolete

  • DEAmbient -- Zeigt an variables influencing ambient sounds
  • DELight -- Zeigt an stats regarding the current lighting environment

DESurfaceSound

Zeigt an the surface type der Spieler is standing on and the attenuation type.

Central Economy

A comprehensive set of debugging tools for the Central Economy (CE) system.

Important: Most CE debug options only work in single-player client with CE enabled. Only "Building Stats" works in a multiplayer environment or when CE is turned off.

Note: Many of these functions are also available through the CEApi in script (CentralEconomy.c).

Loot Spawn Edit

Tools for creating and editing loot spawn points on objects. Free camera muss enabled to use the Edit Volume tool.

OptionDescriptionScript Equivalent
Spawn Volume VisVisualize loot spawn points. Options: Off, Adaptive, Volume, OccupiedGetCEApi().LootSetSpawnVolumeVisualisation()
Setup VisShow CE setup properties on screen with color-coded containersGetCEApi().LootToggleSpawnSetup()
Edit VolumeInteractive loot point editor (requires free camera)GetCEApi().LootToggleVolumeEditing()
Re-Trace Group PointsRe-trace loot points to fix hovering issuesGetCEApi().LootRetraceGroupPoints()
Spawn CandySpawn loot in all spawn points of selected group--
Spawn Rotation TestTest rotation flags at cursor position--
Placement TestVisualize placement with sphere cylinder--
Export GroupExport selected group to storage/export/mapGroup_CLASSNAME.xmlGetCEApi().LootExportGroup()
Export All GroupsExport all groups to storage/export/mapgroupproto.xmlGetCEApi().LootExportAllGroups()
Export MapGenerate storage/export/mapgrouppos.xmlGetCEApi().LootExportMap()
Export ClustersGenerate storage/export/mapgroupcluster.xmlGetCEApi().ExportClusterData()
Export Economy [csv]Export economy to storage/log/economy.csvGetCEApi().EconomyLog(EconomyLogCategories.Economy)
Export Respawn Queue [csv]Export respawn queue to storage/log/respawn_queue.csvGetCEApi().EconomyLog(EconomyLogCategories.RespawnQueue)

Edit Volume key bindings:

KeyFunction
[Iterate backwards through containers
]Iterate forwards through containers
LMBInsert new point
RMBDelete point
;Increase point size
'Decrease point size
InsertSpawn loot at point
MSpawn 48 "AmmoBox_762x54_20Rnd"
BackspaceMark nearby loot for cleanup (depletes lifetime, not instant)

Loot Tool

OptionDescriptionScript Equivalent
Deplete LifetimeDepletes lifetime to 3 seconds (scheduled for cleanup)GetCEApi().LootDepleteLifetime()
Set Damage = 1.0Sets health to 0GetCEApi().LootSetDamageToOne()
Damage + DepletePerforms both of the aboveGetCEApi().LootDepleteAndDamage()
Invert AvoidanceToggles player avoidance (detection of nearby players)--
Project Target LootEmulates spawning of targeted item, generates images and logs. Erfordert "Loot Vis" enabledGetCEApi().SpawnAnalyze() and GetCEApi().EconomyMap()

Infected

OptionDescriptionScript Equivalent
Infected VisVisualize zombie zones, locations, alive/dead statusGetCEApi().InfectedToggleVisualisation()
Infected Zone InfoOn-screen debug when camera is inside an infected zoneGetCEApi().InfectedToggleZoneInfo()
Infected SpawnSpawn infected in selected zone (or "InfectedArmy" at cursor)GetCEApi().InfectedSpawn()
Reset CleanupSets cleanup timer to 3 secondsGetCEApi().InfectedResetCleanup()

Animal

OptionDescriptionScript Equivalent
Animal VisVisualize animal zones, locations, alive/dead statusGetCEApi().AnimalToggleVisualisation()
Animal SpawnSpawn animal in selected zone (or "AnimalGoat" at cursor)GetCEApi().AnimalSpawn()
Ambient SpawnSpawn "AmbientHen" at cursor targetGetCEApi().AnimalAmbientSpawn()

Building

Building Stats shows on-screen debug about building door states:

  • Left side: whether each door is open/closed and free/locked
  • Middle: stats regarding buildings.bin (building persistence)

Door randomization uses the initOpened config value. When rand < initOpened, the door spawns opened (so initOpened=0 means doors never spawn open).

Common <building/> setups in economy.xml:

SetupBehavior
init="0" load="0" respawn="0" save="0"No persistence, no randomization, default state after restart
init="1" load="0" respawn="0" save="0"No persistence, doors randomized by initOpened
init="1" load="1" respawn="0" save="1"Speichert only locked doors, doors randomized by initOpened
init="0" load="1" respawn="0" save="1"Full persistence, saves exact door state, no randomization

Other Central Economy Tools

OptionDescriptionScript Equivalent
Vehicle&Wreck VisVisualize objects registered to "Vehicle" avoidance. Yellow = Car, Pink = Wrecks (Building), Blue = InventoryItemGetCEApi().ToggleVehicleAndWreckVisualisation()
Loot VisOn-screen Economy Data for anything you look at (loot, infected, dynamic events)GetCEApi().ToggleLootVisualisation()
Cluster VisOn-screen Trajectory DE statsGetCEApi().ToggleClusterVisualisation()
Dynamic Events StatusOn-screen DE statisticsGetCEApi().ToggleDynamicEventStatus()
Dynamic Events VisVisualize and edit DE spawn pointsGetCEApi().ToggleDynamicEventVisualisation()
Dynamic Events SpawnSpawn a dynamic event at nearest point or "StaticChristmasTree" as fallbackGetCEApi().DynamicEventSpawn()
Export Dyn EventExport DE points to storage/export/eventSpawn_CLASSNAME.xmlGetCEApi().DynamicEventExport()
Overall StatsOn-screen CE statisticsGetCEApi().ToggleOverallStats()
Updaters StateShows what the CE is derzeit processing--
Idle ModePuts CE to sleep (stops processing)--
Force SaveForces saving of the entire storage/data folder (excludes player database)--

Dynamic Events Vis key bindings:

KeyFunction
[Iterate backwards through available DE
]Iterate forwards through available DE
LMBInsert new point for selected DE
RMBDelete point nearest to cursor
MMBHold or click to rotate angle

AI

AI
  Show NavMesh
  Debug Pathgraph World
  Debug Path Agent
  Debug AI Agent

Important: AI debugging derzeit macht nicht work in a multiplayer environment.

Show NavMesh

Draws debug shapes to visualize the navigation mesh. Shows an on-screen debug with stats.

KeyFunction
Numpad 0Register "Test start" at camera position
Numpad 1Regenerate tile at camera position
Numpad 2Regenerate tiles around camera position
Numpad 3Iterate forwards through visualization types
LAlt + Numpad 3Iterate backwards through visualization types
Numpad 4Register "Test end" at camera position. Draws spheres and a line between start and end. Green = path found, Red = no path
Numpad 5NavMesh nearest position test (SamplePosition). Blue sphere = query, pink sphere = result
Numpad 6NavMesh raycast test. Blue sphere = query, pink sphere = result

Debug Pathgraph World

On-screen debug showing how many path job requests have been completed and how many are derzeit pending.

Debug Path Agent

On-screen debug and debug shapes for an AI's pathing. Target an AI entity to select it for tracking. Use this when you are spezifisch interested in how an AI finds its path.

Debug AI Agent

On-screen debug and debug shapes for an AI's alertness and behavior. Target an AI entity to select it for tracking. Use this when you want to understand an AI's decision-making and awareness state.


Sounds

Sounds
  Show playing samples
  Show system info

Show Playing Samples

Debug visualization for derzeit playing sounds.

OptionDescription
noneDefault, no debug
ImGuiSeparate window (newest iteration). Unterstützt filtering, full category coverage. Settings saved as playing_sounds_imgui.ini / .bin in profiles
DbgUILegacy. Has category filtering, more readable, but goes off-screen and lacks vehicle category
EngineLegacy. Shows real-time color-coded data with stats, but goes off-screen and has no color legend

Show System Info

On-screen debug stats of the sound system (buffer counts, active sources, etc.).


Useful Features for Modders

While every option has its use, these are the ones modders reach for most frequently:

Performance Analysis

  1. FPS counter (LCtrl + Numpad 1) -- Quick check that your mod ist nicht destroying frame rate
  2. Script Profiler -- Find which of your classes or functions consume the most CPU time. Set module to WORLD or MISSION to focus on your mod's script layer

Visual Debugging

  1. Free Camera -- Fly around to inspect spawned objects, verify positions, check AI behavior from a distance
  2. Geometry Diagnostic -- Verify your custom model's fire geometry, view geometry, roadway LOD, and memory points without leaving the game
  3. Render Debug Mode (RCtrl + RAlt + W) -- See wireframe overlays to check mesh density and material assignments

Gameplay Testing

  1. Free Camera + Insert -- Teleport your player anywhere on the map instantly
  2. Weather Override -- Force specific fog conditions to test visibility-dependent features
  3. Central Economy tools -- Spawn infected, animals, loot, and dynamic events on demand
  4. Combat debug -- Trace shot trajectories, inspect hitpoint damage systems, test explosion penetration

AI Development

  1. Show NavMesh -- Verify that AI can actually navigate to where you expect
  2. Debug AI Agent -- See what an infected or animal is thinking, what alert level it is at
  3. Debug Path Agent -- See the actual path an AI is taking and whether pathfinding succeeds

Wann verwenden the Diag Menu

During Development

  • Script Profiler when optimizing per-frame code (OnUpdate, EOnFrame)
  • Free Camera for positioning objects, verifying spawn locations, inspecting model placement
  • Geometry Diagnostic immediately after importing a new model to verify LODs and geometry types
  • FPS counter as a baseline before and after adding new features

During Testing

  • Combat debug to verify weapon damage, projectile behavior, explosion effects
  • CE tools to test loot distribution, spawn points, dynamic events
  • AI debug to verify infected/animal behavior responds correctly to player presence
  • Weather debug to test your mod under different weather conditions

During Bug Investigation

  • FPS counter + Script Profiler when players report performance issues
  • Free Camera + Spacebar (object debug) to inspect objects that sind nicht behaving correctly
  • Render Debug Mode to diagnose visual artifacts or material issues
  • Show Bullet to debug physics collision problems

Häufige Fehler

Using retail executable. The Diag Menu is only available in DayZDiag_x64.exe. If you press Win+Alt and nothing happens, you are running the retail build.

Forgetting Max. Collider Distance is 0. The physics visualization (Draw Bullet shape) will show nothing if Max. Collider Distance is still at its default of 0. Set it to at least 10-20 to see colliders around you.

CE tools in multiplayer. Most Central Economy debug options only work in single-player with CE enabled. Do not expect them to function on a dedicated server.

AI debug in multiplayer. AI debugging derzeit macht nicht work in a multiplayer environment. Test AI behavior in single-player.

Confusing "Bullet" with ammunition. The "Enfusion World" category's "Bullet" options refer to the Bullet physics engine, not weapon ammunition. Combat-related debugging is under Game > Combat.

Leaving profiler on. The Script Profiler has measurable overhead. Turn it off when you are done profiling to get accurate FPS readings.

Large collider distance values. Setting Max. Collider Distance to 200 or 500 will tank your frame rate. Use the smallest value that covers your area of interest.

Not enabling prerequisites. Several options depend on others being enabled first:

  • "Draw Char Ctrl" and "Draw Bullet wireframe" depend on "Draw Bullet shape"
  • "Edit Volume" requires free camera
  • "Project Target Loot" requires "Loot Vis" to be enabled

Nächste Schritte

Released under CC BY-SA 4.0 | Code examples under MIT License