<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.frictionalgames.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Crater</id>
	<title>Frictional Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.frictionalgames.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Crater"/>
	<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page/Special:Contributions/Crater"/>
	<updated>2026-04-03T18:12:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=Hpl3:Community:hpl3_legacy_editors&amp;diff=6845</id>
		<title>Hpl3:Community:hpl3 legacy editors</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=Hpl3:Community:hpl3_legacy_editors&amp;diff=6845"/>
		<updated>2024-09-29T00:33:06Z</updated>

		<summary type="html">&lt;p&gt;Crater: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cleanup|This page needs to be updated and moved to the new wiki namespace. Is the Legacy section still needed?}}&lt;br /&gt;
&lt;br /&gt;
= HPL3 - SOMA =&lt;br /&gt;
&lt;br /&gt;
The SOMA editors should be included with the Steam version of the game, but are missing from other sources such as the Epic Games Store. &lt;br /&gt;
&lt;br /&gt;
If your copy is missing the editors, download the .zip linked below and extract the files to the root of your install folder.&lt;br /&gt;
&lt;br /&gt;
https://drive.google.com/file/d/1YEo3kMHYF55T9QLEsCLx4L9Mh-BVKEz0/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
= HPL3 - Legacy Editors =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This section of the wiki will be dedicated to hosting older versions of editors compatible with the HPL3 engine. These editors are here for archiving and compatibility purposes. It is unlikely you will require any of these, however, they will be made available here should an issue occur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''The newest HPL3 editors should be included with the game in the same folder as the game executable file (.exe).'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there is an issue with any of your editors, it is highly recommended to repair your installation. Steam users may do so by verifying their game cache. See [https://www.frictionalgames.com/forum/thread-30585.html Problem K in the Troubleshooting Guide] on the forums for further instructions to do this. GOG users may do so by performing a repair on their installation. These procedures will verify your current editors are up-to-date and working, as well as repair any corrupted files within the SOMA subdirectory.&lt;br /&gt;
&lt;br /&gt;
For any contributions, while you are permitted to upload your copy of the editor, please include both a SHA and a VirusTotal results link in your post. Both of these are generated by uploading a file to VirusTotal.&lt;br /&gt;
&lt;br /&gt;
{{todo|Fix this link}}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=1&lt;br /&gt;
| '''Editor'''    || '''Upload Date'''    || '''SHA'''    || '''VirusTotal'''   &lt;br /&gt;
|-&lt;br /&gt;
| [https://puu.sh/yO8KN/c4308fd901.zip Level Editor.zip] || 27 December 2017 || ''10f761ff5bd69e43b57130f919e3b82bc1881a28b702b39404c9d332d551e905'' || [https://www.virustotal.com/#/file/10f761ff5bd69e43b57130f919e3b82bc1881a28b702b39404c9d332d551e905/detection Link]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=Hpl3:Community:hpl3_legacy_editors&amp;diff=6844</id>
		<title>Hpl3:Community:hpl3 legacy editors</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=Hpl3:Community:hpl3_legacy_editors&amp;diff=6844"/>
		<updated>2024-09-29T00:32:43Z</updated>

		<summary type="html">&lt;p&gt;Crater: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cleanup|This page needs to be updated and moved to the new wiki namespace. Is the Legacy section still needed?}}&lt;br /&gt;
&lt;br /&gt;
= HPL3 - SOMA =&lt;br /&gt;
&lt;br /&gt;
The SOMA editors should be included with the Steam version of the game, but are missing from other sources such as the Epic Games Store. &lt;br /&gt;
&lt;br /&gt;
If your copy is missing the editors, download the .zip linked below and extract them to the root of your install folder.&lt;br /&gt;
&lt;br /&gt;
https://drive.google.com/file/d/1YEo3kMHYF55T9QLEsCLx4L9Mh-BVKEz0/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
= HPL3 - Legacy Editors =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This section of the wiki will be dedicated to hosting older versions of editors compatible with the HPL3 engine. These editors are here for archiving and compatibility purposes. It is unlikely you will require any of these, however, they will be made available here should an issue occur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''The newest HPL3 editors should be included with the game in the same folder as the game executable file (.exe).'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there is an issue with any of your editors, it is highly recommended to repair your installation. Steam users may do so by verifying their game cache. See [https://www.frictionalgames.com/forum/thread-30585.html Problem K in the Troubleshooting Guide] on the forums for further instructions to do this. GOG users may do so by performing a repair on their installation. These procedures will verify your current editors are up-to-date and working, as well as repair any corrupted files within the SOMA subdirectory.&lt;br /&gt;
&lt;br /&gt;
For any contributions, while you are permitted to upload your copy of the editor, please include both a SHA and a VirusTotal results link in your post. Both of these are generated by uploading a file to VirusTotal.&lt;br /&gt;
&lt;br /&gt;
{{todo|Fix this link}}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=1&lt;br /&gt;
| '''Editor'''    || '''Upload Date'''    || '''SHA'''    || '''VirusTotal'''   &lt;br /&gt;
|-&lt;br /&gt;
| [https://puu.sh/yO8KN/c4308fd901.zip Level Editor.zip] || 27 December 2017 || ''10f761ff5bd69e43b57130f919e3b82bc1881a28b702b39404c9d332d551e905'' || [https://www.virustotal.com/#/file/10f761ff5bd69e43b57130f919e3b82bc1881a28b702b39404c9d332d551e905/detection Link]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=Hpl3:Community:hpl3_legacy_editors&amp;diff=6843</id>
		<title>Hpl3:Community:hpl3 legacy editors</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=Hpl3:Community:hpl3_legacy_editors&amp;diff=6843"/>
		<updated>2024-09-29T00:31:36Z</updated>

		<summary type="html">&lt;p&gt;Crater: Removed Steam version specific files from Editors zip (ie the workshop uploader)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cleanup|This page needs to be updated and moved to the new wiki namespace. Is the Legacy section still needed?}}&lt;br /&gt;
&lt;br /&gt;
= HPL3 - SOMA =&lt;br /&gt;
&lt;br /&gt;
The SOMA editors should be included with the Steam version of the game, but are missing from other sources such as the Epic Games Store. &lt;br /&gt;
&lt;br /&gt;
Download the .zip linked below and extract them to the root of your install folder.&lt;br /&gt;
&lt;br /&gt;
https://drive.google.com/file/d/1YEo3kMHYF55T9QLEsCLx4L9Mh-BVKEz0/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
= HPL3 - Legacy Editors =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This section of the wiki will be dedicated to hosting older versions of editors compatible with the HPL3 engine. These editors are here for archiving and compatibility purposes. It is unlikely you will require any of these, however, they will be made available here should an issue occur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''The newest HPL3 editors should be included with the game in the same folder as the game executable file (.exe).'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there is an issue with any of your editors, it is highly recommended to repair your installation. Steam users may do so by verifying their game cache. See [https://www.frictionalgames.com/forum/thread-30585.html Problem K in the Troubleshooting Guide] on the forums for further instructions to do this. GOG users may do so by performing a repair on their installation. These procedures will verify your current editors are up-to-date and working, as well as repair any corrupted files within the SOMA subdirectory.&lt;br /&gt;
&lt;br /&gt;
For any contributions, while you are permitted to upload your copy of the editor, please include both a SHA and a VirusTotal results link in your post. Both of these are generated by uploading a file to VirusTotal.&lt;br /&gt;
&lt;br /&gt;
{{todo|Fix this link}}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=1&lt;br /&gt;
| '''Editor'''    || '''Upload Date'''    || '''SHA'''    || '''VirusTotal'''   &lt;br /&gt;
|-&lt;br /&gt;
| [https://puu.sh/yO8KN/c4308fd901.zip Level Editor.zip] || 27 December 2017 || ''10f761ff5bd69e43b57130f919e3b82bc1881a28b702b39404c9d332d551e905'' || [https://www.virustotal.com/#/file/10f761ff5bd69e43b57130f919e3b82bc1881a28b702b39404c9d332d551e905/detection Link]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=Hpl3:Community:hpl3_legacy_editors&amp;diff=6842</id>
		<title>Hpl3:Community:hpl3 legacy editors</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=Hpl3:Community:hpl3_legacy_editors&amp;diff=6842"/>
		<updated>2024-09-29T00:17:43Z</updated>

		<summary type="html">&lt;p&gt;Crater: Added link to current SOMA editors, for versions of the game that do not include them.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cleanup|This page needs to be updated and moved to the new wiki namespace. Is the Legacy section still needed?}}&lt;br /&gt;
