Common L4D Mapping Problems

From Valve Developer Community
Revision as of 19:18, 20 January 2009 by Brandished (talk | contribs) (Split from - Your First Left 4 Dead Map)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is a collection of Frequently Asked Questions and common error messages related to mapping in Left 4 Dead.


  • How do I make the infected spawn?
    • Your map must have a info_director that is enabled, you also may have to use the console command "director_start".

  • Why won't the survivor bots move?

  • Why is the molotov fire / Smoker's smoke cloud not visible in-game?
    • This is usually due to the lack of a env_fog_controller entity. Also, check to make sure there were no errors generated during the map's compile process.

  • Why won't my rescue closets work?
    • Rescue closets will not function correctly if there are any nav errors present in the map (the "NAV ERRORS - Map is unplayable!" message appears in game). You will want to make sure the map's nav mesh is properly set-up.

  • How do I play my map in VS Mode?
    • VS Mode is enabled through the map's name. To create a VS Mode map, simply prefix the map's name with "l4d_vs_". For example, if you had a map named "oiltanker_engineroom", to make it into a VS map, just rename it to "l4d_vs_oiltanker_engineroom".

Error messages and what they mean

Navigation mesh related errors

  • The nav file was built for an older compile.
    • This error message means the ".nav" file for a map is older then the ".bsp" itself. This should not be a problem unless the map's layout was changed after the ".nav" file was created. This can be remedied by running nav_analyze in the console after changes are made to the ".bsp".

The nav errors below will cause the message "NAV ERRORS - Map is unplayable!" to be displayed in game when the map is loaded.

  • Missing nav file.
  • Missing Battlefield check found N areas
  • GetGoalArea: Cannot find SPAWN_RESCUE_CLOSET area in FINALE, thus cannot guarantee reachability of goal area.
    • Regarding respawn closets; there are 2 essential steps for making them work properly. Place 3 Info survivor position entities in a room or closet then in game use the mark RESCUE_CLOSET console command to identify the closet/room as a rescue area. This process is explained above in "NAV MARKING". Equally important is labeling the "player start" and checkpoint meshes using mark CHECKPOINT and mark PLAYER_START respectively.
  • GetGoalArea: Cannot find end area - no checkpoint or finale located.
    • This error is due to lack of one of the following: 1.) A missing Prop door rotating checkpoint entity. 2.) Not identifying a navigation mesh with mark CHECKPOINT. 3.) Not identifying a navigation mesh with mark FINALE.
  • ComputeFlowDistances: ERROR - Cannot compute flow.
    • The "Flow" of the map refers to the ability of the AI to travel from the spawn location to the designated Saferoom/final checkpoint. If there are any breaks in the navigation mesh (meshes that are not connected via nav_connect or nav_splice), L4D cannot compute the path necessary to travel the map.
      Note:Nav_generate can leave certain essential meshes from being connected, sometimes manual connection is required.
Note:It is possible to remove the "NAV ERRORS - Map is unplayable!" error message. One method found is to make sure your map has an info_player_start, info_director, and a nav mesh, then follow the steps in "One method for changing levels" and "Building the navigation mesh" above.


  • WARN: CL4DBasePanel::UpdateProgressBar called outside of level loading, discarded!
  • Engine Error: 81/ - weapon_ammo_spawn: UTIL_SetModel: not precached: models/props_unique/spawn_apartment/coffeeammo.mdl
  • Engine Error: CModelLoader::FindModel: NULL name
    • This is caused by compiling the map using an outdated FGD. Older FGDs do not have the new values for the env_fog and light_environment entities, therefore you are compiling a BSP with missing information.
  • Assert, File: U:\dev\terror\src\tier0\memstd.cpp, Line: 1623, Assert: ***** OUT OF MEMORY! attempted allocation size: 536873088 ****
    • Underneath this error message, there is a button labeled "Break in Dubugger". Click this. Your game will crash, but once you relaunch, load your map again. It should load up fine the second time.
    • Alternatively, next to the "Ignore this assertion [#] time(s)", putting any number for how many times you would like the engine to skip that error.

See also