# Options {{< image-center src="images/2_DevMode/menus/options/options_1_menu.png" alt="The Developer Mode Options Menu" >}} This menu controls a number of different simulator and developer mode options to help with creating your add-on content. The options available to you from this menu are listed below.   ### User Interface - ##### Auto-Hide Menu Bar This is a toggle that - when enabled - will automatically hide the Developer Mode menu unless you move the mouse cursor to the top of the screen. It is disabled by default. - ##### Manage Windows This option will show the following sub-menu: {{< image-center src="images/2_DevMode/menus/options/options_2_windows.png" alt="The Windows Behaviour Options" >}} This menu controls the way that the different **DevMode** windows will be displayed. Note that when you select the **Always Transparent** option, you will be able to set the transparency level using the **Transparent Window Opacity** slider at the bottom of the menu. - ##### Layouts This option will show the following sub-menu: {{< image-center src="images/2_DevMode/menus/options/options_8_layouts.png" alt="The Layouts Sub-Menu" >}} Here you can save the current layout (devmode window positions and some settings), load a saved layout, or load the default layout. The default layout is one which the development team feel is ideal for beginners and will enable the **Smart Docking System** as well. - ##### Smart Docking System With this option you can have the simulation render within the imGUI framework of windows. What this means is that instead of having the game render *under* the various DevMode windows, you can instead have it render *within* a window and so this permits you to position all the DevMode windows around it and customise the layout to suit your own preferences, all the while still seeing the entire scene unobscured by overlaid windows. {{< image-center src="images/2_DevMode/menus/options/options_3_render.png" alt="Offscreen Rendering Of the Main Simulation Within An imGUI Window" >}} It is worth noting that when this option is enabled, you won't actually be able to resize/move the simulation window. Instead, resizing or docking the other DevMode windows will automatically resize the simulation window to fill in any empty space. For this reason, while using the option, you can't dock any window in the *central* node as this would result in no space left for the simulation to be rendered. It is also worth noting that some UI elements of Microsoft Flight Simulator 2024 may be sized incorrectly when viewed using the dynamic docking system. This is something that may be resolved in future updates. ### Date And Time - ##### Year, Month, Day, Hour, Minute The sliders in this section permit you to precisely set the date and time for the current flight. ### Simulation - ##### Pause / Resume Simulation When enabled, this will pause the entire simulation. This is *not* the same as the "Active Pause" available through the simulation options, as certain simulation events - like the passing of time - will still occur while in active pause, yet using this option to pause the simulation will prevent *anything* further from occurring. When enabled, the option will change such that clicking it again will resume the simulation. - ##### Disable Crashes When enabled, this tells Microsoft Flight Simulator 2024 to ignore any collisions with the terrain that would otherwise end a flight with a crash. This means that you can slew the aircraft around and if it touches anything it will simply "bounce" off of it. By default this option is enabled. - ##### Icing This slider controls the visual icing system and when set to 1.0 all materials that show icing will be visible. If the simulation is not paused (or on active pause) the aircraft may gradually de-ice over time and this value will visually decrease. By default this is set to 0.0. {{< callout context="note" title="NOTE" icon="outline/bulb" >}} This option is only available when flying in the simulation, and requires that the the in-simulation Assistances > Realism > Icing Effect option is enabled. {{< /callout >}} - ##### Windshield Rain Much like the Visual Icing slider, this option is for visualising the windshield materials when it is raining, and as such any changes made to the options here will be best viewed from inside the cockpit (ie: with the [Developer Camera](../camera/#developer-camera) off). {{< callout context="note" title="NOTE" icon="outline/bulb" >}} This option is only available when flying in the simulation. {{< /callout >}} Selecting this will open the following sub-menu: {{< image-center src="images/2_DevMode/menus/options/options_4_windshield.png" alt="The Windshield Rain Sub-Menu" >}} This sub-menu has the following options: - **Override Rain Rate**: When enabled, the rate of *actual* rainfall in the simulation will be overridden for the rate given by the *Rain Rate* slider. By default this is disabled. - **Override Wind Speed**: When enabled, the *actual* wind speed in the simulation will be overridden for the speed given by the *Wind Speed* slider. By default this is disabled. - **Rain Rate**: The rate of rainfall to be simulated, where 0 is none and 100 is maximum. This slider is only valid when *Override Rain Rate* is enabled. - **Wind Speed**: The current wind speed override, in {{< glossterm >}}ft{{< /glossterm >}} per second. This value can go from -500 to 500, and is only valid when the *Override Wind Speed* option is enabled. - ##### Parking Brake All Sim Objects Selecting this option will activate the parking brake on all grounded SimObj objects, preventing them from moving. - ##### Live Asset Reloading When this option is enabled, the package is automatically rebuilt when a file from the package is modified and then saved. This option is enabled by default, but it may cause slow-down, especially when modifying a complex aircraft or a very large airport.   ### Rendering - ##### Ground Options {{< image-center src="images/2_DevMode/menus/options/options_11_ground.png" alt="The Ground Sub-Menu" >}} The ground option will open a sub-menu with the following items: - **Debug Tile**: Shows debug information for the quadtile that the mouse is currently over. - **Debug Terraforming**: Shows debug information for any terraformed areas in the scene. - **Enable Terraforming**: When checked, you will be able to use the terraforming tools in the appropriate scenery editor objects. When unchecked (disabled) then no terraforming will be available, and this includes from other installed packages, not just the one currently open in DevMode (if any). This is checked by default. {{< anchor id="old-terraforming-method" />}} - **Old Terraforming Method**: This will tell the simulation to use the *legacy* terraforming method, which may result in "jagged" edges to terraformed areas. Mouse over the image below to see the difference (this option is off by default). {{< image-hover src="images/2_DevMode/menus/options/options_9_terraforming_off.png" hover="images/2_DevMode/menus/options/options_10_terraforming_on.png" alt="Modern Terraforming Disabled And Enabled" >}} - **Enable Water Flattening**: When checked, some water types will first "flatten" the ground underneath (for example, oceans). When unchecked, this won't happen. The option is checked by default. - **Fake Terrain**: - **Ground Materials ML**: - **Ground Materials Fallback**: - **Reload Ground Materials**: - **Materials colour**: - Aerial Colour - Shadow Remove - Colour Correction - **On Demand Detection**: - Activate as CGL fallback - On Demand Detection: Force - **Surface Type Filter Mode**: - **Force Surface Type**: - **Texture Synthesis**: - **Use Debug Ground Materials**: - **KH Detail Maps Fallback**: - **Cliffs Mapping**: - **Allow TIN Displacement**: - **Detail Maps**: When enabled, detail maps will be added to the terrain to increase fidelity. Disabling this removes these maps. Mouse over the image below to see the difference (this option is on by default). {{< image-hover src="images/2_DevMode/menus/options/options_5_tin_disabled.png" hover="images/2_DevMode/menus/options/options_6_tin_enabled.png" alt="Detail Maps Disabled And Enabled" >}} - **Only Lighting**: Disables the terrain surface materials and shows only the terrain lighting. - **Altitude Isoline**: Shows the terrain textured with isolines, indicating height. {{< image-center src="images/2_DevMode/menus/options/options_7_isolines.png" alt="Terrain Isolines Drawn Over The Simulation Landscape" >}} - ##### Ground Display {{< image-center src="images/2_DevMode/menus/options/options_15_grounddisplay.png" alt="The Different Ground Display Options From The Options Menu" >}} This menu gives you a selection of options that can be used to enable or disable certain parts of the terrain rendering pipeline. The available options are as follows: - **Draw Airports**: - **Draw Surface Layer**: - **Draw Vegetation Exclusions**: - **Draw projected Meshes**: - **Draw Vector Shape Vegetations**: - **Draw Vector Shape Biomes**: - **Draw Vector Shape Materials**: - **Enable TIN Colour Correction**: - **Enable Ground Merging**: - ##### Channel Display {{< image-center src="images/2_DevMode/menus/options/channel_display/pbr_1_menu.png" alt="The Different Channel Display Options From The Options Menu" >}} From this option you can view the different {{< glossterm >}}pbr{{< /glossterm >}} channels used in the generation of the terrain and other assets. By default this will be set to disabled, but you can select other options from the sub-menu. For full details please see here: [Channel Display](../options_info/channel-display/). {{< callout context="caution" title="IMPORTANT!" icon="outline/alert-triangle" >}} This set of display options only shows overlays for opaque materials, however transparent objects should obey the same rules that these overlays are designed to check. {{< /callout >}} - ##### Lighting Display {{< image-center src="images/2_DevMode/menus/options/options_12_lighting.png" alt="The Lighting Display Sub-Menu" >}} This menu can be used to change the display to show one of the following lighting maps: - **Illuminance ({{< glossterm >}}lux{{< /glossterm >}})**: From this display you can get a measurement of the intensity, as perceived by the human eye, of the light that hits or passes through the different materials being rendered in the scene with the current lighting. There is a scale on the left, and by moving the camera, the {{< glossterm >}}lux{{< /glossterm >}} value under the crosshair will be displayed on that scale. {{< image-center src="images/2_DevMode/menus/options/options_13_illuminance.png" alt="The Illuminance option From The Lighting Display SubMenu" >}} - **Luminance ({{< glossterm >}}nits{{< /glossterm >}})**: From this display you can get a measurement of the luminosity of the different materials in the scene, based on the current lighting, as perceived from the point of view of the camera. There is a scale on the left, and by moving the camera, the {{< glossterm >}}nits{{< /glossterm >}} value under the crosshair will be displayed on that scale. {{< image-center src="images/2_DevMode/menus/options/options_14_luminance.png" alt="The Luminance option From The Lighting Display SubMenu" >}} ### WASM  - ##### WASM Debug Mode Enabling this option will permit the {{< glossterm >}}wasm{{< /glossterm >}} modules to be compiled a lot faster, as it basically bypasses the LLVM optimisations - which is what normally slows down compile time. Essentially it has the following effect: - No optimisations are done, and the resulting DLL *literally* the exact same {{< glossterm >}}wasm{{< /glossterm >}} file. - Debugging is available. - Compilation is much faster. - Compatible with [Visual Studio Debugger Extension](../../../programming-apis/wasm/vs-wasm-debugger-extension/). However the downside for this is that the resulting gauges will be far less performant (which isn't normally an issue when testing or debugging). When this option is unchecked, the following will be true: - Debugging is not possible. - Breakpoints *may* still work (it will depend on the configuration of Visual Studio) but variables are optimized so they are unreadable. - Very optimised - the code will run faster (with a subsequent gain in FPS). - Compilation is slower. - ##### WASM Floating Point Exceptions When activated, this option will catch all floating point exceptions that may be triggered by your code while running. This means that while debugging a module, it is **important to activate this option** since it may indicate mistakes that otherwise go unnoticed and may cause crashes later on that will be very difficult to identify. - ##### Use Marketplace CPU Instruction Set When provided with {{< glossterm >}}wasm{{< /glossterm >}} packages, the simulation will normally generate native code that takes full advantage of the instruction set capabilities provided by the host CPU (for example, when compiling on an AVX2-capable CPU, the simulation might generate AVX2 instructions). However, encrypted marketplace packages are already *pre*-compiled - meaning that the same native code will run on all user machines - so those packages use an instruction set that is guaranteed to be available on all compatible CPUs. When enabled, this option will force the simulation to use this lowest-common-denominator instruction set when compiling {{< glossterm >}}wasm{{< /glossterm >}} into native code, maximising compatibility with most (if not all) machines. This option is provided as a way to test how your {{< glossterm >}}wasm{{< /glossterm >}} module will behave when used in a marketplace package. ### VR - ##### Default VR API This section allows you to change the default API used to communicate with the VR hardware. When selected, you will be presented with the following two options: - **Fake**: is a "fake" API that does not require any VR hardware to actually be connected to the computer. This can be used to simulate the presence of a VR head mounted display. - **OpenXR**: is the default API that Microsoft Flight Simulator 2024 uses. It is compatible with most VR devices available currently, eg: SteamVR, Oculus, Windows Mixed Reality, Varjo. When Fake API is active, the user can control the rotation of the camera by holding shift+mouse left click and moving the mouse or using the gamepad left stick.