&lt;br /&gt;
= HPL3 - SOMA =&lt;br /&gt;
&lt;br /&gt;
The SOMA editors should be included with the Steam version of the game, but are missing from other sources such as the Epic Games Store. &lt;br /&gt;
&lt;br /&gt;
Download the .zip linked below and extract them to the root of your install folder.&lt;br /&gt;
&lt;br /&gt;
https://drive.google.com/file/d/1NeQcbqGXE2cmqoNrvv8fnPNAvMGpyRK8/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
= HPL3 - Legacy Editors =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This section of the wiki will be dedicated to hosting older versions of editors compatible with the HPL3 engine. These editors are here for archiving and compatibility purposes. It is unlikely you will require any of these, however, they will be made available here should an issue occur.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''The newest HPL3 editors should be included with the game in the same folder as the game executable file (.exe).'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If there is an issue with any of your editors, it is highly recommended to repair your installation. Steam users may do so by verifying their game cache. See [https://www.frictionalgames.com/forum/thread-30585.html Problem K in the Troubleshooting Guide] on the forums for further instructions to do this. GOG users may do so by performing a repair on their installation. These procedures will verify your current editors are up-to-date and working, as well as repair any corrupted files within the SOMA subdirectory.&lt;br /&gt;
&lt;br /&gt;
For any contributions, while you are permitted to upload your copy of the editor, please include both a SHA and a VirusTotal results link in your post. Both of these are generated by uploading a file to VirusTotal.&lt;br /&gt;
&lt;br /&gt;
{{todo|Fix this link}}&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; border=1&lt;br /&gt;
| '''Editor'''    || '''Upload Date'''    || '''SHA'''    || '''VirusTotal'''   &lt;br /&gt;
|-&lt;br /&gt;
| [https://puu.sh/yO8KN/c4308fd901.zip Level Editor.zip] || 27 December 2017 || ''10f761ff5bd69e43b57130f919e3b82bc1881a28b702b39404c9d332d551e905'' || [https://www.virustotal.com/#/file/10f761ff5bd69e43b57130f919e3b82bc1881a28b702b39404c9d332d551e905/detection Link]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Entities/Physics_Body_Properties&amp;diff=6811</id>
		<title>HPL3/Amnesia: Rebirth/Entities/Physics Body Properties</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Entities/Physics_Body_Properties&amp;diff=6811"/>
		<updated>2024-05-14T05:07:28Z</updated>

		<summary type="html">&lt;p&gt;Crater: Create redirect page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[HPL3/Entities/Physics Body Properties]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Entities/Physics_Body_Properties&amp;diff=6810</id>
		<title>HPL3/SOMA/Entities/Physics Body Properties</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Entities/Physics_Body_Properties&amp;diff=6810"/>
		<updated>2024-05-14T05:06:47Z</updated>

		<summary type="html">&lt;p&gt;Crater: Create redirect page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[HPL3/Entities/Physics Body Properties]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Entities/Physics_Body_Properties&amp;diff=6809</id>
		<title>HPL3/Entities/Physics Body Properties</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Entities/Physics_Body_Properties&amp;diff=6809"/>
		<updated>2024-05-14T05:04:22Z</updated>

		<summary type="html">&lt;p&gt;Crater: Creation of Body Properties Page - ported from old wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== General Parameters ===&lt;br /&gt;
&lt;br /&gt;
* '''Name''': Name of the body.&lt;br /&gt;
* '''Position''': 3D Vector storing the position in world of the center of the body.&lt;br /&gt;
* '''Rotation''': 3D Vector storing the body rotation.&lt;br /&gt;
* '''Scale''': 3D Vector storing the scale of the body.&lt;br /&gt;
&lt;br /&gt;
==== '''Body Specific''' ====&lt;br /&gt;
&lt;br /&gt;
* '''Body Material''': Physics material for the body.&lt;br /&gt;
* '''Mass''': Mass for the body. The higher the value, the heavier the body will be. A zero value means infinite.&lt;br /&gt;
* '''Angular Damping:''' “Air Friction” applied to the rotational speed of the body. Takes a float value between 0 (no damping) and 1 (max damping).&lt;br /&gt;
* '''Linear Damping:''' “Air Friction” applied to the linear speed of the body. Takes a float value between 0 (no damping) and 1 (max damping).&lt;br /&gt;
* '''Max Angular Speed''': Maximum speed that the body can rotate with.&lt;br /&gt;
* '''Max Linear Speed''': Maximum speed that the body can translate with.&lt;br /&gt;
* '''Buoyancy Density Mul''': Multiplies the buoyancy effect on the body when inside a liquid body. A zero value means it will not be affected by liquid at all.&lt;br /&gt;
* '''Blocks Sound''': Sets if the body blocks sounds.&lt;br /&gt;
* '''Blocks Light''': Sets if the body blocks lights.&lt;br /&gt;
* '''Continuous Collision''': If the body should use continuous collison detection or not. This is good for small bodies (or larger bodies that has one or many small colliders) that would easily stick or tunnel other bodies. It is also good for high speed bodies.&lt;br /&gt;
* '''Can attach character''': If a character standing on the body will be attached. For example if you have a moving platform and want the character to move with it as it moves.&lt;br /&gt;
* '''Pushed by character gravity''': If the body will be affected when a characters stands on top.&lt;br /&gt;
* '''Collide character''': Sets whether the body should collide with the player or not.&lt;br /&gt;
* '''Collide non character''': Sets whether the body should collide with non-player bodies or not.&lt;br /&gt;
* '''Volatile:''' If a body might disappear or for some reason leave the way open for AI. Used for bodies of mass 0.&lt;br /&gt;
* '''Use surface effects:''' If the body should use the material settings for effects (described in materials.cfg ) or not. If this is false there will not be sounds or particle effects created by impacts, scraping etc.&lt;br /&gt;
* '''Has gravity''': Sets whether gravity affects the body or not.&lt;br /&gt;
&lt;br /&gt;
==== Attachments Tab ====&lt;br /&gt;
This tab presents the attachment tool, its workings are explained next: There are several buttons that represent each object type that can be attached to a body. The ones that are pressed indicate that the type they represent will be selectable when activating the attachment tool. The 'Attach' button will start the tool, moving around the mouse while it is active will highlight objects that belong to the selectable types. Clicking on them will add them to the entities to be attached. If already attached, the object will be detached. Clicking the mouse on no object or pressing the 'Attach' button again (now 'Done') will stop the attachment tool, and all objects that are displayed as attached before doing so will become really attached to the body. The 'Clear attachments' button is self explanatory. It will just clear any attachments made.&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Setup_Modding_Environment&amp;diff=6808</id>
		<title>HPL3/SOMA/Modding/Setup Modding Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Setup_Modding_Environment&amp;diff=6808"/>
		<updated>2024-05-08T16:54:34Z</updated>

		<summary type="html">&lt;p&gt;Crater: Removed the asset/ prefix in the example lookupdirs.cfg file as its STUPID. also added missing DetailMeshes asset category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
In order to have a smooth modding development experience, SOMA is needed to be configured into proper development environment.&lt;br /&gt;
{{note|Each section described in this article can either be configured manually (creating or editing the files yourself) or to be configured automatically, using the SOMA Mod Manager application.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setting up the Editors==&lt;br /&gt;
Your mod might have custom assets. In order to make the editors (Level Editor, Model Editor, etc) to load your mod's assets, it needs to be configured into a special mode called &amp;quot;WIP Mod&amp;quot;. &lt;br /&gt;
{{tip|Even if your mod doesn't have any custom assets, it's a good practice to configure the Level Editor anyway, just so you won't have to deal with it in the future should you decide to add custom assets.}} &lt;br /&gt;
&lt;br /&gt;
===WIP Mod - Manual Configuration===&lt;br /&gt;
&lt;br /&gt;
#Navigate to &amp;lt;code&amp;gt;My Documents/HPL3&amp;lt;/code&amp;gt;. You need to open one of the editors at least once in order to see the HPL3 folder inside your document folder.&lt;br /&gt;
#Inside that folder, create a file called &amp;lt;code&amp;gt;WIPMod.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Paste the following into the file, and save:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;WIPmod Path=&amp;quot;Full_Path_To_Mod/entry.hpc&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(Of course, you will have to change the path in order to suit your own location of the mod).&lt;br /&gt;
&lt;br /&gt;
===WIP Mod - Automatic Configuration===&lt;br /&gt;
You can use the [[HPL3/Third Party Tools/HPL3 Mod Manager|HPL3 Mod Manager]] in order to perform an automatic sync of the editors to your mod, which pretty much does the manual step for you.&lt;br /&gt;
&lt;br /&gt;
===Final Step===&lt;br /&gt;
&lt;br /&gt;
If your mod indeed has custom assets, you need to make sure the editors can add them to their look up list. &lt;br /&gt;
&lt;br /&gt;
#In your mod's folder, create a new folder and name it &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Inside that folder, create a file called &amp;lt;code&amp;gt;lookupdirs.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Create a new &amp;lt;code&amp;gt;&amp;lt;Directories&amp;gt;&amp;lt;/code&amp;gt; xml tag inside the file.&lt;br /&gt;
#Add a list of directories which include your custom assets. The directory has to be associated with a category. The allowed categories are:&lt;br /&gt;
#*&amp;lt;code&amp;gt;StaticObjects&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Entities&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Billboards&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Particles&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Sounds&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;DetailMeshes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Directories&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;StaticObjects&amp;quot; Path=&amp;quot;static_objects/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Entities&amp;quot; Path=&amp;quot;entities/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Billboards&amp;quot; Path=&amp;quot;billboards/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Particles&amp;quot; Path=&amp;quot;particles/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Sounds&amp;quot; Path=&amp;quot;sounds/&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Directories&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all the above is done correctly, a &amp;lt;code&amp;gt;(Working on mod)&amp;lt;/code&amp;gt; text should appear on the title bar of HPL3 editors when run.&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Setup_Modding_Environment&amp;diff=6807</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Setup Modding Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Setup_Modding_Environment&amp;diff=6807"/>
		<updated>2024-05-08T15:21:32Z</updated>

		<summary type="html">&lt;p&gt;Crater: add DetailMeshes lookupdir category - leveleditor.log lists this as a valid category but this needs to be verified&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
In order to have a smooth modding development experience, Amnesia: Rebirth should be configured to run in a proper development environment.&amp;lt;br /&amp;gt;{{Tip|It is recommended to use the [https://wiki.frictionalgames.com/page/HPL3/Third_Party_Tools/HPL3_Mod_Manager HPL3 Mod Manager] to configure everything that is listed on this page.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
==Setting up Custom Story Dev Mode==&lt;br /&gt;
During development, it is extremely helpful to have access to the development options and [[HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu|debug mode]] of the game. To achieve that, you need to start the game with a few extra arguments. It is suggested that you set up a script file for your mod so you can more quickly launch it in development mode.&lt;br /&gt;
&lt;br /&gt;
#In the main folder of the game, create a script file with a recognizable name for your mod development. For example: &amp;lt;code&amp;gt;myMod_dev.bat&amp;lt;/code&amp;gt; (.sh for Mac/Linux)&lt;br /&gt;
#Paste the following text into the file and save, changing &amp;lt;code&amp;gt;MyModName&amp;lt;/code&amp;gt; so it fits your mod &amp;lt;u&amp;gt;folder name&amp;lt;/u&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;AmnesiaRebirth.exe -user Dev -cfg config/main_init_dev.cfg -mod local:MyModName&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Non-Windows users''': Substitute &amp;lt;code&amp;gt;AmnesiaRebirth.exe&amp;lt;/code&amp;gt; with your platform's executable, for example: &amp;lt;code&amp;gt;./Amnesia2.bin.x86_64&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now launch the script file throughout the development of your mod.&lt;br /&gt;
&lt;br /&gt;
==Setting up the Editors==&lt;br /&gt;
Your mod might have custom assets. In order to make the editors (Level Editor, Model Editor, etc) to load your mod's assets, it needs to be configured into a special mode called &amp;quot;WIP Mod&amp;quot;. &lt;br /&gt;
{{tip|Even if your mod doesn't have any custom assets, it's a good practice to configure the Level Editor anyway, just so you won't have to deal with it in the future should you decide to add custom assets.}} &lt;br /&gt;
&lt;br /&gt;
===WIP Mod - Manual Configuration===&lt;br /&gt;
&lt;br /&gt;
#Navigate to &amp;lt;code&amp;gt;My Documents/HPL3&amp;lt;/code&amp;gt;. You need to open one of the editors at least once in order to see the HPL3 folder inside your document folder.&lt;br /&gt;
#Inside that folder, create a file called &amp;lt;code&amp;gt;WIPMod.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Paste the following into the file, and save:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;WIPmod Path=&amp;quot;Full_Path_To_Mod/entry.hpc&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(Of course, you will have to change the path in order to suit your own location of the mod).&lt;br /&gt;
&lt;br /&gt;
===Final Step===&lt;br /&gt;
&lt;br /&gt;
If your mod indeed has custom assets, you need to make sure the editors can add them to their look up list. &lt;br /&gt;
&lt;br /&gt;
#In your mod's folder, create a new folder and name it &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Inside that folder, create a file called &amp;lt;code&amp;gt;lookupdirs.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Create a new &amp;lt;code&amp;gt;&amp;lt;Directories&amp;gt;&amp;lt;/code&amp;gt; xml tag inside the file.&lt;br /&gt;
#Add a list of directories which include your custom assets. The directory has to be associated with a category. The allowed categories are:&lt;br /&gt;
#*&amp;lt;code&amp;gt;StaticObjects&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Entities&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Billboards&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Particles&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Sounds&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;DetailMeshes&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Directories&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;StaticObjects&amp;quot; Path=&amp;quot;static_objects/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Entities&amp;quot; Path=&amp;quot;entities/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Billboards&amp;quot; Path=&amp;quot;billboards/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Particles&amp;quot; Path=&amp;quot;particles/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Sounds&amp;quot; Path=&amp;quot;sounds/&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Directories&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all the above is done correctly, a &amp;lt;code&amp;gt;(Working on mod)&amp;lt;/code&amp;gt; text should appear on the title bar of HPL3 editors when run.&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Setup_Modding_Environment&amp;diff=6806</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Setup Modding Environment</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Setup_Modding_Environment&amp;diff=6806"/>
		<updated>2024-05-08T15:19:51Z</updated>

		<summary type="html">&lt;p&gt;Crater: removed asset prefix from example lookupdirs.cfg as the Bunker editors don't seem to correctly find the directories.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
In order to have a smooth modding development experience, Amnesia: Rebirth should be configured to run in a proper development environment.&amp;lt;br /&amp;gt;{{Tip|It is recommended to use the [https://wiki.frictionalgames.com/page/HPL3/Third_Party_Tools/HPL3_Mod_Manager HPL3 Mod Manager] to configure everything that is listed on this page.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
==Setting up Custom Story Dev Mode==&lt;br /&gt;
During development, it is extremely helpful to have access to the development options and [[HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu|debug mode]] of the game. To achieve that, you need to start the game with a few extra arguments. It is suggested that you set up a script file for your mod so you can more quickly launch it in development mode.&lt;br /&gt;
&lt;br /&gt;
#In the main folder of the game, create a script file with a recognizable name for your mod development. For example: &amp;lt;code&amp;gt;myMod_dev.bat&amp;lt;/code&amp;gt; (.sh for Mac/Linux)&lt;br /&gt;
#Paste the following text into the file and save, changing &amp;lt;code&amp;gt;MyModName&amp;lt;/code&amp;gt; so it fits your mod &amp;lt;u&amp;gt;folder name&amp;lt;/u&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;AmnesiaRebirth.exe -user Dev -cfg config/main_init_dev.cfg -mod local:MyModName&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''Non-Windows users''': Substitute &amp;lt;code&amp;gt;AmnesiaRebirth.exe&amp;lt;/code&amp;gt; with your platform's executable, for example: &amp;lt;code&amp;gt;./Amnesia2.bin.x86_64&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now launch the script file throughout the development of your mod.&lt;br /&gt;
&lt;br /&gt;
==Setting up the Editors==&lt;br /&gt;
Your mod might have custom assets. In order to make the editors (Level Editor, Model Editor, etc) to load your mod's assets, it needs to be configured into a special mode called &amp;quot;WIP Mod&amp;quot;. &lt;br /&gt;
{{tip|Even if your mod doesn't have any custom assets, it's a good practice to configure the Level Editor anyway, just so you won't have to deal with it in the future should you decide to add custom assets.}} &lt;br /&gt;
&lt;br /&gt;
===WIP Mod - Manual Configuration===&lt;br /&gt;
&lt;br /&gt;
#Navigate to &amp;lt;code&amp;gt;My Documents/HPL3&amp;lt;/code&amp;gt;. You need to open one of the editors at least once in order to see the HPL3 folder inside your document folder.&lt;br /&gt;
#Inside that folder, create a file called &amp;lt;code&amp;gt;WIPMod.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Paste the following into the file, and save:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;WIPmod Path=&amp;quot;Full_Path_To_Mod/entry.hpc&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(Of course, you will have to change the path in order to suit your own location of the mod).&lt;br /&gt;
&lt;br /&gt;
===Final Step===&lt;br /&gt;
&lt;br /&gt;
If your mod indeed has custom assets, you need to make sure the editors can add them to their look up list. &lt;br /&gt;
&lt;br /&gt;
#In your mod's folder, create a new folder and name it &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Inside that folder, create a file called &amp;lt;code&amp;gt;lookupdirs.cfg&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Create a new &amp;lt;code&amp;gt;&amp;lt;Directories&amp;gt;&amp;lt;/code&amp;gt; xml tag inside the file.&lt;br /&gt;
#Add a list of directories which include your custom assets. The directory has to be associated with a category. The allowed categories are:&lt;br /&gt;
#*&amp;lt;code&amp;gt;StaticObjects&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Entities&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Billboards&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Particles&amp;lt;/code&amp;gt;&lt;br /&gt;
#*&amp;lt;code&amp;gt;Sounds&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example file:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Directories&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;StaticObjects&amp;quot; Path=&amp;quot;static_objects/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Entities&amp;quot; Path=&amp;quot;entities/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Billboards&amp;quot; Path=&amp;quot;billboards/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Particles&amp;quot; Path=&amp;quot;particles/&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;Dir Category=&amp;quot;Sounds&amp;quot; Path=&amp;quot;sounds/&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Directories&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all the above is done correctly, a &amp;lt;code&amp;gt;(Working on mod)&amp;lt;/code&amp;gt; text should appear on the title bar of HPL3 editors when run.&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Launch_Configuration&amp;diff=6430</id>
		<title>HPL3/Launch Configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Launch_Configuration&amp;diff=6430"/>
		<updated>2023-07-15T18:31:02Z</updated>

		<summary type="html">&lt;p&gt;Crater: Added new Amnesia: The Bunker StartMap syntax&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
When a mod is launched, some initialization occurs and the game is configured before the mod shows up. This article explains how to configure the startup of a mod.&lt;br /&gt;
&lt;br /&gt;
==Launch Configuration File==&lt;br /&gt;
In order to make the mod launch, we need to list some configurations and settings that affect the initialization of the mod. All of the configurations are listed inside a single XML file, called &amp;lt;code&amp;gt;main_init.cfg&amp;lt;/code&amp;gt;. The file should be located inside the &amp;lt;code&amp;gt;config&amp;lt;/code&amp;gt; folder of the mod. When launching a mod, either via debug mode or via the game, the mod will first read the data from this file.&lt;br /&gt;
&lt;br /&gt;
===Minimal Configuration===&lt;br /&gt;
These are the minimal settings that should be inside a &amp;lt;code&amp;gt;main_init.cfg&amp;lt;/code&amp;gt; file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Directories  &lt;br /&gt;
	MainSaveFolder = &amp;quot;Save Folder Name&amp;quot;&lt;br /&gt;
	GameLanguageFolder = &amp;quot;config/lang/&amp;quot;&lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Variables&lt;br /&gt;
	GameName = &amp;quot;Mod Name&amp;quot;&lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;StartMap &lt;br /&gt;
	File = &amp;quot;map_name.hpm&amp;quot; &lt;br /&gt;
	Folder = &amp;quot;maps/&amp;quot; &lt;br /&gt;
	Pos = &amp;quot;PlayerStartArea_1&amp;quot; &lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|'''Note:''' Amnesia: The Bunker has different syntax for the StartMap key. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;StartMap &lt;br /&gt;
    File = &amp;quot;Main:intro_map.hpm, PostIntro:main_map.hpm&amp;quot; &lt;br /&gt;
    Folder = &amp;quot;maps/&amp;quot; &lt;br /&gt;
    Pos = &amp;quot;PlayerStartArea_1&amp;quot; &lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
===Extended Configuration===&lt;br /&gt;
These are the full settings that can be inside a &amp;lt;code&amp;gt;main_init.cfg&amp;lt;/code&amp;gt; file in order to apply further customization:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ConfigFiles &lt;br /&gt;
	Resources = &amp;quot;resources.cfg&amp;quot; &lt;br /&gt;
	Materials = &amp;quot;materials.cfg&amp;quot;&lt;br /&gt;
	SoundData = &amp;quot;sounddata.cfg&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	DefaultBaseLanguage = &amp;quot;base_english.lang&amp;quot;&lt;br /&gt;
	DefaultGameLanguage = &amp;quot;english.lang&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	Modules = &amp;quot;config/Modules.cfg&amp;quot;&lt;br /&gt;
	EntityTypes = &amp;quot;config/EntityTypes.cfg&amp;quot;&lt;br /&gt;
	Effects = &amp;quot;config/Effects.cfg&amp;quot;&lt;br /&gt;
	PlayerStates = &amp;quot;config/PlayerStates.cfg&amp;quot;&lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Directories  &lt;br /&gt;
	MainSaveFolder = &amp;quot;Main&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	BaseLanguageFolder = &amp;quot;config/&amp;quot;		&lt;br /&gt;
	GameLanguageFolder = &amp;quot;config/lang_main/&amp;quot;&lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Variables&lt;br /&gt;
	GameName = &amp;quot;Mod Name&amp;quot;&lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;MainMenu&lt;br /&gt;
  File=&amp;quot;main_menu.hpm&amp;quot;  &lt;br /&gt;
  Folder=&amp;quot;maps/&amp;quot;&lt;br /&gt;
  Pos=&amp;quot;&amp;quot;&lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;StartMap &lt;br /&gt;
	File = &amp;quot;map_name.hpm&amp;quot; &lt;br /&gt;
	Folder = &amp;quot;maps/&amp;quot; &lt;br /&gt;
	Pos = &amp;quot;PlayerStartArea_1&amp;quot; &lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|it is recommended to not change most of the settings, and only edit things that should really be customized for your mod, such as mod name, save folder name, etc.}}&lt;br /&gt;
&lt;br /&gt;
===Attributes===&lt;br /&gt;
----&lt;br /&gt;
====ConfigFiles====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Attribute!!Description&lt;br /&gt;
|-&lt;br /&gt;
|Resources&lt;br /&gt;
|Points to the [[HPL3/Resources Configuration|resources configuration]] file.&lt;br /&gt;
|-&lt;br /&gt;
|Materials&lt;br /&gt;
|Points to the material configuration file.&lt;br /&gt;
|-&lt;br /&gt;
|SoundData&lt;br /&gt;
|Points to the sound data configuration file.&lt;br /&gt;
|-&lt;br /&gt;
|DefaultBaseLanguage&lt;br /&gt;
|Points to the default base [[HPL3/Language Configuration|language file]].&lt;br /&gt;
|-&lt;br /&gt;
|DefaultGameLanguage&lt;br /&gt;
|Points to the default game [[HPL3/Language Configuration|language file]].&lt;br /&gt;
|-&lt;br /&gt;
|Modules&lt;br /&gt;
|Points to the [[HPL3/Modules Configuration|modules file]].&lt;br /&gt;
|-&lt;br /&gt;
|EntityTypes&lt;br /&gt;
|Points to [[HPL3/Entities/Entity Types|entity types]] configuration file.&lt;br /&gt;
|-&lt;br /&gt;
|Effects&lt;br /&gt;
|Points to the effects configuration file.&lt;br /&gt;
|-&lt;br /&gt;
|PlayerStates&lt;br /&gt;
|Points to the player states configuration file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Directories====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Attribute!!Description&lt;br /&gt;
|-&lt;br /&gt;
|MainSaveFolder&lt;br /&gt;
|The name of the folder which the save files will be placed into.&lt;br /&gt;
|-&lt;br /&gt;
|BaseLanguageFolder&lt;br /&gt;
|The name of the folder where [[HPL3/Language Configuration|base_english.lang]] is located at.&lt;br /&gt;
|-&lt;br /&gt;
|GameLanguageFolder&lt;br /&gt;
|The name of the folder where [[HPL3/Language Configuration|english.lang]] is located at.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Variables====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Attribute!!Description&lt;br /&gt;
|-&lt;br /&gt;
|GameName&lt;br /&gt;
|The name of the mod. Will appear at the title of the game and at the task bar.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====StartMap====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Attribute!!Description&lt;br /&gt;
|-&lt;br /&gt;
|File&lt;br /&gt;
|The name of the map file + file extension (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
|Folder&lt;br /&gt;
|The name of the map folder.&lt;br /&gt;
|-&lt;br /&gt;
|Pos&lt;br /&gt;
|The [[HPL3/Areas/PlayerStart Area|primary start position]] of the map.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Color_Grading&amp;diff=6401</id>
		<title>HPL3/Color Grading</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Color_Grading&amp;diff=6401"/>
		<updated>2023-03-31T08:54:06Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Creation Guide */ added note about the modern nvidia texture tool&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
[[File:Grading.jpg|thumb|Color Grading example]]&lt;br /&gt;
Color grading is a way to map the color of a pixel to another color. This can be used to change the brightness, contrast, hue, saturation, … of a whole image.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to smoothly fade between two different grading templates.&amp;lt;br /&amp;gt;&lt;br /&gt;
It uses a small 3D texture with a color as input and another color as output.&lt;br /&gt;
&lt;br /&gt;
== Creation Guide ==&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
* Photoshop (CS5 or later recommended)&lt;br /&gt;
* [https://developer.nvidia.com/gameworksdownload#?dn=texture-tools-for-adobe-photoshop-8-55 NVIDIA Texture Tools for Adobe Photoshop v8.55] - Download the correct version for your system (probably 64-bit)&lt;br /&gt;
** The modern Nvidia Texture Tool should also work using equivalent settings.{{confirm}}&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
&lt;br /&gt;
# Take a screenshot of the game with color grading disabled&lt;br /&gt;
# Open the screenshot in Photoshop&lt;br /&gt;
# Drag and drop the default grading texture on the canvas (found at '''/core/textures/grading_default.dds''')&lt;br /&gt;
# Place the color strip anywhere in the image&lt;br /&gt;
# Flatten the image to merge all the layers&lt;br /&gt;
# Select &amp;quot;'''Image &amp;gt; Mode &amp;gt; 8 Bits/Channel'''&amp;quot; in the top menu &lt;br /&gt;
''Note: FG documentation originally listed 16 Bits/Channel, however this seemed to result in incorrect color grading results.''&lt;br /&gt;
&lt;br /&gt;
===Adjustments===&lt;br /&gt;
&lt;br /&gt;
* Use any of the options in &amp;quot;'''Image &amp;gt; Adjustments'''&amp;quot;&lt;br /&gt;
* These can be used to change the brightness, saturation, contrast and so on&lt;br /&gt;
* Any changes you see on the image in Photoshop will carry over to the game&lt;br /&gt;
&lt;br /&gt;
[[File:adjustments.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Layers===&lt;br /&gt;
&lt;br /&gt;
It is also possible to use the any of the layer blend modes. &amp;lt;br/&amp;gt;&lt;br /&gt;
There are two kinds of layers allowed:&lt;br /&gt;
&lt;br /&gt;
* Solid color&lt;br /&gt;
* Dupilcate of the first layer&lt;br /&gt;
&lt;br /&gt;
It is possible to duplicate the first layer and make adjustments to it and then blend it. &amp;lt;br/&amp;gt;&lt;br /&gt;
The use of Layer Masks is allowed as long as they are generated from the image and not hand painted.&lt;br /&gt;
&lt;br /&gt;
[[File:layers.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Saving===&lt;br /&gt;
[[File:crop.jpg|thumb|Example crop]]&lt;br /&gt;
# Crop the color strip from the canvas, make sure the resulting image is 256×16 px&lt;br /&gt;
# Select &amp;quot;'''Save a Copy...'''&amp;quot; and set the format as &amp;quot;'''D3D/DDS (*.DDS)''''&amp;quot; and save it in the folder &amp;quot;'''/textures/colorgrading/'''&amp;quot;&lt;br /&gt;
# In the DDS format settings select &amp;quot;'''8.8.8.8 ARGB 32 bit | unsigned'''&amp;quot;, &amp;quot;'''Volume Texture'''&amp;quot;, &amp;quot;'''No MIP maps'''&amp;quot;&lt;br /&gt;
[[File:DDS Format Fixed.png]]&lt;br /&gt;
&lt;br /&gt;
== Level Usage ==&lt;br /&gt;
&lt;br /&gt;
You can apply your color grading texture either in the [[HPL3/SOMA/Level_Design/Level_Settings#ColorGrading|Level Settings]] or via the level script.&lt;br /&gt;
{{constructionNotice|TODO: Link to/explain color grading scripts.|width=25%}}&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL2/Tools&amp;diff=6318</id>
		<title>HPL2/Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL2/Tools&amp;diff=6318"/>
		<updated>2022-06-27T10:15:47Z</updated>

		<summary type="html">&lt;p&gt;Crater: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Entry pages]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;row&amp;quot; |Editors&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Level Editor|Level Editor]]'''||Everything that you do in the other editors comes to use here.&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Model Editor|Model Editor]]'''||Makes your 3D models come to life with ingame functions.&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Particle Editor|Particle Editor]]'''||Create fire, smoke and other particles to spice up levels and models.&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Material Editor|Material Editor]]'''||Should a texture come with normal, specular or illumination maps? Should the material be transparent or sound like metal?&lt;br /&gt;
|-&lt;br /&gt;
|[[HPL2/Tools/HplLangTool|'''HPL Language Tool''']]||Helper tool to build,edit, and translate language files&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;row&amp;quot; |Viewers&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Map Viewer|Map Viewer]]'''||Gives extra information about the level and allows viewing without running the game. A useful tool for optimization.&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Model Viewer|Model Viewer]]'''||See how your model will look ingame without having to start the game or make game specific files. Useful for porting assets.&lt;br /&gt;
|}&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
Keep in mind that these tools, while having been used to produce actual content and a lot of effort has been put on making them as stable as possible, are a constant work in progress, so bugs and the like may arise anytime. Make sure to back up your work often, and it is highly recommended to use a versioning system (e.g. [https://git-scm.com/ Git]). &lt;br /&gt;
&lt;br /&gt;
Make sure to click the download links as copying the link will result in an error. If clicking the link also results in an error, try downloading in another browser.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
Download the Windows HPL Editor Suite for Amnesia (click the link, it won't work if you copy it into a tab):&lt;br /&gt;
&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/amnesia_tdd_1.3_editor_suite.zip Version 1.3 and later]&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/hpl_editor_suite.zip Version 1.2 and earlier].&lt;br /&gt;
&lt;br /&gt;
This file must be unpacked into the folder where you find Amnesia.exe, all .dll files and folders with game data. This may be one of two locations depending on which version of the game you have.&lt;br /&gt;
&lt;br /&gt;
* '''For Steam users''': This will be your game installation directory, usually &amp;lt;code&amp;gt;C:\Program Files\Steam\steamapps\common\Amnesia - The Dark Descent\&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''For retail/other users''': This will be inside the &amp;quot;redist&amp;quot; folder inside your installation directory, for example &amp;lt;code&amp;gt;C:\Program Files\Amnesia - The Dark Descent\redist\&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When reporting crashes and bugs, always include a description of the problem and any log output from the editors themselves. Logs are located in your &amp;lt;code&amp;gt;&amp;lt;Documents&amp;gt;\HPL2\&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
&lt;br /&gt;
Download the Linux HPL Editor Suite for Amnesia:&lt;br /&gt;
&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/hpl2_editor_suite-linux-2015-03-04.zip Version 1.3 and later]&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/hpl_editor_suite_linux.zip Version 1.2.1 and earlier]&lt;br /&gt;
&lt;br /&gt;
'''Updated 2011-02-19''' Updated to fix crashes when selecting enemies.&lt;br /&gt;
&lt;br /&gt;
Extract the zip and run the installer (&amp;lt;code&amp;gt;hpl_editor_suite.sh&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
The installer should automatically find your currently installed copy of Amnesia if you installed it in one of the common installation locations. If not, simply select the Amnesia folder where you installed the game.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' No menu items are created by the installer, it simply installs the editor data files and executables for your platform.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The HplLangTool.exe is included in the Linux HPL editor suite, it is a .NET application that does run under wine/mono.&lt;br /&gt;
&lt;br /&gt;
When reporting crashes and bugs, always include a description of the problem and any log output from the editors themselves. Logs are located in your &amp;lt;code&amp;gt;~/.frictionalgames/HPL2&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
===Mac OS X===&lt;br /&gt;
&lt;br /&gt;
Download the Mac OS X HPL Editor Suite:&lt;br /&gt;
&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/HPL2-EditorSuite-OSX-2015-03-04.dmg Version 1.3 and later]&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/hpl2editorsuite.dmg Version 1.2.1 and earlier]&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/hpl2editorsuite-manual.dmg Manual Install for version 1.2.1 and earlier]. (Use the Manual Install only if you have issues with the automated installer, and be ''SURE'' to read the directions)&lt;br /&gt;
&lt;br /&gt;
Extract the zip and run the installer (''HPL2 Editor Suite Installer''). The installer should automatically find your currently installed copy of Amnesia no matter where you purchased it (including Steam). After installing the tools, simply run Amnesia and select the &amp;quot;Editor Suite&amp;quot; tab in the launcher to run the tools.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
*This{{clarify}} currently is not for the Mac [http://www.proleadsoft.com/mobile-app-development/| App Store] release, as updates to Amnesia will completely remove the Editor suite. Please read [http://support.frictionalgames.com/entry/103/ this] for more information.&lt;br /&gt;
*'''Update 2011-02-19'''  Includes fixes for crashes and &amp;quot;hangs&amp;quot;&lt;br /&gt;
*'''Update 2011-03-19'''  Includes fixes for a crash that occurs when selecting entities to add to a level&lt;br /&gt;
*You must install the [http://support.frictionalgames.com/entry/100/ Amnesia 1.0.1.2 Mac OS X Patch] (this is a Mac-only patch). Steam users will get the update directly from the Steam client.&lt;br /&gt;
&lt;br /&gt;
When reporting crashes and bugs, always include a description of the problem and any log output from the editors themselves. Logs are located in your &amp;lt;code&amp;gt;~/Library/Application Support/Frictional Games/HPL2&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
== Community tools ==&lt;br /&gt;
&lt;br /&gt;
After the HPL2 games went open-source, the community managed to compile newer editors with a few quality-of-life improvements. They are '''available for Windows and Linux.'''&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
The new features include:&lt;br /&gt;
* A much more comfortable color picker&lt;br /&gt;
* Dark theme (installed by default, but the original one can be reinstated)&lt;br /&gt;
* Keyboard shortcuts for common utilities (e.g. grid snapping)&lt;br /&gt;
* Ability to load MFP maps and assets without errors&lt;br /&gt;
* Other small improvements&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
#Install the original editors first (not all files and editors are included in the community version).&lt;br /&gt;
#Go to [https://github.com/TiManGames/AmnesiaTheDarkDescent/releases this Github page] to download the latest version of the community tools.&lt;br /&gt;
#Download the archive in the format of your choice (.7z is smaller than .zip but requires [https://www.7-zip.org/ 7zip] or Winrar to open).&lt;br /&gt;
#Extract the contents into the main directory of Amnesia.&lt;br /&gt;
#Merge and overwrite all when asked.&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL2/Tools&amp;diff=6317</id>
		<title>HPL2/Tools</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL2/Tools&amp;diff=6317"/>
		<updated>2022-06-27T10:10:32Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Installation Instructions */ added note to try another browser if the download keeps failing.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Entry pages]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;row&amp;quot; |Editors&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Level Editor|Level Editor]]'''||Everything that you do in the other editors comes to use here.&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Model Editor|Model Editor]]'''||Makes your 3D models come to life with ingame functions.&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Particle Editor|Particle Editor]]'''||Create fire, smoke and other particles to spice up levels and models.&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Material Editor|Material Editor]]'''||Should a texture come with normal, specular or illumination maps? Should the material be transparent or sound like metal?&lt;br /&gt;
|-&lt;br /&gt;
|[[HPL2/Tools/HplLangTool|'''HPL Language Tool''']]||Helper tool to build,edit, and translate language files&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; scope=&amp;quot;row&amp;quot; |Viewers&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Map Viewer|Map Viewer]]'''||Gives extra information about the level and allows viewing without running the game. A useful tool for optimization.&lt;br /&gt;
|-&lt;br /&gt;
|'''[[HPL2/Tools/Model Viewer|Model Viewer]]'''||See how your model will look ingame without having to start the game or make game specific files. Useful for porting assets.&lt;br /&gt;
|}&lt;br /&gt;
==Installation Instructions==&lt;br /&gt;
Keep in mind that these tools, while having been used to produce actual content and a lot of effort has been put on making them as stable as possible, are a constant work in progress, so bugs and the like may arise anytime. Make sure to back up your work often, and it is highly recommended to use a versioning system (e.g. [https://git-scm.com/ Git]). &lt;br /&gt;
&lt;br /&gt;
Make sure to click the download links before, as copying the link will result in an error. If clicking the link also results in an error, try downloading in another browser.&lt;br /&gt;
&lt;br /&gt;
===Windows===&lt;br /&gt;
&lt;br /&gt;
Download the Windows HPL Editor Suite for Amnesia (click the link, it won't work if you copy it into a tab):&lt;br /&gt;
&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/amnesia_tdd_1.3_editor_suite.zip Version 1.3 and later]&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/hpl_editor_suite.zip Version 1.2 and earlier].&lt;br /&gt;
&lt;br /&gt;
This file must be unpacked into the folder where you find Amnesia.exe, all .dll files and folders with game data. This may be one of two locations depending on which version of the game you have.&lt;br /&gt;
&lt;br /&gt;
* '''For Steam users''': This will be your game installation directory, usually &amp;lt;code&amp;gt;C:\Program Files\Steam\steamapps\common\Amnesia - The Dark Descent\&amp;lt;/code&amp;gt;&lt;br /&gt;
* '''For retail/other users''': This will be inside the &amp;quot;redist&amp;quot; folder inside your installation directory, for example &amp;lt;code&amp;gt;C:\Program Files\Amnesia - The Dark Descent\redist\&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When reporting crashes and bugs, always include a description of the problem and any log output from the editors themselves. Logs are located in your &amp;lt;code&amp;gt;&amp;lt;Documents&amp;gt;\HPL2\&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
===Linux===&lt;br /&gt;
&lt;br /&gt;
Download the Linux HPL Editor Suite for Amnesia:&lt;br /&gt;
&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/hpl2_editor_suite-linux-2015-03-04.zip Version 1.3 and later]&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/hpl_editor_suite_linux.zip Version 1.2.1 and earlier]&lt;br /&gt;
&lt;br /&gt;
'''Updated 2011-02-19''' Updated to fix crashes when selecting enemies.&lt;br /&gt;
&lt;br /&gt;
Extract the zip and run the installer (&amp;lt;code&amp;gt;hpl_editor_suite.sh&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
The installer should automatically find your currently installed copy of Amnesia if you installed it in one of the common installation locations. If not, simply select the Amnesia folder where you installed the game.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' No menu items are created by the installer, it simply installs the editor data files and executables for your platform.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The HplLangTool.exe is included in the Linux HPL editor suite, it is a .NET application that does run under wine/mono.&lt;br /&gt;
&lt;br /&gt;
When reporting crashes and bugs, always include a description of the problem and any log output from the editors themselves. Logs are located in your &amp;lt;code&amp;gt;~/.frictionalgames/HPL2&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
===Mac OS X===&lt;br /&gt;
&lt;br /&gt;
Download the Mac OS X HPL Editor Suite:&lt;br /&gt;
&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/HPL2-EditorSuite-OSX-2015-03-04.dmg Version 1.3 and later]&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/hpl2editorsuite.dmg Version 1.2.1 and earlier]&lt;br /&gt;
*[https://fricpub.s3.amazonaws.com/tools/hpl2/hpl2editorsuite-manual.dmg Manual Install for version 1.2.1 and earlier]. (Use the Manual Install only if you have issues with the automated installer, and be ''SURE'' to read the directions)&lt;br /&gt;
&lt;br /&gt;
Extract the zip and run the installer (''HPL2 Editor Suite Installer''). The installer should automatically find your currently installed copy of Amnesia no matter where you purchased it (including Steam). After installing the tools, simply run Amnesia and select the &amp;quot;Editor Suite&amp;quot; tab in the launcher to run the tools.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
*This{{clarify}} currently is not for the Mac [http://www.proleadsoft.com/mobile-app-development/| App Store] release, as updates to Amnesia will completely remove the Editor suite. Please read [http://support.frictionalgames.com/entry/103/ this] for more information.&lt;br /&gt;
*'''Update 2011-02-19'''  Includes fixes for crashes and &amp;quot;hangs&amp;quot;&lt;br /&gt;
*'''Update 2011-03-19'''  Includes fixes for a crash that occurs when selecting entities to add to a level&lt;br /&gt;
*You must install the [http://support.frictionalgames.com/entry/100/ Amnesia 1.0.1.2 Mac OS X Patch] (this is a Mac-only patch). Steam users will get the update directly from the Steam client.&lt;br /&gt;
&lt;br /&gt;
When reporting crashes and bugs, always include a description of the problem and any log output from the editors themselves. Logs are located in your &amp;lt;code&amp;gt;~/Library/Application Support/Frictional Games/HPL2&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
== Community tools ==&lt;br /&gt;
&lt;br /&gt;
After the HPL2 games went open-source, the community managed to compile newer editors with a few quality-of-life improvements. They are '''available for Windows and Linux.'''&lt;br /&gt;
&lt;br /&gt;
===Features===&lt;br /&gt;
The new features include:&lt;br /&gt;
* A much more comfortable color picker&lt;br /&gt;
* Dark theme (installed by default, but the original one can be reinstated)&lt;br /&gt;
* Keyboard shortcuts for common utilities (e.g. grid snapping)&lt;br /&gt;
* Ability to load MFP maps and assets without errors&lt;br /&gt;
* Other small improvements&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
#Install the original editors first (not all files and editors are included in the community version).&lt;br /&gt;
#Go to [https://github.com/TiManGames/AmnesiaTheDarkDescent/releases this Github page] to download the latest version of the community tools.&lt;br /&gt;
#Download the archive in the format of your choice (.7z is smaller than .zip but requires [https://www.7-zip.org/ 7zip] or Winrar to open).&lt;br /&gt;
#Extract the contents into the main directory of Amnesia.&lt;br /&gt;
#Merge and overwrite all when asked.&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Color_Grading&amp;diff=6316</id>
		<title>HPL3/Color Grading</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Color_Grading&amp;diff=6316"/>
		<updated>2022-03-17T18:57:27Z</updated>

		<summary type="html">&lt;p&gt;Crater: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
[[File:Grading.jpg|thumb|Color Grading example]]&lt;br /&gt;
Color grading is a way to map the color of a pixel to another color. This can be used to change the brightness, contrast, hue, saturation, … of a whole image.&amp;lt;br /&amp;gt;&lt;br /&gt;
It is possible to smoothly fade between two different grading templates.&amp;lt;br /&amp;gt;&lt;br /&gt;
It uses a small 3D texture with a color as input and another color as output.&lt;br /&gt;
&lt;br /&gt;
== Creation Guide ==&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
&lt;br /&gt;
* Photoshop (CS5 or later recommended)&lt;br /&gt;
* [https://developer.nvidia.com/gameworksdownload#?dn=texture-tools-for-adobe-photoshop-8-55 NVIDIA Texture Tools for Adobe Photoshop v8.55] - Download the correct version for your system (probably 64-bit)&lt;br /&gt;
&lt;br /&gt;
===Setup===&lt;br /&gt;
&lt;br /&gt;
# Take a screenshot of the game with color grading disabled&lt;br /&gt;
# Open the screenshot in Photoshop&lt;br /&gt;
# Drag and drop the default grading texture on the canvas (found at '''/core/textures/grading_default.dds''')&lt;br /&gt;
# Place the color strip anywhere in the image&lt;br /&gt;
# Flatten the image to merge all the layers&lt;br /&gt;
# Select &amp;quot;'''Image &amp;gt; Mode &amp;gt; 8 Bits/Channel'''&amp;quot; in the top menu &lt;br /&gt;
''Note: FG documentation originally listed 16 Bits/Channel, however this seemed to result in incorrect color grading results.''&lt;br /&gt;
&lt;br /&gt;
===Adjustments===&lt;br /&gt;
&lt;br /&gt;
* Use any of the options in &amp;quot;'''Image &amp;gt; Adjustments'''&amp;quot;&lt;br /&gt;
* These can be used to change the brightness, saturation, contrast and so on&lt;br /&gt;
* Any changes you see on the image in Photoshop will carry over to the game&lt;br /&gt;
&lt;br /&gt;
[[File:adjustments.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Layers===&lt;br /&gt;
&lt;br /&gt;
It is also possible to use the any of the layer blend modes. &amp;lt;br/&amp;gt;&lt;br /&gt;
There are two kinds of layers allowed:&lt;br /&gt;
&lt;br /&gt;
* Solid color&lt;br /&gt;
* Dupilcate of the first layer&lt;br /&gt;
&lt;br /&gt;
It is possible to duplicate the first layer and make adjustments to it and then blend it. &amp;lt;br/&amp;gt;&lt;br /&gt;
The use of Layer Masks is allowed as long as they are generated from the image and not hand painted.&lt;br /&gt;
&lt;br /&gt;
[[File:layers.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Saving===&lt;br /&gt;
[[File:crop.jpg|thumb|Example crop]]&lt;br /&gt;
# Crop the color strip from the canvas, make sure the resulting image is 256×16 px&lt;br /&gt;
# Select &amp;quot;'''Save a Copy...'''&amp;quot; and set the format as &amp;quot;'''D3D/DDS (*.DDS)''''&amp;quot; and save it in the folder &amp;quot;'''/textures/colorgrading/'''&amp;quot;&lt;br /&gt;
# In the DDS format settings select &amp;quot;'''8.8.8.8 ARGB 32 bit | unsigned'''&amp;quot;, &amp;quot;'''Volume Texture'''&amp;quot;, &amp;quot;'''No MIP maps'''&amp;quot;&lt;br /&gt;
[[File:DDS Format Fixed.png]]&lt;br /&gt;
&lt;br /&gt;
== Level Usage ==&lt;br /&gt;
&lt;br /&gt;
You can apply your color grading texture either in the [[HPL3/SOMA/Level_Design/Level_Settings#ColorGrading|Level Settings]] or via the level script.&lt;br /&gt;
{{constructionNotice|TODO: Link to/explain color grading scripts.|width=25%}}&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6315</id>
		<title>HPL3/SOMA/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6315"/>
		<updated>2022-01-20T21:17:05Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Debug Texts */ Merged sections into single table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{bug|Using F5 (or the debug menu 'Reload Game' option) while using mod content that overrides a base game asset will result in the game reverting to the original unmodified asset until the game is restarted. Reload the map using the 'Load Map' debug menu option to prevent this!}}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
{{expandBox|[[File:Hpl3-soma-debug-menu.png|alt=|left|902x902px]]}}{{clr}}&lt;br /&gt;
&lt;br /&gt;
==Debug Texts==&lt;br /&gt;
This section is at the very top of the menu and consists of checkboxes which display different information about the game, map, physics, script, etc on in the form of text on the screen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|Show module info&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show map info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Show entity info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds additional information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound ai event&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
|-&lt;br /&gt;
|Show debug messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Draw physics debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay physics debug&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Draw Gui debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Show TV Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Info Window&lt;br /&gt;
|Displays a window with debug information. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping Entities&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slide increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.&lt;br /&gt;
{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Merges two language files between the main game language file and another.&lt;br /&gt;
{{note|This feature doesn't seem to be useful in practice.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto Reload Resource&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script At Task Switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script Constantly&lt;br /&gt;
|The script file for the map will be updated constantly every time it is saved. It doesn't matter if the game task is focused or not.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Leftover feature from HPL2. The button does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Reload from current pos&lt;br /&gt;
|When reloading a map, the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload Game&lt;br /&gt;
|Reloads the map. This also resets the state of the player and all the other scripts which run in the background.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features and is useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted.&lt;br /&gt;
{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to Start Pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;very high&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Game==&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file.&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only.&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Messages&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages.&lt;br /&gt;
|-&lt;br /&gt;
|Game Paused (F2)&lt;br /&gt;
|Pauses the game.&lt;br /&gt;
|-&lt;br /&gt;
|Pause at window open/close&lt;br /&gt;
|Toggles if opening (or closing) the debug menu should pause/resume the game.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Forward (F3)&lt;br /&gt;
|Makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow Down (F3)&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam (F7)&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Teleport player to camera&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Teleport camera to player&lt;br /&gt;
|Teleports the spectator camera to the player&lt;br /&gt;
|-&lt;br /&gt;
|CamSpeed&lt;br /&gt;
|Sets the spectator camera movement speed.&lt;br /&gt;
|-&lt;br /&gt;
|Show player collider&lt;br /&gt;
|Toggles visibility of the player collider (usually only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Always teleport player to camera&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Leftover from HPL2. Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|If only input from the gamepad should be allowed to move the player. Useful for playing back an input recording and being allowed to control the spec camera with the mouse and keyboard.&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file. {{Bug|It is unknown if this feature works. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Stress Test==&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Unlimited Random Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
The misc section include options which don't fit anywhere else.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a global or map specific voice subject. Use the selection box below this option to select the voice subject to play.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch. {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Graphics Debug==&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:Hpl3-fps-graph.png|thumb|left|FPS graph.|500x500px]]&lt;br /&gt;
|-&lt;br /&gt;
|Large Light Test&lt;br /&gt;
|Unknown option.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:Occlusion_preview.png|alt=|thumb|left|500x500px|On the left, you can see what the player sees. On the right, the camera has been moved back and it is now possible to see all the objects that get rendered this frame. There are a lot more than what it looks like in the left picture.]]&lt;br /&gt;
&amp;lt;br /&amp;gt; {{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Only Occluders&lt;br /&gt;
|Desc {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Render GBuffer&lt;br /&gt;
|Shows what the frame buffers look like. These are then used by the lights to shade the scene. It can be used to check if a model has incorrect textures or normals.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:G_buffer.png|alt=|thumb|left|500x500px|A scene in a g-buffer mode. Notice the different graphic modes.]]&lt;br /&gt;
|-&lt;br /&gt;
|Light Complexity&lt;br /&gt;
|Light complexity shows how expensive the lighting of a scene is. It creates a heat map on the screen to show how much power each light takes. Overdraw of light is not very expensive, it is about twice as expensive as a translucent object. When the light has a shadow map it becomes much more expensive. The complexity of a shadow casting light is based on how many draw calls and triangles are required to generate the shadow map.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:Light_complexity.png|alt=|left|thumb|500x500px|The red areas on the right image are not good. There seem to be multiple large (in screen space) shadow casting lights in this scene.]] {{clr}}&lt;br /&gt;
{{tip|To test if most of the complexity comes from shadows or not, you can toggle the &amp;lt;code&amp;gt;Draw Shadows&amp;lt;/code&amp;gt; checkbox in the menu. Here is what the scene complexity looks like without shadows: &lt;br /&gt;
[[File:light_complexity_no_shadows.png|alt=|frame|left]] {{clr}} }}&lt;br /&gt;
|-&lt;br /&gt;
|Overdraw&lt;br /&gt;
|Creates a [https://en.wikipedia.org/wiki/Heat_map heat map] that shows how much translucent overdraw each pixel receives. Overdraw is how many times a pixel gets rendered to.{{clarify}}&amp;lt;br&amp;gt;'''The goal should be that no part of the screen is red'''. It does not matter that much if only a small part is, however.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:translucent_overdraw.png|alt=|left|650x650px|On the left you can see the scene rendered normally. The fog particles are barely visible here. On the right the pixel overdraw is rendered. The red areas show that more than 32 translucent planes are rendered, which is not good.|thumb]]&lt;br /&gt;
&amp;lt;br /&amp;gt; {{bug|This option seems to be broken.}}&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6314</id>
		<title>HPL3/SOMA/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6314"/>
		<updated>2022-01-17T17:49:21Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Graphics Debug */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{bug|Using F5 (or the debug menu 'Reload Game' option) while using mod content that overrides a base game asset will result in the game reverting to the original unmodified asset until the game is restarted. Reload the map using the 'Load Map' debug menu option to prevent this!}}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
{{expandBox|[[File:Hpl3-soma-debug-menu.png|alt=|left|902x902px]]}}{{clr}}&lt;br /&gt;
&lt;br /&gt;
==Debug Texts==&lt;br /&gt;
This section is at the very top of the menu and consists of checkboxes which display different information about the game, map, physics, script, etc on in the form of text on the screen.&lt;br /&gt;
===Texts Options===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|Show module info&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show map info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Show entity info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds additional information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound ai event&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
|-&lt;br /&gt;
|Show debug messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Draw physics debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay physics debug&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Draw Gui debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Show TV Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Info Window&lt;br /&gt;
|Displays a window with debug information. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping Entities&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Additional Options===&lt;br /&gt;
&lt;br /&gt;
====Brightness====&lt;br /&gt;
The brightness slide increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
----&lt;br /&gt;
====Print Container Debug Info====&lt;br /&gt;
This button prints container debug info to the screen.&lt;br /&gt;
{{Bug|The button makes the game crash.}}&lt;br /&gt;
----&lt;br /&gt;
====Merge Lang Files====&lt;br /&gt;
Merges two language files between the main game language file and another.&lt;br /&gt;
{{note|This feature doesn't seem to be useful in practice.}}&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto Reload Resource&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script At Task Switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script Constantly&lt;br /&gt;
|The script file for the map will be updated constantly every time it is saved. It doesn't matter if the game task is focused or not.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Leftover feature from HPL2. The button does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Reload from current pos&lt;br /&gt;
|When reloading a map, the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload Game&lt;br /&gt;
|Reloads the map. This also resets the state of the player and all the other scripts which run in the background.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features and is useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted.&lt;br /&gt;
{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to Start Pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;very high&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Game==&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file.&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only.&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Messages&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages.&lt;br /&gt;
|-&lt;br /&gt;
|Game Paused (F2)&lt;br /&gt;
|Pauses the game.&lt;br /&gt;
|-&lt;br /&gt;
|Pause at window open/close&lt;br /&gt;
|Toggles if opening (or closing) the debug menu should pause/resume the game.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Forward (F3)&lt;br /&gt;
|Makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow Down (F3)&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam (F7)&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Teleport player to camera&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Teleport camera to player&lt;br /&gt;
|Teleports the spectator camera to the player&lt;br /&gt;
|-&lt;br /&gt;
|CamSpeed&lt;br /&gt;
|Sets the spectator camera movement speed.&lt;br /&gt;
|-&lt;br /&gt;
|Show player collider&lt;br /&gt;
|Toggles visibility of the player collider (usually only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Always teleport player to camera&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Leftover from HPL2. Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|If only input from the gamepad should be allowed to move the player. Useful for playing back an input recording and being allowed to control the spec camera with the mouse and keyboard.&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file. {{Bug|It is unknown if this feature works. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Stress Test==&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Unlimited Random Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
The misc section include options which don't fit anywhere else.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a global or map specific voice subject. Use the selection box below this option to select the voice subject to play.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch. {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Graphics Debug==&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:Hpl3-fps-graph.png|thumb|left|FPS graph.|500x500px]]&lt;br /&gt;
|-&lt;br /&gt;
|Large Light Test&lt;br /&gt;
|Unknown option.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:Occlusion_preview.png|alt=|thumb|left|500x500px|On the left, you can see what the player sees. On the right, the camera has been moved back and it is now possible to see all the objects that get rendered this frame. There are a lot more than what it looks like in the left picture.]]&lt;br /&gt;
&amp;lt;br /&amp;gt; {{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Only Occluders&lt;br /&gt;
|Desc {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Render GBuffer&lt;br /&gt;
|Shows what the frame buffers look like. These are then used by the lights to shade the scene. It can be used to check if a model has incorrect textures or normals.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:G_buffer.png|alt=|thumb|left|500x500px|A scene in a g-buffer mode. Notice the different graphic modes.]]&lt;br /&gt;
|-&lt;br /&gt;
|Light Complexity&lt;br /&gt;
|Light complexity shows how expensive the lighting of a scene is. It creates a heat map on the screen to show how much power each light takes. Overdraw of light is not very expensive, it is about twice as expensive as a translucent object. When the light has a shadow map it becomes much more expensive. The complexity of a shadow casting light is based on how many draw calls and triangles are required to generate the shadow map.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:Light_complexity.png|alt=|left|thumb|500x500px|The red areas on the right image are not good. There seem to be multiple large (in screen space) shadow casting lights in this scene.]] {{clr}}&lt;br /&gt;
{{tip|To test if most of the complexity comes from shadows or not, you can toggle the &amp;lt;code&amp;gt;Draw Shadows&amp;lt;/code&amp;gt; checkbox in the menu. Here is what the scene complexity looks like without shadows: &lt;br /&gt;
[[File:light_complexity_no_shadows.png|alt=|frame|left]] {{clr}} }}&lt;br /&gt;
|-&lt;br /&gt;
|Overdraw&lt;br /&gt;
|Creates a [https://en.wikipedia.org/wiki/Heat_map heat map] that shows how much translucent overdraw each pixel receives. Overdraw is how many times a pixel gets rendered to.{{clarify}}&amp;lt;br&amp;gt;'''The goal should be that no part of the screen is red'''. It does not matter that much if only a small part is, however.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:translucent_overdraw.png|alt=|left|650x650px|On the left you can see the scene rendered normally. The fog particles are barely visible here. On the right the pixel overdraw is rendered. The red areas show that more than 32 translucent planes are rendered, which is not good.|thumb]]&lt;br /&gt;
&amp;lt;br /&amp;gt; {{bug|This option seems to be broken.}}&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6313</id>
		<title>HPL3/SOMA/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6313"/>
		<updated>2022-01-17T17:39:21Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Graphics Debug */ Updated formatting and added a few missing options. Still need to fill in a few rendering options (portal debug + occluders)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{bug|Using F5 (or the debug menu 'Reload Game' option) while using mod content that overrides a base game asset will result in the game reverting to the original unmodified asset until the game is restarted. Reload the map using the 'Load Map' debug menu option to prevent this!}}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
{{expandBox|[[File:Hpl3-soma-debug-menu.png|alt=|left|902x902px]]}}{{clr}}&lt;br /&gt;
&lt;br /&gt;
==Debug Texts==&lt;br /&gt;
This section is at the very top of the menu and consists of checkboxes which display different information about the game, map, physics, script, etc on in the form of text on the screen.&lt;br /&gt;
===Texts Options===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|Show module info&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show map info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Show entity info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds additional information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound ai event&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
|-&lt;br /&gt;
|Show debug messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Draw physics debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay physics debug&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Draw Gui debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Show TV Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Info Window&lt;br /&gt;
|Displays a window with debug information. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping Entities&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Additional Options===&lt;br /&gt;
&lt;br /&gt;
====Brightness====&lt;br /&gt;
The brightness slide increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
----&lt;br /&gt;
====Print Container Debug Info====&lt;br /&gt;
This button prints container debug info to the screen.&lt;br /&gt;
{{Bug|The button makes the game crash.}}&lt;br /&gt;
----&lt;br /&gt;
====Merge Lang Files====&lt;br /&gt;
Merges two language files between the main game language file and another.&lt;br /&gt;
{{note|This feature doesn't seem to be useful in practice.}}&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto Reload Resource&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script At Task Switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script Constantly&lt;br /&gt;
|The script file for the map will be updated constantly every time it is saved. It doesn't matter if the game task is focused or not.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Leftover feature from HPL2. The button does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Reload from current pos&lt;br /&gt;
|When reloading a map, the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload Game&lt;br /&gt;
|Reloads the map. This also resets the state of the player and all the other scripts which run in the background.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features and is useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted.&lt;br /&gt;
{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to Start Pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;very high&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Game==&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file.&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only.&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Messages&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages.&lt;br /&gt;
|-&lt;br /&gt;
|Game Paused (F2)&lt;br /&gt;
|Pauses the game.&lt;br /&gt;
|-&lt;br /&gt;
|Pause at window open/close&lt;br /&gt;
|Toggles if opening (or closing) the debug menu should pause/resume the game.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Forward (F3)&lt;br /&gt;
|Makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow Down (F3)&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam (F7)&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Teleport player to camera&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Teleport camera to player&lt;br /&gt;
|Teleports the spectator camera to the player&lt;br /&gt;
|-&lt;br /&gt;
|CamSpeed&lt;br /&gt;
|Sets the spectator camera movement speed.&lt;br /&gt;
|-&lt;br /&gt;
|Show player collider&lt;br /&gt;
|Toggles visibility of the player collider (usually only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Always teleport player to camera&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Leftover from HPL2. Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|If only input from the gamepad should be allowed to move the player. Useful for playing back an input recording and being allowed to control the spec camera with the mouse and keyboard.&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file. {{Bug|It is unknown if this feature works. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Stress Test==&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Unlimited Random Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
The misc section include options which don't fit anywhere else.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a global or map specific voice subject. Use the selection box below this option to select the voice subject to play.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch. {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Graphics Debug==&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:Hpl3-fps-graph.png|thumb|left|FPS graph.|500x500px]]&lt;br /&gt;
|-&lt;br /&gt;
|Large Light Test&lt;br /&gt;
|Unknown option.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:Occlusion_preview.png|alt=|thumb|left|500x500px|On the left, you can see what the player sees. On the right, the camera has been moved back and it is now possible to see all the objects that get rendered this frame. There are a lot more than what it looks like in the left picture.]]&lt;br /&gt;
&amp;lt;br /&amp;gt; {{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Only Occluders&lt;br /&gt;
|Desc {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Render GBuffer&lt;br /&gt;
|Shows what the frame buffers look like. These are then used by the lights to shade the scene. It can be used to check if a model has incorrect textures or normals.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:G_buffer.png|alt=|thumb|left|500x500px|A scene in a g-buffer mode. Notice the different graphic modes.]]&lt;br /&gt;
|-&lt;br /&gt;
|Light Complexity&lt;br /&gt;
|Light complexity shows how expensive the lighting of a scene is. It creates a heat map on the screen to show how much power each light takes. Overdraw of light is not very expensive, it is about twice as expensive as a translucent object. When the light has a shadow map it becomes much more expensive. The complexity of a shadow casting light is based on how many draw calls and triangles are required to generate the shadow map.&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:Light_complexity.png|alt=|left|thumb|500x500px|The red areas on the right image are not good. There seem to be multiple large (in screen space) shadow casting lights in this scene.]] {{clr}}&lt;br /&gt;
{{tip|To test if most of the complexity comes from shadows or not, you can toggle the &amp;lt;code&amp;gt;Draw Shadows&amp;lt;/code&amp;gt; checkbox in the menu. Here is what the scene complexity looks like without shadows: &lt;br /&gt;
[[File:light_complexity_no_shadows.png|alt=|frame|left]] {{clr}} }}&lt;br /&gt;
|-&lt;br /&gt;
|Overdraw&lt;br /&gt;
|Creates a [https://en.wikipedia.org/wiki/Heat_map heat map] that shows how much translucent overdraw each pixel receives. Overdraw is how many times a pixel gets rendered to.{{clarify}}&amp;lt;br&amp;gt;'''The goal should be that no part of the screen is red'''. It does not matter that much if only a small part is, however.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt; [[File:translucent_overdraw.png|alt=|left|650x650px|On the left you can see the scene rendered normally. The fog particles are barely visible here. On the right the pixel overdraw is rendered. The red areas show that more than 32 translucent planes are rendered, which is not good.|thumb]] {{clr}}&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6312</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6312"/>
		<updated>2022-01-17T17:28:31Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Graphics Debug */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within &amp;lt;code&amp;gt;FearHandler.hps&amp;lt;/code&amp;gt;. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Allows you to reduce the area that the debug outputs display in.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|left]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are not in the view of the player).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Set custom platform suffix {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6311</id>
		<title>HPL3/SOMA/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6311"/>
		<updated>2022-01-17T17:26:28Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Misc */ Added section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{bug|Using F5 (or the debug menu 'Reload Game' option) while using mod content that overrides a base game asset will result in the game reverting to the original unmodified asset until the game is restarted. Reload the map using the 'Load Map' debug menu option to prevent this!}}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
{{expandBox|[[File:Hpl3-soma-debug-menu.png|alt=|left|902x902px]]}}{{clr}}&lt;br /&gt;
&lt;br /&gt;
==Debug Texts==&lt;br /&gt;
This section is at the very top of the menu and consists of checkboxes which display different information about the game, map, physics, script, etc on in the form of text on the screen.&lt;br /&gt;
===Texts Options===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|Show module info&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show map info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Show entity info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds additional information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound ai event&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
|-&lt;br /&gt;
|Show debug messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Draw physics debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay physics debug&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Draw Gui debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Show TV Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Info Window&lt;br /&gt;
|Displays a window with debug information. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping Entities&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Additional Options===&lt;br /&gt;
&lt;br /&gt;
====Brightness====&lt;br /&gt;
The brightness slide increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
----&lt;br /&gt;
====Print Container Debug Info====&lt;br /&gt;
This button prints container debug info to the screen.&lt;br /&gt;
{{Bug|The button makes the game crash.}}&lt;br /&gt;
----&lt;br /&gt;
====Merge Lang Files====&lt;br /&gt;
Merges two language files between the main game language file and another.&lt;br /&gt;
{{note|This feature doesn't seem to be useful in practice.}}&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto Reload Resource&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script At Task Switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script Constantly&lt;br /&gt;
|The script file for the map will be updated constantly every time it is saved. It doesn't matter if the game task is focused or not.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Leftover feature from HPL2. The button does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Reload from current pos&lt;br /&gt;
|When reloading a map, the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload Game&lt;br /&gt;
|Reloads the map. This also resets the state of the player and all the other scripts which run in the background.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features and is useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted.&lt;br /&gt;
{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to Start Pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;very high&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Game==&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file.&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only.&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Messages&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages.&lt;br /&gt;
|-&lt;br /&gt;
|Game Paused (F2)&lt;br /&gt;
|Pauses the game.&lt;br /&gt;
|-&lt;br /&gt;
|Pause at window open/close&lt;br /&gt;
|Toggles if opening (or closing) the debug menu should pause/resume the game.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Forward (F3)&lt;br /&gt;
|Makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow Down (F3)&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam (F7)&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Teleport player to camera&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Teleport camera to player&lt;br /&gt;
|Teleports the spectator camera to the player&lt;br /&gt;
|-&lt;br /&gt;
|CamSpeed&lt;br /&gt;
|Sets the spectator camera movement speed.&lt;br /&gt;
|-&lt;br /&gt;
|Show player collider&lt;br /&gt;
|Toggles visibility of the player collider (usually only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Always teleport player to camera&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Leftover from HPL2. Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|If only input from the gamepad should be allowed to move the player. Useful for playing back an input recording and being allowed to control the spec camera with the mouse and keyboard.&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file. {{Bug|It is unknown if this feature works. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Stress Test==&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Unlimited Random Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
The misc section include options which don't fit anywhere else.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a global or map specific voice subject. Use the selection box below this option to select the voice subject to play.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch. {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Graphics Debug==&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
&lt;br /&gt;
===Show FPS Graph===&lt;br /&gt;
This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
[[File:Hpl3-fps-graph.png|thumb|left|FPS graph.|500x500px]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
===Large Light Test===&lt;br /&gt;
Unknown option.&lt;br /&gt;
&lt;br /&gt;
===Previous Frame Occlusion===&lt;br /&gt;
This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.&lt;br /&gt;
&lt;br /&gt;
[[File:Occlusion_preview.png|alt=|thumb|left|500x500px|On the left, you can see what the player sees. On the right, the camera has been moved back and it is now possible to see all the objects that get rendered this frame. There are a lot more than what it looks like in the left picture.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===GBuffer===&lt;br /&gt;
Shows what the frame buffers look like. These are then used by the lights to shade the scene. It can be used to check if a model has incorrect textures or normals.&lt;br /&gt;
[[File:G_buffer.png|alt=|thumb|left|500x500px|A scene in a g-buffer mode. Notice the different graphic modes.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===Light Complexity===&lt;br /&gt;
Light complexity shows how expensive the lighting of a scene is. It creates a heat map on the screen to show how much power each light takes. Overdraw of light is not very expensive, it is about twice as expensive as a translucent object. When the light has a shadow map it becomes much more expensive. The complexity of a shadow casting light is based on how many draw calls and triangles are required to generate the shadow map.&lt;br /&gt;
[[File:Light_complexity.png|alt=|left|thumb|500x500px|The red areas on the right image are not good. There seem to be multiple large (in screen space) shadow casting lights in this scene.&lt;br /&gt;
]] {{Clr}}&lt;br /&gt;
&lt;br /&gt;
{{tip|To test if most of the complexity comes from shadows or not, you can toggle the &amp;lt;code&amp;gt;Draw Shadows&amp;lt;/code&amp;gt; checkbox in the menu. Here is what the scene complexity looks like without shadows: {{clr}} [[File:light_complexity_no_shadows.png|alt=|frame|left]] {{clr}} }}&lt;br /&gt;
&lt;br /&gt;
===Overdraw===&lt;br /&gt;
Creates a [https://en.wikipedia.org/wiki/Heat_map heat map] that shows how much translucent overdraw each pixel receives. Overdraw is how many times a pixel gets rendered to.{{clarify}}&amp;lt;br&amp;gt;'''The goal should be that no part of the screen is red'''. It does not matter that much if only a small part is, however.&lt;br /&gt;
&lt;br /&gt;
[[File:translucent_overdraw.png|alt=|left|650x650px|On the left you can see the scene rendered normally. The fog particles are barely visible here. On the right the pixel overdraw is rendered. The red areas show that more than 32 translucent planes are rendered, which is not good.|thumb]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6310</id>
		<title>HPL3/SOMA/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6310"/>
		<updated>2022-01-17T17:20:43Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Stress Test */ Added section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{bug|Using F5 (or the debug menu 'Reload Game' option) while using mod content that overrides a base game asset will result in the game reverting to the original unmodified asset until the game is restarted. Reload the map using the 'Load Map' debug menu option to prevent this!}}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
{{expandBox|[[File:Hpl3-soma-debug-menu.png|alt=|left|902x902px]]}}{{clr}}&lt;br /&gt;
&lt;br /&gt;
==Debug Texts==&lt;br /&gt;
This section is at the very top of the menu and consists of checkboxes which display different information about the game, map, physics, script, etc on in the form of text on the screen.&lt;br /&gt;
===Texts Options===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|Show module info&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show map info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Show entity info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds additional information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound ai event&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
|-&lt;br /&gt;
|Show debug messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Draw physics debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay physics debug&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Draw Gui debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Show TV Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Info Window&lt;br /&gt;
|Displays a window with debug information. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping Entities&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Additional Options===&lt;br /&gt;
&lt;br /&gt;
====Brightness====&lt;br /&gt;
The brightness slide increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
----&lt;br /&gt;
====Print Container Debug Info====&lt;br /&gt;
This button prints container debug info to the screen.&lt;br /&gt;
{{Bug|The button makes the game crash.}}&lt;br /&gt;
----&lt;br /&gt;
====Merge Lang Files====&lt;br /&gt;
Merges two language files between the main game language file and another.&lt;br /&gt;
{{note|This feature doesn't seem to be useful in practice.}}&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto Reload Resource&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script At Task Switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script Constantly&lt;br /&gt;
|The script file for the map will be updated constantly every time it is saved. It doesn't matter if the game task is focused or not.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Leftover feature from HPL2. The button does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Reload from current pos&lt;br /&gt;
|When reloading a map, the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload Game&lt;br /&gt;
|Reloads the map. This also resets the state of the player and all the other scripts which run in the background.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features and is useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted.&lt;br /&gt;
{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to Start Pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;very high&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Game==&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file.&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only.&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Messages&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages.&lt;br /&gt;
|-&lt;br /&gt;
|Game Paused (F2)&lt;br /&gt;
|Pauses the game.&lt;br /&gt;
|-&lt;br /&gt;
|Pause at window open/close&lt;br /&gt;
|Toggles if opening (or closing) the debug menu should pause/resume the game.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Forward (F3)&lt;br /&gt;
|Makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow Down (F3)&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam (F7)&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Teleport player to camera&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Teleport camera to player&lt;br /&gt;
|Teleports the spectator camera to the player&lt;br /&gt;
|-&lt;br /&gt;
|CamSpeed&lt;br /&gt;
|Sets the spectator camera movement speed.&lt;br /&gt;
|-&lt;br /&gt;
|Show player collider&lt;br /&gt;
|Toggles visibility of the player collider (usually only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Always teleport player to camera&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Leftover from HPL2. Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|If only input from the gamepad should be allowed to move the player. Useful for playing back an input recording and being allowed to control the spec camera with the mouse and keyboard.&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file. {{Bug|It is unknown if this feature works. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Stress Test==&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Unlimited Random Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
The misc section include options which don't fit anywhere else.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Graphics Debug==&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
&lt;br /&gt;
===Show FPS Graph===&lt;br /&gt;
This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
[[File:Hpl3-fps-graph.png|thumb|left|FPS graph.|500x500px]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
===Large Light Test===&lt;br /&gt;
Unknown option.&lt;br /&gt;
&lt;br /&gt;
===Previous Frame Occlusion===&lt;br /&gt;
This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.&lt;br /&gt;
&lt;br /&gt;
[[File:Occlusion_preview.png|alt=|thumb|left|500x500px|On the left, you can see what the player sees. On the right, the camera has been moved back and it is now possible to see all the objects that get rendered this frame. There are a lot more than what it looks like in the left picture.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===GBuffer===&lt;br /&gt;
Shows what the frame buffers look like. These are then used by the lights to shade the scene. It can be used to check if a model has incorrect textures or normals.&lt;br /&gt;
[[File:G_buffer.png|alt=|thumb|left|500x500px|A scene in a g-buffer mode. Notice the different graphic modes.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===Light Complexity===&lt;br /&gt;
Light complexity shows how expensive the lighting of a scene is. It creates a heat map on the screen to show how much power each light takes. Overdraw of light is not very expensive, it is about twice as expensive as a translucent object. When the light has a shadow map it becomes much more expensive. The complexity of a shadow casting light is based on how many draw calls and triangles are required to generate the shadow map.&lt;br /&gt;
[[File:Light_complexity.png|alt=|left|thumb|500x500px|The red areas on the right image are not good. There seem to be multiple large (in screen space) shadow casting lights in this scene.&lt;br /&gt;
]] {{Clr}}&lt;br /&gt;
&lt;br /&gt;
{{tip|To test if most of the complexity comes from shadows or not, you can toggle the &amp;lt;code&amp;gt;Draw Shadows&amp;lt;/code&amp;gt; checkbox in the menu. Here is what the scene complexity looks like without shadows: {{clr}} [[File:light_complexity_no_shadows.png|alt=|frame|left]] {{clr}} }}&lt;br /&gt;
&lt;br /&gt;
===Overdraw===&lt;br /&gt;
Creates a [https://en.wikipedia.org/wiki/Heat_map heat map] that shows how much translucent overdraw each pixel receives. Overdraw is how many times a pixel gets rendered to.{{clarify}}&amp;lt;br&amp;gt;'''The goal should be that no part of the screen is red'''. It does not matter that much if only a small part is, however.&lt;br /&gt;
&lt;br /&gt;
[[File:translucent_overdraw.png|alt=|left|650x650px|On the left you can see the scene rendered normally. The fog particles are barely visible here. On the right the pixel overdraw is rendered. The red areas show that more than 32 translucent planes are rendered, which is not good.|thumb]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6309</id>
		<title>HPL3/SOMA/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6309"/>
		<updated>2022-01-17T17:15:00Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Input */ Added section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{bug|Using F5 (or the debug menu 'Reload Game' option) while using mod content that overrides a base game asset will result in the game reverting to the original unmodified asset until the game is restarted. Reload the map using the 'Load Map' debug menu option to prevent this!}}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
{{expandBox|[[File:Hpl3-soma-debug-menu.png|alt=|left|902x902px]]}}{{clr}}&lt;br /&gt;
&lt;br /&gt;
==Debug Texts==&lt;br /&gt;
This section is at the very top of the menu and consists of checkboxes which display different information about the game, map, physics, script, etc on in the form of text on the screen.&lt;br /&gt;
===Texts Options===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|Show module info&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show map info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Show entity info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds additional information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound ai event&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
|-&lt;br /&gt;
|Show debug messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Draw physics debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay physics debug&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Draw Gui debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Show TV Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Info Window&lt;br /&gt;
|Displays a window with debug information. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping Entities&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Additional Options===&lt;br /&gt;
&lt;br /&gt;
====Brightness====&lt;br /&gt;
The brightness slide increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
----&lt;br /&gt;
====Print Container Debug Info====&lt;br /&gt;
This button prints container debug info to the screen.&lt;br /&gt;
{{Bug|The button makes the game crash.}}&lt;br /&gt;
----&lt;br /&gt;
====Merge Lang Files====&lt;br /&gt;
Merges two language files between the main game language file and another.&lt;br /&gt;
{{note|This feature doesn't seem to be useful in practice.}}&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto Reload Resource&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script At Task Switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script Constantly&lt;br /&gt;
|The script file for the map will be updated constantly every time it is saved. It doesn't matter if the game task is focused or not.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Leftover feature from HPL2. The button does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Reload from current pos&lt;br /&gt;
|When reloading a map, the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload Game&lt;br /&gt;
|Reloads the map. This also resets the state of the player and all the other scripts which run in the background.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features and is useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted.&lt;br /&gt;
{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to Start Pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;very high&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Game==&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file.&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only.&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Messages&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages.&lt;br /&gt;
|-&lt;br /&gt;
|Game Paused (F2)&lt;br /&gt;
|Pauses the game.&lt;br /&gt;
|-&lt;br /&gt;
|Pause at window open/close&lt;br /&gt;
|Toggles if opening (or closing) the debug menu should pause/resume the game.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Forward (F3)&lt;br /&gt;
|Makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow Down (F3)&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam (F7)&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Teleport player to camera&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Teleport camera to player&lt;br /&gt;
|Teleports the spectator camera to the player&lt;br /&gt;
|-&lt;br /&gt;
|CamSpeed&lt;br /&gt;
|Sets the spectator camera movement speed.&lt;br /&gt;
|-&lt;br /&gt;
|Show player collider&lt;br /&gt;
|Toggles visibility of the player collider (usually only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Always teleport player to camera&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Leftover from HPL2. Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|If only input from the gamepad should be allowed to move the player. Useful for playing back an input recording and being allowed to control the spec camera with the mouse and keyboard.&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file. {{Bug|It is unknown if this feature works. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Stress Test==&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
The misc section include options which don't fit anywhere else.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Graphics Debug==&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
&lt;br /&gt;
===Show FPS Graph===&lt;br /&gt;
This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
[[File:Hpl3-fps-graph.png|thumb|left|FPS graph.|500x500px]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
===Large Light Test===&lt;br /&gt;
Unknown option.&lt;br /&gt;
&lt;br /&gt;
===Previous Frame Occlusion===&lt;br /&gt;
This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.&lt;br /&gt;
&lt;br /&gt;
[[File:Occlusion_preview.png|alt=|thumb|left|500x500px|On the left, you can see what the player sees. On the right, the camera has been moved back and it is now possible to see all the objects that get rendered this frame. There are a lot more than what it looks like in the left picture.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===GBuffer===&lt;br /&gt;
Shows what the frame buffers look like. These are then used by the lights to shade the scene. It can be used to check if a model has incorrect textures or normals.&lt;br /&gt;
[[File:G_buffer.png|alt=|thumb|left|500x500px|A scene in a g-buffer mode. Notice the different graphic modes.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===Light Complexity===&lt;br /&gt;
Light complexity shows how expensive the lighting of a scene is. It creates a heat map on the screen to show how much power each light takes. Overdraw of light is not very expensive, it is about twice as expensive as a translucent object. When the light has a shadow map it becomes much more expensive. The complexity of a shadow casting light is based on how many draw calls and triangles are required to generate the shadow map.&lt;br /&gt;
[[File:Light_complexity.png|alt=|left|thumb|500x500px|The red areas on the right image are not good. There seem to be multiple large (in screen space) shadow casting lights in this scene.&lt;br /&gt;
]] {{Clr}}&lt;br /&gt;
&lt;br /&gt;
{{tip|To test if most of the complexity comes from shadows or not, you can toggle the &amp;lt;code&amp;gt;Draw Shadows&amp;lt;/code&amp;gt; checkbox in the menu. Here is what the scene complexity looks like without shadows: {{clr}} [[File:light_complexity_no_shadows.png|alt=|frame|left]] {{clr}} }}&lt;br /&gt;
&lt;br /&gt;
===Overdraw===&lt;br /&gt;
Creates a [https://en.wikipedia.org/wiki/Heat_map heat map] that shows how much translucent overdraw each pixel receives. Overdraw is how many times a pixel gets rendered to.{{clarify}}&amp;lt;br&amp;gt;'''The goal should be that no part of the screen is red'''. It does not matter that much if only a small part is, however.&lt;br /&gt;
&lt;br /&gt;
[[File:translucent_overdraw.png|alt=|left|650x650px|On the left you can see the scene rendered normally. The fog particles are barely visible here. On the right the pixel overdraw is rendered. The red areas show that more than 32 translucent planes are rendered, which is not good.|thumb]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6308</id>
		<title>HPL3/SOMA/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6308"/>
		<updated>2022-01-17T16:43:44Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Game */ Added section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{bug|Using F5 (or the debug menu 'Reload Game' option) while using mod content that overrides a base game asset will result in the game reverting to the original unmodified asset until the game is restarted. Reload the map using the 'Load Map' debug menu option to prevent this!}}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
{{expandBox|[[File:Hpl3-soma-debug-menu.png|alt=|left|902x902px]]}}{{clr}}&lt;br /&gt;
&lt;br /&gt;
==Debug Texts==&lt;br /&gt;
This section is at the very top of the menu and consists of checkboxes which display different information about the game, map, physics, script, etc on in the form of text on the screen.&lt;br /&gt;
===Texts Options===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|Show module info&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show map info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Show entity info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds additional information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound ai event&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
|-&lt;br /&gt;
|Show debug messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Draw physics debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay physics debug&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Draw Gui debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Show TV Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Info Window&lt;br /&gt;
|Displays a window with debug information. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping Entities&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Additional Options===&lt;br /&gt;
&lt;br /&gt;
====Brightness====&lt;br /&gt;
The brightness slide increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
----&lt;br /&gt;
====Print Container Debug Info====&lt;br /&gt;
This button prints container debug info to the screen.&lt;br /&gt;
{{Bug|The button makes the game crash.}}&lt;br /&gt;
----&lt;br /&gt;
====Merge Lang Files====&lt;br /&gt;
Merges two language files between the main game language file and another.&lt;br /&gt;
{{note|This feature doesn't seem to be useful in practice.}}&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto Reload Resource&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script At Task Switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script Constantly&lt;br /&gt;
|The script file for the map will be updated constantly every time it is saved. It doesn't matter if the game task is focused or not.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Leftover feature from HPL2. The button does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Reload from current pos&lt;br /&gt;
|When reloading a map, the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload Game&lt;br /&gt;
|Reloads the map. This also resets the state of the player and all the other scripts which run in the background.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features and is useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted.&lt;br /&gt;
{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to Start Pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;very high&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Game==&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file.&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only.&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Messages&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages.&lt;br /&gt;
|-&lt;br /&gt;
|Game Paused (F2)&lt;br /&gt;
|Pauses the game.&lt;br /&gt;
|-&lt;br /&gt;
|Pause at window open/close&lt;br /&gt;
|Toggles if opening (or closing) the debug menu should pause/resume the game.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Forward (F3)&lt;br /&gt;
|Makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow Down (F3)&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam (F7)&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Teleport player to camera&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Teleport camera to player&lt;br /&gt;
|Teleports the spectator camera to the player&lt;br /&gt;
|-&lt;br /&gt;
|CamSpeed&lt;br /&gt;
|Sets the spectator camera movement speed.&lt;br /&gt;
|-&lt;br /&gt;
|Show player collider&lt;br /&gt;
|Toggles visibility of the player collider (usually only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Always teleport player to camera&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown option {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Leftover from HPL2. Does nothing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Stress Test==&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
The misc section include options which don't fit anywhere else.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Graphics Debug==&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
&lt;br /&gt;
===Show FPS Graph===&lt;br /&gt;
This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
[[File:Hpl3-fps-graph.png|thumb|left|FPS graph.|500x500px]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
===Large Light Test===&lt;br /&gt;
Unknown option.&lt;br /&gt;
&lt;br /&gt;
===Previous Frame Occlusion===&lt;br /&gt;
This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.&lt;br /&gt;
&lt;br /&gt;
[[File:Occlusion_preview.png|alt=|thumb|left|500x500px|On the left, you can see what the player sees. On the right, the camera has been moved back and it is now possible to see all the objects that get rendered this frame. There are a lot more than what it looks like in the left picture.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===GBuffer===&lt;br /&gt;
Shows what the frame buffers look like. These are then used by the lights to shade the scene. It can be used to check if a model has incorrect textures or normals.&lt;br /&gt;
[[File:G_buffer.png|alt=|thumb|left|500x500px|A scene in a g-buffer mode. Notice the different graphic modes.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===Light Complexity===&lt;br /&gt;
Light complexity shows how expensive the lighting of a scene is. It creates a heat map on the screen to show how much power each light takes. Overdraw of light is not very expensive, it is about twice as expensive as a translucent object. When the light has a shadow map it becomes much more expensive. The complexity of a shadow casting light is based on how many draw calls and triangles are required to generate the shadow map.&lt;br /&gt;
[[File:Light_complexity.png|alt=|left|thumb|500x500px|The red areas on the right image are not good. There seem to be multiple large (in screen space) shadow casting lights in this scene.&lt;br /&gt;
]] {{Clr}}&lt;br /&gt;
&lt;br /&gt;
{{tip|To test if most of the complexity comes from shadows or not, you can toggle the &amp;lt;code&amp;gt;Draw Shadows&amp;lt;/code&amp;gt; checkbox in the menu. Here is what the scene complexity looks like without shadows: {{clr}} [[File:light_complexity_no_shadows.png|alt=|frame|left]] {{clr}} }}&lt;br /&gt;
&lt;br /&gt;
===Overdraw===&lt;br /&gt;
Creates a [https://en.wikipedia.org/wiki/Heat_map heat map] that shows how much translucent overdraw each pixel receives. Overdraw is how many times a pixel gets rendered to.{{clarify}}&amp;lt;br&amp;gt;'''The goal should be that no part of the screen is red'''. It does not matter that much if only a small part is, however.&lt;br /&gt;
&lt;br /&gt;
[[File:translucent_overdraw.png|alt=|left|650x650px|On the left you can see the scene rendered normally. The fog particles are barely visible here. On the right the pixel overdraw is rendered. The red areas show that more than 32 translucent planes are rendered, which is not good.|thumb]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6307</id>
		<title>HPL3/SOMA/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6307"/>
		<updated>2022-01-17T16:26:33Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Map */ Updated formatting, fixed some incorrect info, and added missing option&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{bug|Using F5 (or the debug menu 'Reload Game' option) while using mod content that overrides a base game asset will result in the game reverting to the original unmodified asset until the game is restarted. Reload the map using the 'Load Map' debug menu option to prevent this!}}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
{{expandBox|[[File:Hpl3-soma-debug-menu.png|alt=|left|902x902px]]}}{{clr}}&lt;br /&gt;
&lt;br /&gt;
==Debug Texts==&lt;br /&gt;
This section is at the very top of the menu and consists of checkboxes which display different information about the game, map, physics, script, etc on in the form of text on the screen.&lt;br /&gt;
===Texts Options===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|Show module info&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show map info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Show entity info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds additional information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound ai event&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
|-&lt;br /&gt;
|Show debug messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Draw physics debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay physics debug&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Draw Gui debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Show TV Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Info Window&lt;br /&gt;
|Displays a window with debug information. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping Entities&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Additional Options===&lt;br /&gt;
&lt;br /&gt;
====Brightness====&lt;br /&gt;
The brightness slide increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
----&lt;br /&gt;
====Print Container Debug Info====&lt;br /&gt;
This button prints container debug info to the screen.&lt;br /&gt;
{{Bug|The button makes the game crash.}}&lt;br /&gt;
----&lt;br /&gt;
====Merge Lang Files====&lt;br /&gt;
Merges two language files between the main game language file and another.&lt;br /&gt;
{{note|This feature doesn't seem to be useful in practice.}}&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto Reload Resource&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script At Task Switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload Script Constantly&lt;br /&gt;
|The script file for the map will be updated constantly every time it is saved. It doesn't matter if the game task is focused or not.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Leftover feature from HPL2. The button does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Reload from current pos&lt;br /&gt;
|When reloading a map, the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload Game&lt;br /&gt;
|Reloads the map. This also resets the state of the player and all the other scripts which run in the background.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features and is useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted.&lt;br /&gt;
{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to Start Pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;very high&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Game==&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Stress Test==&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
The misc section include options which don't fit anywhere else.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Graphics Debug==&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
&lt;br /&gt;
===Show FPS Graph===&lt;br /&gt;
This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
[[File:Hpl3-fps-graph.png|thumb|left|FPS graph.|500x500px]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
===Large Light Test===&lt;br /&gt;
Unknown option.&lt;br /&gt;
&lt;br /&gt;
===Previous Frame Occlusion===&lt;br /&gt;
This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.&lt;br /&gt;
&lt;br /&gt;
[[File:Occlusion_preview.png|alt=|thumb|left|500x500px|On the left, you can see what the player sees. On the right, the camera has been moved back and it is now possible to see all the objects that get rendered this frame. There are a lot more than what it looks like in the left picture.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===GBuffer===&lt;br /&gt;
Shows what the frame buffers look like. These are then used by the lights to shade the scene. It can be used to check if a model has incorrect textures or normals.&lt;br /&gt;
[[File:G_buffer.png|alt=|thumb|left|500x500px|A scene in a g-buffer mode. Notice the different graphic modes.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===Light Complexity===&lt;br /&gt;
Light complexity shows how expensive the lighting of a scene is. It creates a heat map on the screen to show how much power each light takes. Overdraw of light is not very expensive, it is about twice as expensive as a translucent object. When the light has a shadow map it becomes much more expensive. The complexity of a shadow casting light is based on how many draw calls and triangles are required to generate the shadow map.&lt;br /&gt;
[[File:Light_complexity.png|alt=|left|thumb|500x500px|The red areas on the right image are not good. There seem to be multiple large (in screen space) shadow casting lights in this scene.&lt;br /&gt;
]] {{Clr}}&lt;br /&gt;
&lt;br /&gt;
{{tip|To test if most of the complexity comes from shadows or not, you can toggle the &amp;lt;code&amp;gt;Draw Shadows&amp;lt;/code&amp;gt; checkbox in the menu. Here is what the scene complexity looks like without shadows: {{clr}} [[File:light_complexity_no_shadows.png|alt=|frame|left]] {{clr}} }}&lt;br /&gt;
&lt;br /&gt;
===Overdraw===&lt;br /&gt;
Creates a [https://en.wikipedia.org/wiki/Heat_map heat map] that shows how much translucent overdraw each pixel receives. Overdraw is how many times a pixel gets rendered to.{{clarify}}&amp;lt;br&amp;gt;'''The goal should be that no part of the screen is red'''. It does not matter that much if only a small part is, however.&lt;br /&gt;
&lt;br /&gt;
[[File:translucent_overdraw.png|alt=|left|650x650px|On the left you can see the scene rendered normally. The fog particles are barely visible here. On the right the pixel overdraw is rendered. The red areas show that more than 32 translucent planes are rendered, which is not good.|thumb]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6286</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6286"/>
		<updated>2021-09-15T10:23:35Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Graphics Debug */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within &amp;lt;code&amp;gt;FearHandler.hps&amp;lt;/code&amp;gt;. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Allows you to reduce the area that the debug outputs display in.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are not in the view of the player).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Set custom platform suffix {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6285</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6285"/>
		<updated>2021-09-15T10:10:48Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Map &amp;amp; Scene */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within &amp;lt;code&amp;gt;FearHandler.hps&amp;lt;/code&amp;gt;. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Allows you to reduce the area that the debug outputs display in.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Set custom platform suffix {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6284</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6284"/>
		<updated>2021-09-15T10:07:32Z</updated>

		<summary type="html">&lt;p&gt;Crater: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Allows you to reduce the area that the debug outputs display in.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Set custom platform suffix {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6283</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6283"/>
		<updated>2021-09-15T09:59:06Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Debug */ clarified display safe area slider&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Allows you to reduce the area that the debug outputs display in.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Set custom platform suffix {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6282</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6282"/>
		<updated>2021-09-15T09:55:24Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Platform &amp;amp; Language */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Set custom platform suffix {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6281</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6281"/>
		<updated>2021-09-15T09:54:56Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Platform &amp;amp; Language */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Set custom platform suffix {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6280</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6280"/>
		<updated>2021-09-15T09:54:41Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Platform &amp;amp; Language */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Set custom platform suffix {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6279</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6279"/>
		<updated>2021-09-15T09:54:04Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Graphics Debug */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash. {{confirm}} }} &lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6278</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6278"/>
		<updated>2021-09-15T09:53:38Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Graphics Debug */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}} {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6277</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6277"/>
		<updated>2021-09-15T09:52:47Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Debug UI Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4. {{bug|Setting this value too low or too high can crash the game. Only set it to sane values.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6276</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6276"/>
		<updated>2021-09-15T09:51:32Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Debug UI Settings */ Added descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Changes the max number of lines that can be printed to the in game debug log (bottom left messages).&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Toggles pausing the game when opening the debug menu (defaults to on)&lt;br /&gt;
|-&lt;br /&gt;
|Set Fast Forward Mul&lt;br /&gt;
|Allows you to change the speed of the Fast Forward option (F3). Defaults to 4.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6275</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6275"/>
		<updated>2021-09-15T09:48:00Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Profile */ Added descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Enables the CPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Enables the GPU Profiler.&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Pauses profile updates.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Only profile longest frame.&lt;br /&gt;
|-&lt;br /&gt;
|Profile Filter&lt;br /&gt;
|Enter profile layers. Separate with a space. Valid options are: &amp;lt;code&amp;gt;EngineLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;GameLoop&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;RenderAll&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Variable&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Message_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;HPL_Scene_PostUpdate&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;Physics&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6274</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6274"/>
		<updated>2021-09-15T09:44:05Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Stress Test */ Added missing descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Analyzes and prints potential map issues to the HPL log (temp materials, invalid materials, objects placed outside of the clip range, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Analyzes and prints entity info to the HPL log (instances, triangles, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Analyzes and prints material info to the HPL log (instances, VRAM usage, etc).&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Analyzes and prints active entities to the HPL log.&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Enter the name of a resource and press button. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Spams random mouse and keyboard inputs. Can result in stuck keys when released.&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Applies random physic forces to all entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Stress test map batch&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6273</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6273"/>
		<updated>2021-09-15T09:36:44Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Input */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6272</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6272"/>
		<updated>2021-09-15T09:36:31Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Input */ added descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Disables mouse and keyboard inputs (can still be used on the debug menu)&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Starts / Stops input recording and saves to file.&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Play selected input recording.&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6271</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6271"/>
		<updated>2021-09-15T09:33:57Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Events */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Unknown if this option works {{confirm}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6270</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6270"/>
		<updated>2021-09-15T09:29:38Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Voices */ Added missing descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. {{confirm}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Allows you to manually play a voice subject (Seems to list only global voices {{confirm}})&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Reloads .voice files on task switch {{confirm}} (see 'Reload Script at Task Switch' for more info)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6269</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6269"/>
		<updated>2021-09-15T09:26:47Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Music */ added descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Allows you to manually play an .ogg music track.&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Stops all currently playing music tracks.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. (VERIFY)&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6268</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6268"/>
		<updated>2021-09-15T09:25:44Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Resources */  filled in missing descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Allows loading of assets found in _temp folders. This is off by default.&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Prints duplicate files to the debug log.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. (VERIFY)&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6267</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6267"/>
		<updated>2021-09-15T09:23:31Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Graphics Debug */ Filled in some missing descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;State Changes&amp;lt;/u&amp;gt; - {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Enables visibility of entity skeletons.&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Offsets skeletons a few meters in front of the entity.&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Enables wireframe rendering.&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
{{bug|This option seems to be broken.}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|The gamma slider increases / decreases the gamma. Note the gamma also affects the debug menu itself so be careful not to set it too dark.&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|The contrast slider increases / decreases the contrast of the game. Be careful not to set it too low or the entire game, debug menu included, will be solid grey.&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Unknown Option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Disables all post effects. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Toggles shadow visibility. {{bug|Shadows don't always show up after re-enabling this option. If this occurs, toggle &amp;quot;Render Portal Debug&amp;quot; on/off to fix.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. (VERIFY)&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6266</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6266"/>
		<updated>2021-09-15T09:08:43Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Graphics Debug */ formatting, removed duplicated table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. (VERIFY)&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6265</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6265"/>
		<updated>2021-09-15T09:08:18Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Debug */ Added many missing descriptions and clarified/fixed some incorrect ones.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Displays information about lights in the map. &lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Toggles debug message visibility, including debug messages added with &amp;lt;code&amp;gt;cLux_AddDebugMessage()&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Toggles visibility of notes placed on objects in the map editor. &lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Toggles the Debug Info window. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Hides the player crosshair. This includes crosshair and interaction icons.&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Hides hints from showing up. They'll still trigger but won't be visible.&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Hides the fear tentacle effect that occurs when you have high fear. Useful for screenshots.&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Toggles visibility of the player collider (only visible when spectator camera is enabled).&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Displays the light grid. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|While Light Level Grid is enabled, only display points that are in shadow.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|}&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. (VERIFY)&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6264</id>
		<title>HPL3/SOMA/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/SOMA/Modding/Developer_Debug_Menu&amp;diff=6264"/>
		<updated>2021-09-15T09:06:26Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Texts Options */ updated entity/module info descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{bug|Using F5 (or the debug menu 'Reload Game' option) while using mod content that overrides a base game asset will result in the game reverting to the original unmodified asset until the game is restarted. Reload the map using the 'Load Map' debug menu option to prevent this!}}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
{{expandBox|[[File:Hpl3-soma-debug-menu.png|alt=|left|902x902px]]}}{{clr}}&lt;br /&gt;
&lt;br /&gt;
==Debug Texts==&lt;br /&gt;
This section is at the very top of the menu and consists of checkboxes which display different information about the game, map, physics, script, etc on in the form of text on the screen.&lt;br /&gt;
===Texts Options===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|Show module info&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. Add custom debug outputs in the modules &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show map info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Show entity info&lt;br /&gt;
|Shows information about different entities (such as agents) in the map. If an entity is using the pathfinder component, area nodes and the navmesh will be visible. Add custom debug outputs in the entities &amp;lt;code&amp;gt;DrawDebugOutput()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds additional information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound ai event&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
|-&lt;br /&gt;
|Show debug messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work.&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Enables inspection mode, which displays information about assets used in the map, such as texture files, location on disk, size, etc.&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Draw physics debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay physics debug&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Draw Gui debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Show TV Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show Debug Info Window&lt;br /&gt;
|Displays a window with debug information. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping Entities&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Additional Options===&lt;br /&gt;
&lt;br /&gt;
====Brightness====&lt;br /&gt;
The brightness slide increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
----&lt;br /&gt;
====Print Container Debug Info====&lt;br /&gt;
This button prints container debug info to the screen.&lt;br /&gt;
{{Bug|The button makes the game crash.}}&lt;br /&gt;
----&lt;br /&gt;
====Merge Lang Files====&lt;br /&gt;
Merges two language files between the main game language file and another.&lt;br /&gt;
{{note|This feature doesn't seem to be useful in practice.}}&lt;br /&gt;
&lt;br /&gt;
==Map==&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
&lt;br /&gt;
===Auto Reload Resources===&lt;br /&gt;
This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
&lt;br /&gt;
===Reload Script At Task Switch===&lt;br /&gt;
The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
&lt;br /&gt;
===Reload Script Constantly===&lt;br /&gt;
The script file for the map will be updated constantly every time it is saved. It doesn't matter if the game task is focused or not.&lt;br /&gt;
&lt;br /&gt;
===Recompile Script and Lang===&lt;br /&gt;
Leftover feature from HPL2. The button does not work.&lt;br /&gt;
&lt;br /&gt;
===Reload from current pos===&lt;br /&gt;
When reloading a map, the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
&lt;br /&gt;
===Fast Physics Load===&lt;br /&gt;
Unknown option. {{Clarify}}&lt;br /&gt;
&lt;br /&gt;
===Reload Game===&lt;br /&gt;
Reloads the map. This also resets the state of the player and all the other scripts which run in the background.&lt;br /&gt;
&lt;br /&gt;
===Script Debug===&lt;br /&gt;
Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teleport to Start Pos===&lt;br /&gt;
Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
&lt;br /&gt;
===Load Map===&lt;br /&gt;
Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted.&lt;br /&gt;
{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
&lt;br /&gt;
===Test Change Map Save===&lt;br /&gt;
Unknown option. {{clarify}}&lt;br /&gt;
&lt;br /&gt;
===Preload Map===&lt;br /&gt;
Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
&lt;br /&gt;
===Start Preloaded Map===&lt;br /&gt;
Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
&lt;br /&gt;
===Keep Previous Map Loaded===&lt;br /&gt;
Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
&lt;br /&gt;
===Preload Priority===&lt;br /&gt;
Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;very high&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Game==&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Input==&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Stress Test==&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
The misc section include options which don't fit anywhere else.&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
==Graphics Debug==&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
&lt;br /&gt;
===Show FPS Graph===&lt;br /&gt;
This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
[[File:Hpl3-fps-graph.png|thumb|left|FPS graph.|500x500px]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
===Large Light Test===&lt;br /&gt;
Unknown option.&lt;br /&gt;
&lt;br /&gt;
===Previous Frame Occlusion===&lt;br /&gt;
This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.&lt;br /&gt;
&lt;br /&gt;
[[File:Occlusion_preview.png|alt=|thumb|left|500x500px|On the left, you can see what the player sees. On the right, the camera has been moved back and it is now possible to see all the objects that get rendered this frame. There are a lot more than what it looks like in the left picture.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===GBuffer===&lt;br /&gt;
Shows what the frame buffers look like. These are then used by the lights to shade the scene. It can be used to check if a model has incorrect textures or normals.&lt;br /&gt;
[[File:G_buffer.png|alt=|thumb|left|500x500px|A scene in a g-buffer mode. Notice the different graphic modes.]]{{clr}}&lt;br /&gt;
&lt;br /&gt;
===Light Complexity===&lt;br /&gt;
Light complexity shows how expensive the lighting of a scene is. It creates a heat map on the screen to show how much power each light takes. Overdraw of light is not very expensive, it is about twice as expensive as a translucent object. When the light has a shadow map it becomes much more expensive. The complexity of a shadow casting light is based on how many draw calls and triangles are required to generate the shadow map.&lt;br /&gt;
[[File:Light_complexity.png|alt=|left|thumb|500x500px|The red areas on the right image are not good. There seem to be multiple large (in screen space) shadow casting lights in this scene.&lt;br /&gt;
]] {{Clr}}&lt;br /&gt;
&lt;br /&gt;
{{tip|To test if most of the complexity comes from shadows or not, you can toggle the &amp;lt;code&amp;gt;Draw Shadows&amp;lt;/code&amp;gt; checkbox in the menu. Here is what the scene complexity looks like without shadows: {{clr}} [[File:light_complexity_no_shadows.png|alt=|frame|left]] {{clr}} }}&lt;br /&gt;
&lt;br /&gt;
===Overdraw===&lt;br /&gt;
Creates a [https://en.wikipedia.org/wiki/Heat_map heat map] that shows how much translucent overdraw each pixel receives. Overdraw is how many times a pixel gets rendered to.{{clarify}}&amp;lt;br&amp;gt;'''The goal should be that no part of the screen is red'''. It does not matter that much if only a small part is, however.&lt;br /&gt;
&lt;br /&gt;
[[File:translucent_overdraw.png|alt=|left|650x650px|On the left you can see the scene rendered normally. The fog particles are barely visible here. On the right the pixel overdraw is rendered. The red areas show that more than 32 translucent planes are rendered, which is not good.|thumb]] {{clr}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6263</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6263"/>
		<updated>2021-09-15T08:51:35Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Logging */ added ai/debug log descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Opens a window showing AI debug messages (created via script with the &amp;lt;code&amp;gt;cLux_AddAIDebugMessage()&amp;lt;/code&amp;gt; function)&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Opens a window showing the debug log, listing all previous debug messages. &lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. It does not seem to be useful however, as not enough information is displayed.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|}&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. (VERIFY)&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6262</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6262"/>
		<updated>2021-09-15T08:49:02Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Game &amp;amp; Script */ Added some missing descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster (by default). It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Teleports the spectator camera to the player {{bug|The spectator camera will teleport back to its last position unless you toggle it off and back on after teleporting.}}&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Teleports the player to the spectator camera.&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Enabling this will cause the player to always teleport to the spectator camera after toggling the camera off.&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc{{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Reload script constantly&lt;br /&gt;
|The script file for the map will be updated every frame. Meaning any changes made to the script will immediately be loaded in game. Usually you can just use the task switch option instead.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Unknown option. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. It does not seem to be useful however, as not enough information is displayed.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|}&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. (VERIFY)&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6261</id>
		<title>HPL3/Amnesia: Rebirth/Modding/Developer Debug Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.frictionalgames.com/page?title=HPL3/Amnesia:_Rebirth/Modding/Developer_Debug_Menu&amp;diff=6261"/>
		<updated>2021-09-15T08:42:30Z</updated>

		<summary type="html">&lt;p&gt;Crater: /* Map &amp;amp; Scene */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shortPageTitle}}&lt;br /&gt;
{{TocRight}}&lt;br /&gt;
When developing your mod, it is important to be able to have a fast feedback loop and have extensive set of tools which can help to test our mod. Exactly for that reason, we have the Developer Menu. This article goes in detail over the menu and all of its features. &lt;br /&gt;
&lt;br /&gt;
==Keyboard Shortcuts==&lt;br /&gt;
The following keyboard shortcuts are enabled during dev mode:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Shortcut Key&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|Brings up the developer debug menu. This needs to be done in order to have full access to the developer features when running a game in debug mode.&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|Pauses / Resumes the game world processes, basically makes the game freeze. Note that you can still noclip in this state.&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|F5&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
|-&lt;br /&gt;
|F7&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|F8&lt;br /&gt;
|Takes a screenshot of the game and saves it inside the main game folder.&lt;br /&gt;
|-&lt;br /&gt;
|F9&lt;br /&gt;
|Quick-saves the game.&lt;br /&gt;
|-&lt;br /&gt;
|F10&lt;br /&gt;
|Quick-loads the last save.&lt;br /&gt;
|-&lt;br /&gt;
|Insert&lt;br /&gt;
|Starts / Stops quick input recording and saves to the file QuickRecord.sav.&lt;br /&gt;
|-&lt;br /&gt;
|Home&lt;br /&gt;
|Starts playing back the last quick input recorded file.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Debug Menu==&lt;br /&gt;
The debug menu is where most of the work happens. There, you can find a list of useful actions which will help you in your mod development.&lt;br /&gt;
&lt;br /&gt;
You will find the actions and option grouped in the following categories:&lt;br /&gt;
&lt;br /&gt;
===CMD Debug===&lt;br /&gt;
Commands can be entered after pressing F1. Type the command and press Enter.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Command&lt;br /&gt;
!Action&lt;br /&gt;
|-&lt;br /&gt;
|help&lt;br /&gt;
|Prints usable commands to the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|ailog&lt;br /&gt;
|Opens the AI Log&lt;br /&gt;
|-&lt;br /&gt;
|dlog, debuglog&lt;br /&gt;
|Opens the Debug Log&lt;br /&gt;
|-&lt;br /&gt;
|einfo, entinfo, entityinfo&lt;br /&gt;
|Toggles the Entity Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|fps&lt;br /&gt;
|Toggles FPS counter&lt;br /&gt;
|-&lt;br /&gt;
|fpsg, fpsgraph&lt;br /&gt;
|Toggles the FPS Graph&lt;br /&gt;
|-&lt;br /&gt;
|god&lt;br /&gt;
|Toggles God Mode&lt;br /&gt;
|-&lt;br /&gt;
|hpllog&lt;br /&gt;
|Opens the HPL Log&lt;br /&gt;
|-&lt;br /&gt;
|light, lightlvl, lightlevel&lt;br /&gt;
|Toggles the Light Level Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|minfo, mapinfo&lt;br /&gt;
|Toggles the Map Info debug option&lt;br /&gt;
|-&lt;br /&gt;
|mem, memory&lt;br /&gt;
|Toggles the Memory Usage graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|mess, messages&lt;br /&gt;
|Toggles debug messages&lt;br /&gt;
|-&lt;br /&gt;
|module, modout, moduleout&lt;br /&gt;
|Toggles the Module Output debug option&lt;br /&gt;
|-&lt;br /&gt;
|notes&lt;br /&gt;
|Toggles the Notes debug option&lt;br /&gt;
|-&lt;br /&gt;
|pdebug, physicsdebug, physics&lt;br /&gt;
|Toggles Physics Debug&lt;br /&gt;
|-&lt;br /&gt;
|poverlay, physicsoverlay&lt;br /&gt;
|Toggles the Physics Overlay (if physics debug is enabled)&lt;br /&gt;
|-&lt;br /&gt;
|coll, pcoll, pcollider, collider&lt;br /&gt;
|Toggles visibility of the player collider&lt;br /&gt;
|-&lt;br /&gt;
|profile, profiler&lt;br /&gt;
|Toggles the Profiler&lt;br /&gt;
|-&lt;br /&gt;
|rinfo, rend, rendering&lt;br /&gt;
|Toggles the Rendering Info graphics debug option&lt;br /&gt;
|-&lt;br /&gt;
|sdebug, scriptdebug, debugscript&lt;br /&gt;
|Toggles Script Debug&lt;br /&gt;
|-&lt;br /&gt;
|hide, show, output, debugoutput, hidedebugoutput&lt;br /&gt;
|Toggles the Hide Debug Output debug option&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Game &amp;amp; Script===&lt;br /&gt;
The game section of the menu includes general-purposes option which affect how you play and move in the game. It also displays debug information such as scripting errors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the current map.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the option 'Reload from current pos' is checked,   the player will retain the current position instead of starting at the beginning of the map.&lt;br /&gt;
|-&lt;br /&gt;
|Pause&lt;br /&gt;
|Pauses the game&lt;br /&gt;
|-&lt;br /&gt;
|Reload&lt;br /&gt;
|Reloads the game&lt;br /&gt;
|-&lt;br /&gt;
|Fast&lt;br /&gt;
|This makes the game run 4 times faster. It is good if you want to skip specific sections in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Slow&lt;br /&gt;
|This makes the game run 4 times slower. It is good if you want to want to focus on something that happens very fast in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Script Debug&lt;br /&gt;
|Script Debug enables further scripting features that won't work otherwise, such as [[HPL3/Scripting/Scripting Guide/The OnAction method|OnAction]]. It is also useful to make your map behave differently. In your map script file, you may want to change the behavior of your map depends if the script debug is enabled or not. For example: &amp;lt;syntaxhighlight lang=&amp;quot;c++&amp;quot;&amp;gt;&lt;br /&gt;
// This script will enable the player's flashlight only if the script debug is on.&lt;br /&gt;
void OnStart()&lt;br /&gt;
{&lt;br /&gt;
  if (cScript_ScriptDebugOn()) // Checks if Script Debug option is turned on or not&lt;br /&gt;
  {&lt;br /&gt;
     Player_SetFlashlightDisabled(false);  &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|God Mode&lt;br /&gt;
|Makes the player invincible and prevents from getting chased by enemies.&lt;br /&gt;
|-&lt;br /&gt;
|Spectator Cam&lt;br /&gt;
|Enables / Disables spectator camera mode (noclip).&lt;br /&gt;
|-&lt;br /&gt;
|Slo-mo&lt;br /&gt;
|Toggles slow motion camera movement&lt;br /&gt;
|-&lt;br /&gt;
|Speed&lt;br /&gt;
|Sets the spectator camera movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Move&lt;br /&gt;
|Sets the spectator camera slo-mo movement speed&lt;br /&gt;
|-&lt;br /&gt;
|SM Look&lt;br /&gt;
|Sets the spectator camera slo-mo turning speed&lt;br /&gt;
|-&lt;br /&gt;
|Cam-&amp;gt;Player&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Player-&amp;gt;Cam&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Player-SpecCam auto-teleport&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Recompile Script and Lang&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Merge Lang Files&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Reload script at task switch&lt;br /&gt;
|The script file for the map will be updated when a [https://www.hongkiat.com/blog/switch-tasks-windows-10/ task switch] has been performed. Meaning, as long as you do not go back to the game after changing the script, the new script won't be updated in the game.&lt;br /&gt;
|-&lt;br /&gt;
|Show Garbage Collection&lt;br /&gt;
|Shows a graph of garbage collection. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Skip AI Rebuild On Reload&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Fast Physics Load&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Map &amp;amp; Scene===&lt;br /&gt;
The map section of the menu includes settings and actions which are related to maps in general, as well as the currently-loaded map.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Load Map&lt;br /&gt;
|Select a map file to load in the game. HPL3 Map File (&amp;lt;code&amp;gt;.hpm&amp;lt;/code&amp;gt;) and HPL2 Map File (&amp;lt;code&amp;gt;.map&amp;lt;/code&amp;gt;) are accepted. Fast Physics Load can be enabled here before loading the map.{{warning|Some things are almost guranteed to not load correctly when loading HPL2 map files, mostly related to issues with static-objects. This is due to the internal structure of the .map files and how it handles assets information.}}&lt;br /&gt;
|-&lt;br /&gt;
|Test Change Map Save&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Teleport to start pos&lt;br /&gt;
|Teleports the player to a specific [[HPL3/Inputs_and_Outputs_Systems/PlayerStart_Area|PlayerStart Area]] that can be selected from the dropdown list. Useful for skipping areas in a map.&lt;br /&gt;
|-&lt;br /&gt;
|Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map&lt;br /&gt;
|Loads another map in the background so it can be loaded later much faster. ''Main article: [[HPL3/Scripting/Level_Streaming|Level Streaming]]''&lt;br /&gt;
|-&lt;br /&gt;
|Start Preloaded Map&lt;br /&gt;
|Loads the pre-loaded map. If no map has been pre-loaded, the button will do nothing.&lt;br /&gt;
|-&lt;br /&gt;
|Preload Map Batch&lt;br /&gt;
|Unknown option. {{clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Preload Priority&lt;br /&gt;
|Sets the priority of the map preload process. Ranges from &amp;lt;code&amp;gt;Paused&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Very High&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Preload Time&lt;br /&gt;
|Lists the time in seconds it took to load to preload the map.&lt;br /&gt;
|-&lt;br /&gt;
|Keep Previous Map Loaded&lt;br /&gt;
|Keeps the previous map loaded. This is useful if you want to go quickly switch between two maps.&lt;br /&gt;
|-&lt;br /&gt;
|Export Map to Mesh&lt;br /&gt;
|Exports the map geometry to an .obj file. Allows inputting a distance from the camera to export meshes from.&lt;br /&gt;
|-&lt;br /&gt;
|Trigger Permafail&lt;br /&gt;
|This calls the &amp;lt;code&amp;gt;_Global_TriggerPermaFail()&amp;lt;/code&amp;gt; function found within FearHandler.hps. Normally used to trigger a permafail (effectively a death) for testing, however the function can be edited to allow for custom functionality.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Logging===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|HPL Log&lt;br /&gt;
|Opens a window showing the current contents of the log file&lt;br /&gt;
|-&lt;br /&gt;
|Show Error List&lt;br /&gt;
|Shows a window listing the logged errors only&lt;br /&gt;
|-&lt;br /&gt;
|AI Log&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Debug Log&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Resource Logging&lt;br /&gt;
|Logs game resources. {{Clarify}}&lt;br /&gt;
|-&lt;br /&gt;
|Show non-preloaded resources&lt;br /&gt;
|Lists resources which are not preloaded by the game. {{Clarify}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hide Debug Output&lt;br /&gt;
|Check to disable debug output being printed to screen.&lt;br /&gt;
|-&lt;br /&gt;
|Module Output&lt;br /&gt;
|Shows information about different [[HPL3/Scripting/User Modules Overview|user modules]]. It does not seem to be useful however, as not enough information is displayed.&lt;br /&gt;
|-&lt;br /&gt;
|Map Info&lt;br /&gt;
|Shows the amount of entities in the map and their state.&lt;br /&gt;
|-&lt;br /&gt;
|Entity Info&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Info&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Messages&lt;br /&gt;
|Shows dev messages which are specified in the map script file.&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause on assert&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Debug Info&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide Sleeping&lt;br /&gt;
|Makes sleeping entities invisible in the map. {{Todo|Link to source about sleeping entities}}&lt;br /&gt;
|-&lt;br /&gt;
|Inspection Mode&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|GUI Debug&lt;br /&gt;
|Displays pink overlay which represents intractable GUI elements.&lt;br /&gt;
|-&lt;br /&gt;
|Hide crosshair&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide hints&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide popup icons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Hide tentacles&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Display Safe Area&lt;br /&gt;
|Shows the [[wikipedia:Safe_area_(television)|safe area]] of a TV, surrounded by red borders.&lt;br /&gt;
|-&lt;br /&gt;
|Player Collider&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Physics Debug&lt;br /&gt;
|Displays physics bodies (pink) of static objects and entities in the map.&lt;br /&gt;
|-&lt;br /&gt;
|Overlay&lt;br /&gt;
|Displays physics debug + normal game meshes.&lt;br /&gt;
|-&lt;br /&gt;
|Light Level Grid&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Deep Shadow&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graphics Debug===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|}&lt;br /&gt;
Debugging the graphic performance of a level is vital to understand which parts are causing the bottleneck. It can also be used to find bugged/incorrect meshes or entities. With this section of the debug menu, you will be able to find which parts of the scene take up the most performance.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|FPS&lt;br /&gt;
|Shows the game [[wikipedia:Frame_rate|FPS]].&lt;br /&gt;
|-&lt;br /&gt;
|FPS Graph&lt;br /&gt;
|This option displays on the screen a graph that shows FPS peaks on a time scale. It's useful for finding areas in a map that reduce FPS the most.&lt;br /&gt;
&amp;lt;br /&amp;gt;[[File:Hpl3-fps-graph.png|thumb|500x500px|alt=|center]]&lt;br /&gt;
|-&lt;br /&gt;
|Memory Usage&lt;br /&gt;
|Shows information about the game memory usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by the renderer. This contains frame buffers, shadows, terrain and post-effects. It is greatly affected by the resolution of the window.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Texture Memory Usage''':'''&amp;lt;/u&amp;gt; '''The texture memory used by the level. This contains all the textures used for the materials of the objects. Texture memory is reduced by a lot with just a few changes in the config file.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Vertex Memory Usage''':'''&amp;lt;/u&amp;gt; '''The amount of VRAM used by meshes and decals. The imporant difference between Vertex and Texture memory is that Vertex memory can't be reduced by changing a setting. It takes up as much space on a good and a bad computer.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Total Memory Usage''':'''&amp;lt;/u&amp;gt; '''The sum of the above memory usage.'''&lt;br /&gt;
|-&lt;br /&gt;
|Rendering Info&lt;br /&gt;
|Shows information about the game rendering:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Draw Calls&amp;lt;/u&amp;gt; - '''The number of objects rendered in the current scene.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Rendered Triangles / Vertices&amp;lt;/u&amp;gt; - '''The total number of triangles and vertices rendered per frame.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Queries&amp;lt;/u&amp;gt; - '''A special draw call used to check if an object is occluded. It is more expensive than a draw call.'''&lt;br /&gt;
|-&lt;br /&gt;
|Print Container Debug Info&lt;br /&gt;
|This button prints container debug info to the screen.{{Bug|The button makes the game crash.}}&lt;br /&gt;
|-&lt;br /&gt;
|Render Portal Debug&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Use Portal Culling&lt;br /&gt;
|Enables the game to use portal culling in the map. It is recommended to always leave that on, unless you want to see the difference in performance. {{Todo|add reference link for portals}}&lt;br /&gt;
|-&lt;br /&gt;
|Draw Skeletons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Offset Skeletons&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Wireframe Mode&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Previous Frame Occlusion&lt;br /&gt;
|This option pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can switch to to spectator camera mode and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.[[File:Occlusion_preview.png|alt=|thumb|left|500x500px]]&lt;br /&gt;
|-&lt;br /&gt;
|Debug Mode&lt;br /&gt;
|Offers a set of display modes to help catch rendering issues&lt;br /&gt;
|-&lt;br /&gt;
|Gamma&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Brightness&lt;br /&gt;
|The brightness slider increases / decreases the brightness of the game. Not to be confused with gamma.&lt;br /&gt;
|-&lt;br /&gt;
|Contrast&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Textures&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Post-Effects&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Occlusion Culling&lt;br /&gt;
|Enables occlusion culling (Skips rendering polygons that are no in the view of the player ).&lt;br /&gt;
|-&lt;br /&gt;
|Draw Shadows&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Resources===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Auto reload resources&lt;br /&gt;
|This makes the map reload resources (mostly game assets) automatically, should you change or add something to the mod.&lt;br /&gt;
|-&lt;br /&gt;
|Load files in _temp folders&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Find Duplicate File Names&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show sounds playing&lt;br /&gt;
|Shows a list of all the sounds that currently play in the map, and information about them.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound params&lt;br /&gt;
|Adds further information to the sounds playing list (distance from player)&lt;br /&gt;
|-&lt;br /&gt;
|Show sound categories&lt;br /&gt;
|Shows a list of all the different sound level categories.&lt;br /&gt;
|-&lt;br /&gt;
|Show sound AI events&lt;br /&gt;
|Shows a message when an Ai agent has heard a sound.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Play Music&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Stop All Music&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Voices===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show event/voice messages&lt;br /&gt;
|Does not work. (VERIFY)&lt;br /&gt;
|-&lt;br /&gt;
|Show Missing Voice Error&lt;br /&gt;
|Lists voice subjects which have missing voice files.&lt;br /&gt;
|-&lt;br /&gt;
|Play Voice Subject&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Reload Voice Data on Taskswitch&lt;br /&gt;
|Desc&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Messages&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show Event Facts&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Disable Flashbacks&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
The Input section of the menu includes tools and option for capturing and analyzing user input.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Gamepad Input Only&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Record Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Playback Recorded Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Stress Test===&lt;br /&gt;
This is a tool used to test the map under heavy performance conditions.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Map&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Materials&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Analyze Active Entities&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Print Resource Usage&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Input&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Random Physics Forces&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Profile===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Show Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Show GPU Profiler&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause Profiling&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Profile Longest Frame&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debug UI Settings===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Debug Lines&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Pause game when open&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Platform &amp;amp; Language===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Option&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Set Suffix&lt;br /&gt;
|Desc&lt;br /&gt;
|-&lt;br /&gt;
|Name&lt;br /&gt;
|Desc&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:English]]&lt;/div&gt;</summary>
		<author><name>Crater</name></author>
		
	</entry>
</feed>