--- ConsoleHelp_4.16.html
+++ ConsoleHelp_4.17.html
{name: "a.DebugDrawBoneAxes", help:"When drawing bones (using Show Bones), draw bone axes.", type:"Var"},
{name: "a.DebugDrawSimpleBones", help:"When drawing bones (using Show Bones), draw bones as simple lines.", type:"Var"},
{name: "ai.crowd.DebugSelectedActors", help:"Enable debug drawing for selected crowd agent.\n0: Disable, 1: Enable", type:"Var"},
{name: "ai.crowd.DebugVisLog", help:"Enable detailed vislog recording for all crowd agents.\n0: Disable, 1: Enable", type:"Var"},
{name: "ai.crowd.DrawDebugBoundaries", help:"Draw shared navmesh boundaries used by crowd simulation.\n0: Disable, 1: Enable", type:"Var"},
{name: "ai.crowd.DrawDebugCollisionSegments", help:"Draw colliding navmesh edges, requires ai.crowd.DebugSelectedActors.\n0: Disable, 1: Enable", type:"Var"},
{name: "ai.crowd.DrawDebugCorners", help:"Draw path corners data, requires ai.crowd.DebugSelectedActors.\n0: Disable, 1: Enable", type:"Var"},
{name: "ai.crowd.DrawDebugNeighbors", help:"Draw current neighbors data, requires ai.crowd.DebugSelectedActors.\n0: Disable, 1: Enable", type:"Var"},
{name: "ai.crowd.DrawDebugPath", help:"Draw active paths, requires ai.crowd.DebugSelectedActors.\n0: Disable, 1: Enable", type:"Var"},
{name: "ai.crowd.DrawDebugPathOptimization", help:"Draw path optimization data, requires ai.crowd.DebugSelectedActors.\n0: Disable, 1: Enable", type:"Var"},
{name: "ai.crowd.DrawDebugVelocityObstacles", help:"Draw velocity obstacle sampling, requires ai.crowd.DebugSelectedActors.\n0: Disable, 1: Enable", type:"Var"},
{name: "AssetManager.AssetAudit", help:"Dumps statistics about assets to the log.", type:"Cmd"},
{name: "AssetManager.DumpAssetDependencies", help:"Shows a list of all primary assets and the secondary assets that they depend on. Also writes out a .graphviz file", type:"Cmd"},
{name: "AssetManager.DumpAssetRegistryInfo", help:"Dumps extended info about asset registry to log", type:"Cmd"},
{name: "AssetManager.DumpLoadedAssets", help:"Shows a list of all loaded primary assets and bundles", type:"Cmd"},
{name: "AssetManager.DumpReferencersForPackage", help:"Generates a graph viz and log file of all references to a specified package", type:"Cmd"},
{name: "AssetManager.DumpTypeSummary", help:"Shows a summary of types known about by the asset manager", type:"Cmd"},
{name: "AssetManager.FindDepChain", help:"Finds all dependency chains from assets in the given search path, to the target package.\n Usage: FindDepChain TargetPackagePath SearchRootPath (optional: -hardonly/-softonly)\n e.g. FindDepChain /game/characters/heroes/muriel/meshes/muriel /game/cards ", type:"Cmd"},
{name: "AssetManager.FindDepClasses", help:"Finds all dependencies of a certain set of classes to the target asset.\n Usage: FindDepClasses TargetPackagePath ClassName1 ClassName2 etc (optional: -hardonly/-softonly) \n e.g. FindDepChain /game/characters/heroes/muriel/meshes/muriel /game/cards", type:"Cmd"},
{name: "au.DisableHRTF", help:"Disables HRTF\n0: Not Disabled, 1: Disabled", type:"Var"},
{name: "au.DisableParallelSourceProcessing", help:"Disables using async tasks for processing sources.\n0: Not Disabled, 1: Disabled", type:"Var"},
{name: "au.DisableReverbSubmix", help:"Disables the reverb submix.\n0: Not Disabled, 1: Disabled", type:"Var"},
{name: "au.DisableSubmixEffectEQ", help:"Disables the eq submix.\n0: Not Disabled, 1: Disabled", type:"Var"},
{name: "au.LogRenderTimes", help:"Logs Audio Render Times.\n0: Not Log, 1: Log", type:"Var"},
{name: "au.SetAudioChannelCount", help:"Changes the audio channel count. Max value is clamped to the MaxChannelCount the audio engine was initialize with.\n0: Disable, >0: Enable", type:"Var"},
{name: "au.SpoofFailedStreamChunkLoad", help:"Forces failing to load streamed chunks.\n0: Not Enabled, 1: Enabled", type:"Var"},
{name: "AudioThread.AboveNormalPriority", help:"0=Normal, 1=AboveNormal", type:"Var"},
{name: "c.ToggleGPUCrashedFlagDbg", help:"Forcibly toggles the \'GPU Crashed\' flag for testing crash analytics.", type:"Cmd"},
{name: "CsvProfile", help:"Starts or stops Csv Profiles", type:"Cmd"},
{name: "demo.CullDistanceOverride", help:"If > 0, will represent distance from any viewer where actors will stop being recorded.", type:"Var"},
{name: "demo.RecordHzWhenNotRelevant", help:"Record at this frequency when actor is not relevant.", type:"Var"},
{name: "demo.UseNetRelevancy", help:"If 1, will enable relevancy checks and distance culling, using all connected clients as reference.", type:"Var"},
{name: "DisableOrphanPins", help:"0=Orphan pins are enabled (default), 1=Orphan pins are disabled (note: this option will go away in the future)", type:"Var"},
{name: "DumpEnvQueryStats", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "Engine.SupressWarningsInOnScreenDisplay", help:"0: Show both errors and warnings on screen, 1: Show only errors on screen (in either case only when DurationOfErrorsAndWarningsOnHUD is greater than zero)", type:"Var"},
{name: "FLUSHIOMANAGER", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "foliage.MaxOcclusionQueriesPerComponent", help:"Controls the granualritygranularity of occlusion culling. 16-128 is a reasonable range.", type:"Var"},
{name: "foliage.MinOcclusionQueriesPerComponent", help:"Controls the granularity of occlusion culling. 2 should be the Min.", type:"Var"},
{name: "FX.AllowGPUParticles", help:"If true, allow the usage of GPU particles.", type:"Var"},
{name: "fx.DevDetailsPanels", help:"Whether to enable the development details panels inside Niagara.", type:"Var"},
{name: "fx.DumpParticleData", help:"If > 0 current frame particle data will be dumped after simulation. \n", type:"Var"},
{name: "GameLiveStreaming.StartBroadcasting", help:"Starts broadcasting game video and audio using a live internet streaming service\n\nOptional parameters:\n     LoginUserName=<string>              For direct authentication, the user name to login as\n     LoginPassword=<string>              For direct authentication, the password to use\n     FrameRate=<int32>                   Frame rate to stream video when broadcasting\n     ScreenScaling=<float>               How much to scale the broadcast video resolution down\n     bStartWebCam=<bool>\t\t\t\t    If enabled, starts capturing video from your web camera right away\n     DesiredWebCamWidth=<int32>          Horizontal resolution for web camera capture\n     DesiredWebCamHeight=<int32>         Veritcal resolution for web camera capture\n     bMirrorWebCamImage=<bool>\t\t\tFlips the web camera image horizontally\n     bDrawSimpleWebCamVideo=<bool>       Draws a simple web cam video on top of the viewport\n     bCaptureAudioFromComputer=<bool>    Enables capturing sound that is played back through your PC\n     bCaptureAudioFromMicrophone=<bool>  Enables capturing sound from your default microphone\n     CoverUpImage=<2D Texture Path>      Broadcasts the specified texture instead of what\'s on screen\n", type:"Cmd"},
{name: "GameLiveStreaming.StartWebCam", help:"Starts capturing web camera video and previewing it on screen\n\nOptional parameters:\n     DesiredWebCamWidth=<int32>          Horizontal resolution for web camera capture\n     DesiredWebCamHeight=<int32>         Veritcal resolution for web camera capture\n     bMirrorWebCamImage=<bool>\t\t\tFlips the web camera image horizontally\n     bDrawSimpleWebCamVideo=<bool>       Draws a simple web cam video on top of the viewport\n", type:"Cmd"},
{name: "GameLiveStreaming.StopBroadcasting", help:"Stops broadcasting game video", type:"Cmd"},
{name: "GameLiveStreaming.StopWebCam", help:"Stops capturing web camera video", type:"Cmd"},
{name: "GameplayTags.PrintNetIndiceAssignment", help:"Logs GameplayTag NetIndice assignment", type:"Var"},
{name: "GameplayTags.PrintNetIndices", help:"Prints net indices for all known tags", type:"Cmd"},
{name: "gc.ActorClusteringEnabled", help:"Whether to allow levels to create actor clusters for GC.", type:"Var"},
{name: "gc.BlueprintClusteringEnabled", help:"Whether to allow Blueprint classes to create GC clusters.", type:"Var"},
{name: "gearvr.EnableMSAA", help:"Enables 4xMSAA when rendering on GearVR.", type:"Var"},
{name: "gearvr.EnableQueueAhead", help:"Enable full-frame queue ahead for rendering on GearVR", type:"Var"},
{name: "gearvr.HandleBackButton", help:"GearVR plugin"gc.UseDisregardForGCOnDedicatedServers", help:"If false, DisregardForGC will handle the \'back\' button",be disabled for dedicated servers.", type:"Var"},
{name: "hmd.DirectSoundVoiceCaptureDeviceIndex", help:"Specifies the DirectSound device index to use when HMD is connected. (-1 == Unknown)\n", type:"Var"},"HMD", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "HMDPOS", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "HMDVERSION", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "ListPrecacheMapPackages", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "LLMEM", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "LoadTimes.Reset", help:"Resets accumulated report data", type:"Cmd"},
{name: "LogCountedInstances", help:"Dumps count of all tracked FInstanceCountingObject\'s", type:"Cmd"},
{name: "mallocleak.clear", help:"Clears recorded allocation info", type:"Cmd"},
{name: "mallocleak.report", help:"Writes malloc leak reports ", type:"Cmd"},
{name: "mallocleak.start", help:"Starts tracking allocations. Args -report=[secs] -size=[filter]", type:"Cmd"},
{name: "mallocleak.stop", help:"Stops tracking allocations", type:"Cmd"},
{name: "MaterialBaking.SaveIntermediateTextures", help:"Determines whether or not to save out intermediate BMP images for each flattened material property.\n0: Turned Off\n1: Turned On", type:"Var"},
{name: "MaterialBaking.UseMaterialProxyCaching", help:"Determines whether or not Material Proxies should be cached to speed up material baking.\n0: Turned Off\n1: Turned On", type:"Var"},
{name: "net.AllowPropertySkipping", help:"Allow skipping of properties that haven\'t changed for other clients", type:"Var"},
{name: "net.DelayUnmappedRPCs", help:"If >0 delay received RPCs with unmapped properties", type:"Var"},
{name: "net.InstantReplayProcessQueuedBunchesMillisecondLimit", help:"Time threshold for processing queued bunches during instant replays. If it takes longer than this in a single frame, wait until the next frame to continue processing queued bunches. For unlimited time, set to 0.", type:"Var"},
{name: "net.PartialBunchReliableThreshold", help:"If a bunch is broken up into this many partial bunches are more, we will send it reliable even if the original bunch was not reliable. Partial bunches are atonmic and must all make it over to be used", type:"Var"},
{name: "networkfile", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "niagara.AllowAllNiagaraNodesInEmitterGraphs", help:"If true, all nodes will be allowed in the Niagara emitter graphs. \n", type:"Var"},
{name: "niagara.ParallelEffectRenderers", help:"Whether to run Niagara effect renderers in parallel", type:"Var"},
{name: "niagara.ParallelEmitterTick", help:"Whether to tick individual emitters in an effect in parallel", type:"Var"},
{name: "p.BatchPhysXTasksSize", help:"Number of tasks to batch together (max 8). 1 will go as wide as possible, but more overhead on small tasks", type:"Var"},
{name: "p.ConstraintDampingScale","p.ConstraintAngularDampingScale", help:"The multiplier of constraint angular damping in simulation. Default: 100000", type:"Var"},
{name: "p.ConstraintStiffnessScale","p.ConstraintAngularStiffnessScale", help:"The multiplier of constraint angular stiffness in simulation. Default: 100000", type:"Var"},
{name: "p.ConstraintLinearDampingScale", help:"The multiplier of constraint linear damping in simulation. Default: 1", type:"Var"},
{name: "p.ConstraintLinearStiffnessScale", help:"The multiplier of constraint linear stiffness in simulation. Default: 1", type:"Var"},
{name: "p.DebugRootMotionSources", help:"Whether to draw root motion source debug information.\n0: Disable, 1: Enable", type:"Var"},
{name: "p.DebugRootMotionSourcesLifetime", help:"How long a visualized root motion source persists.\nTime in seconds each visualized root motion source persists.", type:"Var"},
{name: "p.FixReplayOverSampling", help:"If 1, remove invalid replay samples that can occur due to oversampling (sampling at higher rate than physics is being ticked)", type:"Var"},
{name: "p.NetProxyShrinkHalfHeight", help:"Shrink simulated proxy capsule half height by this amount, to account for network rounding that may cause encroachment.\nChanging this value at runtime may require the proxy to re-join for correct behavior.\n<= 0: disabled, > 0: shrink by this amount.", type:"Var"},
{name: "p.NetProxyShrinkRadius", help:"Shrink simulated proxy capsule radius by this amount, to account for network rounding that may cause encroachment.\nChanging this value at runtime may require the proxy to re-join for correct behavior.\n<= 0: disabled, > 0: shrink by this amount.", type:"Var"},
{name: "p.PhysXTreeRebuildRate", help:"Utility function to change PhysXTreeRebuildRate, useful when profiling fetchResults vs scene queries.", type:"Cmd"},
{name: "p.RK4SpringInterpolator.MaxIter", help:"RK4 Spring Interpolator\'s max number of iterations", type:"Var"},
{name: "p.RK4SpringInterpolator.UpdateRate", help:"RK4 Spring Interpolator\'s rate of update", type:"Var"},
{name: "p.RootMotion.Debug", help:"Whether to draw root motion source debug information.\n0: Disable, 1: Enable", type:"Var"},
{name: "p.RootMotion.DebugSourceLifeTime", help:"How long a visualized root motion source persists.\nTime in seconds each visualized root motion source persists.", type:"Var"},
{name: "p.TaperedCapsulesTrueHull", help:"If 1, debug rendering of tapered capsules will use correct horizon to generate shaft geometry rather than using great-arc assumption where cap is coplanar with sphere origins. ", type:"Var"},
{name: "r.AllowDownsampledStandardTranslucency", help:"Allow standard translucency to be rendered in smaller resolution as an optimization\nThis is incompatible with materials using blend modulate. Use 2 to ignore those. \n <0: off\n 0: on unless a material using blend modulate is used (default) >0: on and ignores any material using blend modulate", type:"Var"},
{name: "r.AOClearCache","r.AOClearHistory", help:"", type:"Cmd"},type:"Var"},
{name: "r.AOFillGaps", help:"Whether to fill in pixels using a screen space filter that had no valid world space interpolation weight from surface cache samples.\nThis is needed whenever r.AOMinLevel is not 0.", type:"Var"},
{name: "r.AOFillGapsHighQuality", help:"Whether to use the higher quality gap filling method that does a 5x5 gather, or the cheaper method that just looks up the 4 grid samples.", type:"Var"},
{name: "r.AOGlobalDistanceFieldCacheMostlyStaticSeparately", help:"Whether to cache mostly static primitives separately from movable primitives, which reduces global DF update cost when a movable primitive is modified.  Adds another 12Mb of volume textures.", type:"Var"},
{name: "r.AOHistoryMinConfidenceScale", help:"Minimum amount that confidence can scale down the history weight. Pixels whose AO value was interpolated from foreground onto background incorrectly have a confidence of 0.\nAt a value of 1, confidence is effectively disabled.  Lower values increase the convergence speed of AO history for pixels with low confidence, but introduce jittering (history is thrown away).", type:"Var"},
{name: "r.AOInterpolationAngleScale", help:"Scale applied to angle error during the final interpolation pass.  Values larger than 1 result in smoothing.", type:"Var"},
{name: "r.AOInterpolationDepthTesting", help:"Whether to use depth testing during the interpolation splat pass, useful for debugging", type:"Var"},
{name: "r.AOInterpolationMaxAngle", help:"Largest angle allowed between the shading point\'s normal and a nearby record\'s normal.", type:"Var"},
{name: "r.AOInterpolationRadiusScale", help:"Scale applied to record radii during the final interpolation pass.  Values larger than 1 result in world space smoothing.", type:"Var"},
{name: "r.AOInterpolationStencilTesting", help:"Whether to stencil out distant pixels from the interpolation splat pass, useful for debugging","r.AOJitterConeDirections", help:"", type:"Var"},
{name: "r.AOListMeshDistanceFields", help:"", type:"Cmd"},
{name: "r.AOMaxLevel", help:"Largest downsample power of 4 to use for surface cache population.", type:"Var"},
{name: "r.AOMaxObjectsPerCullTile", help:"Determines how much memory should be allocated in distance field object culling data structures.  Too much = memory waste, too little = flickering due to buffer overflow.", type:"Var"},
{name: "r.AOMinLevel", help:"Smallest downsample power of 4 to use for surface cache population.\nThe default is 1, which means every 8 full resolution pixels (BaseDownsampleFactor(2) * 4^1) will be checked for a valid interpolation from the cache or shaded.\nGoing down to 0 gives less aliasing, and removes the need for gap filling, but costs a lot.", type:"Var"},
{name: "r.AOMinPointBehindPlaneAngle", help:"Minimum angle that a point can lie behind a record and still be considered valid.\nThis threshold helps reduce leaking that happens when interpolating records in front of the shading point, ignoring occluders in between.", type:"Var"},
{name: "r.AOPowerOfTwoBetweenLevels", help:"Power of two in resolution between refinement levels of the surface cache", type:"Var"},
{name: "r.AORecordRadiusScale", help:"Scale applied to the minimum occluder distance to produce the record radius.  This effectively controls how dense shading samples are.", type:"Var"},
{name: "r.AOReuseAcrossFrames", help:"Whether to allow reusing surface cache results across frames.", type:"Var"},
{name: "r.AOSpecularOcclusionMode", help:"Determines how specular should be occluded by DFAO\n0: Apply non-directional AO to specular.\n1: (default) Intersect the reflection cone with the unoccluded cone produced by DFAO.  This gives more accurate occlusion than 0, but can bring out DFAO sampling artifacts.\n2: (experimental) Cone trace through distance fields along the reflection vector.  Costs about the same as DFAO again because more cone tracing is done, but produces more accurate occlusion.",artifacts.\n", type:"Var"},
{name: "r.AOTrimOldRecordsFraction", help:"When r.AOReuseAcrossFrames is enabled, this is the fraction of the last frame\'s surface cache records that will not be reused.\nLow settings provide better performance, while values closer to 1 give faster lighting updates when dynamic scene changes are happening.", type:"Var"},
{name: "r.AOUseSurfaceCache", help:"Whether to use the surface cache or screen grid for cone tracing.  The screen grid has more constant performance characteristics.", type:"Var"},
{name: "r.AOVisualizeGlobalDistanceField", help:"Whether"r.AsyncPipelineCompile", help:"0 to visualizeCreate PSOs at the global distance field instead of the object DFs with the \'Mesh Distance Fields\' Visualize mode",moment they are requested\n1 to Create Pipeline State Objects asynchronously(default)", type:"Var"},
{name: "r.BasePassWriteDepthEvenWithFullPrepass", help:"0 to allow a readonly base pass, which skips an MSAA depth resolve, and allows masked materials to get EarlyZ (writing to depth while doing clip() disables EarlyZ) (default)\n1 to force depth writes in the base pass.  Useful for debugging when the prepass and base pass don\'t match what they render.", type:"Var"},
{name: "r.BinaryShaderCacheLogging", help:"Log duplicate shader code entries within a project and report on shader code details when generating the binary shader cache. Defaults to 0.", type:"Var"},
{name: "r.Bloom.HalfResoluionFFT", help:"Experimental half-resolution FFT Bloom convolution. \n 0: Standard full resolution convolution bloom. 1: Half-resolution convoltuion that excludes the center of the kernel.\n", type:"Var"},
{name: "r.ClearWithExcludeRects", help:"Control the use of exclude rects when using RHIClear\n 0: Force off (can be faster on hardware that has fast clears)\n 1: Use exclude rect if supplied\n 2: Auto (default is 2, pick what is considered best on this hardware)", type:"Var"},
{name: "r.DeferUniformExpressionCaching", help:"Whether to defer caching of uniform expressions until a rendering command needs them up to date.  Deferring updates is more efficient because multiple SetVectorParameterValue calls in a frame will only result in one update.", type:"Var"},
{name: "r.DistanceFieldBuild.Compress", help:"Whether to store mesh distance fields compressed in memory, which reduces how much memory they take, but also causes serious hitches when making new levels visible.  Only enable if your project does not stream levels in-game.\nChanging this regenerates all mesh distance fields.", type:"Var"},
{name: "r.DistanceFieldBuild.EightBit", help:"Whether to store mesh distance fields in an 8 bit fixed point format instead of 16 bit floating point.  \n8 bit uses half the memory, but introduces artifacts for large meshes or thin meshes.", type:"Var"},
{name: "r.DistanceFieldBuild.UseEmbree", help:"Whether to use embree ray tracer for mesh distance field generation.", type:"Var"},
{name: "r.DistanceFields.AtlasSizeXY", help:"Sizehelp:"Max size of the global mesh distance field atlas volume texture in X and Y.", type:"Var"},
{name: "r.DistanceFields.AtlasSizeZ", help:"Sizehelp:"Max size of the global mesh distance field atlas volume texture in Z.", type:"Var"},
{name: "r.DumpShaderDebugInfo", help:"When set to 1, will cause any material shaders that are then compiled to dump debug info to GameName/Saved/ShaderDebugInfo\nThe debug info is platform dependent, but usually includes a preprocessed version of the shader source.\nOnsource.\nGlobal shaders automatically dump debug info if r.ShaderDevelopmentMode is enabled, this cvar is not necessary.\nOn iOS, if the PowerVR graphics SDK is installed to the default path, the PowerVR shader compiler will be called and errors will be reported during the cook.", type:"Var"},
{name: "r.FastBlurThreshold", help:"Defines at what radius the Gaussian blur optimization kicks in (estimated 25% - 40% faster).\nThe optimzationoptimization uses slightly less memory and has a quality loss on smallblur radius.\n  0: use the optimization always (fastest, lowest quality)\n  3: use the optimization starting at a 3 pixel radius (quite fast)\n  7: use the optimization starting at a 7 pixel radius (default)\n>15: barely ever use the optimization (high quality)", type:"Var"},
{name: "r.FastVramHzb", help:"Whether to store HZB in fast VRAM", type:"Var"},
{name: "r.FastVRamSceneColor", help:"Whether to store scene color in fast VRAM", type:"Var"},
{name: "r.FastVRamSceneDepth", help:"Whether to store scene depth in fast VRAM", type:"Var"},
{name: "r.FastVRamStaticLayoutFillWithGBuffers", help:"Whether to fill ESRAM with GBuffers, all pass temporaries will fail to allocate.  Games with mostly static lighting will benefit more from filling ESRAM with GBuffers instead of pass temporaries.\nNOTE: Only applies if r.FastVRamDynamicAllocation is disabled.", type:"Var"},
{name: "r.Filter.LoopMode", help:"Controleshelp:"Controls when to use either dynamic or unrolled loops to iterates over the Gaussian filtering.\nThis passes is used for Gaussian Blur, Bloom and Depth of Field. The dynamic loop allows\nup to 128 samples versus the 32 samples of unrolled loops, but add an additonaladditional cost for\nthe loop\'s stop test at every iterations.\n 0: Unrolled loop only (default; limited to 32 samples).\n 1: Fall back to dynamic loop if needs more than 32 samples.\n 2: Dynamic loop only.", type:"Var"},
{name: "r.Filter.SizeScale", help:"Allows to scale down or up the sample count used for bloom and Gaussian depth of field (scale is clampledclamped to give reasonable results).\nValues down to 0.6 are hard to notice\n 1 full quality (default)\n >1 more samples (slower)\n <1 less samples (faster, artifacts with HDR content or boxy results with GaussianDOF)", type:"Var"},
{name: "r.ForceLODShadow", help:"LOD level to force for the shadow map generation only, -1 is off.", type:"Var"},
{name: "r.GPUCrashDebugging", help:"Enable vendor specific GPU crash analysis tools", type:"Var"},
{name: "r.GPUSkin.Limit2BoneInfluences", help:"Whether to use 2 bones influence instead of default 4 for GPU skinning. Cannot be changed at runtime.", type:"Var"},
{name: "r.InvalidateCachedShaders", help:"Invalidate shader cache by making a unique change to ShaderVersion.usfShaderVersion.ush which is included in common.usf.To initiate actual the recompile of all shaders use \"recompileshaders changed\" or press \"Ctrl Shift .\".\nThe ShaderVersion.usfShaderVersion.ush file should be automatically checked out but  it needs to be checked in to have effect on other machines.", type:"Cmd"},
{name: "r.LightMaxDrawDistanceScale", help:"Scale applied to the MaxDrawDistance of lights.  Useful for fading out local lights more aggressively on some platforms.", type:"Var"},
{name: "r.LPV.DirectionalOcclusionDefaultDiffuse", help:"", type:"Var"},
{name: "r.LPV.DirectionalOcclusionDefaultSpecular", help:"", type:"Var"},
{name: "r.Mobile.ForceRHISwitchVerticalAxis", help:"Enable RHISwitchVerticalAxis when previewing mobile renderer. (Useful to test GLES y-axis flip codepaths)\n0: RHISwitchVerticalAxis disabled (default).\n1: RHISwitchVerticalAxis enabled.\n", type:"Var"},
{name: "r.Mobile.SceneColorFormat", help:"Overrides the memory layout (RGBA) used for the scene color of the mobile renderer.\nUnsupported overridden formats silently use default 0: (default) Automatically select the appropriate format depending on project settings and device support.\n 1: PF_FloatRGBA 64Bit \n 2: PF_FloatR11G11B10 32Bit\n 3: PF_B8G8R8A8 32Bit", type:"Var"},
{name: "r.Mobile.TonemapperFilm", help:"Whether mobile platforms should use new film tone mapper", type:"Var"},
{name: "r.MobileHDR32bppMode", help:"0: If 32bpp is required mobile HDR will use best suited 32 bpp mode. (default)1:(default)\n1: Force Mobile 32bpp HDR to usewith mosaic encoding.\n2: Force Mobile 32bpp HDR to use RGBAwith RGBE encoding mode.",mode. (device must support framebuffer fetch)\n3: Force Mobile 32bpp HDR with direct RGBA8 rendering.", type:"Var"},
{name: "r.MobileTonemapperUpscale", help:"On mobile, whether to allow upscaling as part of the tonemapper or as a separate pass when possible0: separate pass (default)\n1: as part of the tonemapper pass\n", type:"Var"},
{name: "r.MorphTarget.Mode", help:"Use GPU for computing morph targets.\n 0: Use original CPU method (loop per morph then by vertex) (default)\nvertex)\n 1: Enable GPU method\n",method (default)\n", type:"Var"},
{name: "r.MorphTarget.WeightThreshold", help:"Set MorphTarget Weight Threshold (Default : 0.000000).\n", type:"Var"},
{name: "r.MSAACount", help:"Number of MSAA samples to use with the forward renderer.  Only used when MSAA is enabled in the rendering project settings.\n1: Use Temporal AA (MSAA disabled)\n2: Use 2xsettings.\n0: MSAA disabled (Temporal AA disabled)\n4:enabled)\n1: MSAA disabled\n2: Use 2x MSAA\n4: Use 4x MSAA (Temporal AA disabled)",MSAA", type:"Var"},
{name: "r.OcclusionQueryLocation", help:"Controls when occlusion queries are rendered.  Rendering before the base pass may give worse occlusion (because not all occluders generally render in the earlyzpass).  However, it may reduce CPU waiting for query result stalls on some platforms and increase overall performance.0: After BasePass.1: After EarlyZPass, but before BasePass.", type:"Var"},
{name: "r.ParallelGatherNumPrimitivesPerPacket", help:"Number of primitives per packet.  Only used when r.Shadow.UseOctreeForCulling is disabled.", type:"Var"},
{name: "r.ParallelGatherShadowPrimitives", help:"Toggles parallel Gather shadow primitives. 0 = off; 1 = on", type:"Var"},
{name: "r.ParticleLODBias", help:"LOD bias for particle systems. Development feature,systems, default is 0", type:"Var"},
{name: "r.PostProcessing.ForceAsyncDispatch", help:"Will force asynchronous dispatch for post processing compute shaders where implementations available.\nOnly available for testing in non-shipping builds.", type:"Var"},
{name: "r.PostProcessing.PreferCompute", help:"Will use compute shaders for post processing where implementations available.", type:"Var"},
{name: "r.PostProcessing.PropagateAlpha", help:"0 to disable scene alpha channel support in the post processing.\n 0: disabled (default)\n 1: enabled", type:"Var"},
{name: "r.PreCullIndexBuffers", help:"Runs a slow operation to remove any static mesh triangles that are invisible or inside a precull volume.", type:"Cmd"},
{name: "r.PreCullMaxDistance", help:"", type:"Var"},
{name: "r.ProfileGPU.ShowEventHistogram", help:"Whether the event histogram should be shown.", type:"Var"},
{name: "r.RenderTargetPool.AllowMultipleAliasingDiscardsPerFrame", help:"If enabled, allows rendertargets to be discarded and reacquired in the same frame.\nThis should give better aliasing efficiency, but carries some RHIthread/GPU performance overhead\nwith some RHIs (due to additional commandlist flushes)\n 0:off (default), 1:on", type:"Var"},
{name: "r.RHICmdStateCacheEnable", help:"If > 0, then enable a minor state cache on the from of cmdlist recording.", type:"Var"},
{name: "r.RHIThread.Enable", help:"Enables/disabled the RHI Thread\n",Thread and determine if the RHI work runs on a dedicated thread or not.\n", type:"Cmd"},
{name: "r.SceneAlpha", help:"0 to disable scene alpha channel support.\n 0: disabled (default)\n 1: enabled", type:"Var"},
{name: "r.Shaders.BoundsChecking", help:"Whether toexplicitly enforce bounds-checking & flush-to-zero/ignore for buffer reads & writes in shaders. Defaults to 0 (disabled - maintains previous behaviour).1 (enabled). Not all shader languages can omit bounds checking.", type:"Var"},
{name: "r.Shaders.ZeroInitialise", help:"Whether to explicitlyenforce zero initialise local variables of primitive type in shaders. Defaults to 0 (disabled - maintains previous behaviour).1 (enabled). Not all shader languages can omit zero initialisation.", type:"Var"},
{name: "r.Shadow.FilterMethod", help:"Chooses the shadow filtering method.\n 0: Uniform PCF (default)\n 1: PCSS (experimental)\n", type:"Var"},
{name: "r.Shadow.MaxCSMResolution", help:"Max square dimensions (in texels) allowed for rendering Cascaded Shadow depths. Range 4 to hardware limit. Higher = better quality shadows but at a performance cost.", type:"Var"},
{name: "r.Shadow.MaxSoftKernelSize", help:"Mazimum size of the softening kernels in pixels.", type:"Var"},
{name: "r.Shadow.UseOctreeForCulling", help:"Whether to use the primitive octree for shadow subject culling.  The octree culls large groups of primitives at a time, but introduces cache misses walking the data structure.", type:"Var"},
{name: "r.SkeletalMeshLODBias", help:"LOD bias for skeletal meshes.",meshes (does not affect animation editor viewports).", type:"Var"},
{name: "r.SkinCache.BufferSize", help:"The maximum memory used for writing out the vertices in bytes\nSplit into GPUSKINCACHE_FRAMES chunks (eg 300 MB means 100 MB for 3 frames)\nDefault is 99MB.  Only used with r.SkinCache.Mode=1\n", type:"Var"},
{name: "r.SkinCache.Debug", help:"A scaling constant passed to the SkinCache shader, useful for debugging", type:"Var"},
{name: "r.SkinCache.MaxGPUElementsPerFrame", help:"The maximum compute processed skin cache elements per frame. Only used with r.SkinCache.Mode=1\n (default is 1000)","r.SkinCache.ForceRecomputeTangents", help:"Forces enabling/using the skincache and forces all skinned object to Recompute Tangents\n", type:"Var"},
{name: "r.SkinCache.NumTangentIntermediateBuffers", help:"How many intermediate buffers to use for intermediate results while\ndoing Recompute Tangents; more may allow the GPU to overlap compute jobs.", type:"Var"},
{name: "r.SkinCache.RecomputeTangents", help:"This option enables recomputing the vertex tangents on the GPU.\nCan be changed at runtime, requires both r.SkinCache.CompileShaders=1 and r.SkinCache.Mode=1\n 0: off\n 1: on, forces all skinned object to TecomputeRecompute Tangents\n 2: on, only recompute tangents on skinned objects who ticked the TecomputeRecompute Tangents checkbox(default)\n", type:"Var"},
{name: "r.SkinCache.Safety", help:"To supress ensure() and check() when running on stage\n 0: disable ensure() and check()\n 1: enable ensure() and check() (default)","r.SkinCache.SceneMemoryLimitInMB", help:"Maximum memory allowed to be allocated per World/Scene in Megs", type:"Var"},
{name: "r.SplineMesh.NoRecreateProxy", help:"Optimization. If true, spline mesh proxies will not be recreated every time they are changed. They are simply updated.", type:"Var"},
{name: "r.Streaming.ScaleTexturesByGlobalMyBias","r.Streaming.ScaleTexturesByGlobalMipBias", help:"If non-zero, streaming textures wanted resolution will be scaled down by the global mip bias", type:"Var"},
{name: "r.TransientResourceAliasing.Buffers", help:"If true, enable transient resource aliasing for buffers", type:"Var"},
{name: "r.TransientResourceAliasing.RenderTargets", help:"0 : Disabled\n1 : enable transient resource aliasing for fastVRam rendertargets\n2 : enable transient resource aliasing for ALL rendertargets (experimental!)\n", type:"Var"},
{name: "r.UseUserShaderCache", help:"If true, shader caching will use (and store) draw-log from a user directory, otherwise only draw-log stored in game content directory", type:"Var"},
{name: "r.VolumetricFog", help:"Whether to allow the volumetric fog feature.", type:"Var"},
{name: "r.VolumetricFog.DepthDistributionScale", help:"Scales the slice depth distribution.", type:"Var"},
{name: "r.VolumetricFog.GridPixelSize", help:"XY Size of a cell in the voxel grid, in pixels.", type:"Var"},
{name: "r.VolumetricFog.GridSizeZ", help:"How many Volumetric Fog cells to use in z.", type:"Var"},
{name: "r.VolumetricFog.HistoryMissSupersampleCount", help:"Number of lighting samples to compute for voxels whose history value is not available.\nThis reduces noise when panning or on camera cuts, but introduces a variable cost to volumetric fog computation.  Valid range [1, 16].", type:"Var"},
{name: "r.VolumetricFog.HistoryWeight", help:"How much the history value should be weighted each frame.  This is a tradeoff between visible jittering and responsiveness.", type:"Var"},
{name: "r.VolumetricFog.InjectShadowedLightsSeparately", help:"Whether to allow the volumetric fog feature.", type:"Var"},
{name: "r.VolumetricFog.InverseSquaredLightDistanceBiasScale", help:"Scales the amount added to the inverse squared falloff denominator.  This effectively removes the spike from inverse squared falloff that causes extreme aliasing.", type:"Var"},
{name: "r.VolumetricFog.Jitter", help:"Whether to apply jitter to each frame\'s volumetric fog computation, achieving temporal super sampling.", type:"Var"},
{name: "r.VolumetricFog.LightFunctionSupersampleScale", help:"Scales the slice depth distribution.", type:"Var"},
{name: "r.VolumetricFog.TemporalReprojection", help:"Whether to use temporal reprojection on volumetric fog.", type:"Var"},
{name: "r.VolumetricFog.VoxelizationShowOnlyPassIndex", help:"When >= 0, indicates a single voxelization pass to render for debugging.", type:"Var"},
{name: "r.VolumetricFog.VoxelizationSlicesPerGSPass", help:"How many depth slices to render in a single voxelization pass (max geometry shader expansion).  Must recompile voxelization shaders to propagate changes.", type:"Var"},
{name: "r.VT.MaskedPageTableUpdates", help:"Masks the page table update quads to reduce pixel fill costs", type:"Var"},
{name: "r.VT.MaxUploadsPerFrame", help:"Max number of page uploads per frame", type:"Var"},
{name: "r.VT.NumMipsToExpandRequests", help:"Number of mip levels to request in addition to the original request", type:"Var"},
{name: "r.VT.RefreshEntirePageTable", help:"Refreshes the entire page table texture every frame", type:"Var"},
{name: "r.Vulkan.DelayAcquireBackBuffer", help:"Delay acquiring the back buffer until preset", type:"Var"},
{name: "r.Vulkan.EnableValidation", help:"0 to disable validation layers (default)\n1 to enable errors\n2 to enable errors & warnings\n3 to enable errors, warnings & performance warnings\n4 to enable errors, warnings, performance & information messages\n5 to enable all messages", type:"Var"},
{name: "r.Vulkan.IgnoreCPUReads", help:"Debugging utility for GPU->CPU reads.\n 0 will read from the GPU (default).\n 1 will read from GPU but fill the buffer instead of copying from a texture.\n 2 will NOT read from the GPU and fill with zeros.\n", type:"Var"},
{name: "r.Vulkan.PipelineCacheLoad", help:"0 to disable loading the pipeline cache1 to enable using pipeline cache", type:"Var"},
{name: "r.Vulkan.RHIThread", help:"1 to use RHI Thread", type:"Var"},
{name: "r.Vulkan.StripGlsl", help:"1 to remove glsl source (default)\n0 to keep glsl source in each shader for debugging", type:"Var"},
{name: "r.Vulkan.SubmitOnCopyToResolve", help:"Submits the Queue to the GPU on every RHICopyToResolveTarget call.\n 0: Do not submit (default)\n 1: Submit", type:"Var"},
{name: "r.Vulkan.SubmitOnDispatch", help:"0 to not do anything special on dispatch(default)\n1 to submit the cmd buffer after each dispatch", type:"Var"},
{name: "r.Vulkan.UseSingleQueue", help:"Forces using the same queue for uploads and graphics.\n 0: Uses multiple queues(default)\n 1: Always uses the gfx queue for submissions", type:"Var"},
{name: "r.Vulkan.WaitForIdleOnSubmit", help:"Waits for the GPU to be idle on every submit. Useful for tracking GPU hangs.\n 0: Do not wait(default)\n 1: Wait", type:"Var"},
{name: "s.AsyncIOBandwidthLimit", help:"Constrain bandwidth if wanted. Value is in MByte/ sec.", type:"Var"},
{name: "s.EditorLoadPrecacheSizeKB", help:"Size, in KB, to precache when loading packages in the editor.", type:"Var"},
{name: "s.MaxReadyRequestsToStallMB", help:"Controls the maximum amount memory for unhandled IO requests before we stall the pak precacher to let the CPU catch up (in megabytes).", type:"Var"},
{name: "s.PreloadPackageDependencies", help:"Enables preloading of package dependencies based on data from the asset registry\n0 - Do not preload dependencies. Can cause more seeks but uses less memory [default].\n1 - Preload package dependencies. Faster but requires asset registry data to be loaded into memory\n", type:"Var"},
{name: "s.ProcessPrestreamingRequests", help:"If non-zero, then we process prestreaming requests in cooked builds.", type:"Var"},
{name: "s.StreamableDelegateDelayFrames", help:"Number of frames to delay StreamableManager delegates ", type:"Var"},
{name: "ShowFlag.Bones", help:"Allows to override a specific showflag (works in editor and game, \"show\" only works in game and UI only in editor)\nUseful to run a build many time with the same showflags (when put in consolevariables.ini like \"showflag.abc=0\")\n 0: force the showflag to be OFF\n 1: force the showflag to be ON\n 2: do not override this showflag (default)", type:"Var"},
{name: "ShowFlag.FoliageOcclusionBounds", help:"Allows to override a specific showflag (works in editor and game, \"show\" only works in game and UI only in editor)\nUseful to run a build many time with the same showflags (when put in consolevariables.ini like \"showflag.abc=0\")\n 0: force the showflag to be OFF\n 1: force the showflag to be ON\n 2: do not override this showflag (default)", type:"Var"},
{name: "ShowFlag.SkinCache", help:"Allows to override a specific showflag (works in editor and game, \"show\" only works in game and UI only in editor)\nUseful to run a build many time with the same showflags (when put in consolevariables.ini like \"showflag.abc=0\")\n 0: force the showflag to be OFF\n 1: force the showflag to be ON\n 2: do not override this showflag (default)", type:"Var"},
{name: "ShowFlag.VisualizeGlobalDistanceField", help:"Allows to override a specific showflag (works in editor and game, \"show\" only works in game and UI only in editor)\nUseful to run a build many time with the same showflags (when put in consolevariables.ini like \"showflag.abc=0\")\n 0: force the showflag to be OFF\n 1: force the showflag to be ON\n 2: do not override this showflag (default)", type:"Var"},
{name: "ShowFlag.VolumetricFog", help:"Allows to override a specific showflag (works in editor and game, \"show\" only works in game and UI only in editor)\nUseful to run a build many time with the same showflags (when put in consolevariables.ini like \"showflag.abc=0\")\n 0: force the showflag to be OFF\n 1: force the showflag to be ON\n 2: do not override this showflag (default)", type:"Var"},
{name: "Slate.AbsoluteIndices", help:"0: Each element first vertex index starts at 0 (default), 1: Use absolute indices, simplifies draw call setup on RHIs that do not support BaseVertex", type:"Var"},
{name: "Slate.CacheRenderData", help:"Invalidation panels will cache render data, otherwise cache only widget draw elements.", type:"Var"},
{name: "Slate.DebugCulling", help:"Controls whether we should ignore clip rects, and just use culling.", type:"Var"},
{name: "Slate.DrawToVRRenderTarget", help:"If enabled while in VR. Slate UI will be drawn into the render target texture where the VR imagery for either eye was rendered, allow the viewer of the HMD to see the UI (for better or worse.)  This render target will then be cropped/scaled into the back buffer, if mirroring is enabled.  When disabled, Slate UI will be drawn on top of the backbuffer (not to the HMD) after the mirror texture has been cropped/scaled into the backbuffer.", type:"Var"},
{name: "Slate.EnableDrawEvents", help:".", type:"Var"},
{name: "Slate.FoldTick", help:"When folding, call Tick as part of the paint pass instead of a separate tick pass.","Slate.Feathering", help:"", type:"Var"},
{name: "Slate.OverrideScissorRect", help:"Whether to allow Slate to apply a scissor clip to UI elements to prevent certain artifacts.  You might need to disable this if you are drawing UI over a mirror backbuffer while in VR.", type:"Var"},
{name: "Slate.PixelSnapRenderTransform", help:"If the element being drawn has a render transform with Rotation, Scale or Shear, we automatically disable pixel snapping.", type:"Var"},
{name: "Slate.PreventDuplicateMouseEventsForTouch", help:"Hack to get around multiple mouse events being triggered for touch events.  Enabling this will prevent pen tablets from working since until we switch to the windows 8 sdk (and can use WM_POINTER* events) we cannot detect the difference", type:"Var"},
{name: "Slate.ShowClipping", help:"Controls whether we should render a clipping zone outline.  Yellow = Axis Scissor Rect Clipping (cheap).  Red = Stencil Clipping (expensive).", type:"Var"},
{name: "Slate.ShowTextDebugging", help:"Show debugging painting for text rendering.", type:"Var"},
{name: "Slate.ShowWireFrame", help:"", type:"Var"},
{name: "Slate.VerifyHitTestVisibility", help:"Should we double check the visibility of widgets during hit testing, in case previously resolved hit tests that same frame may have changed state?", type:"Var"},
{name: "SoundClassFixup", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "stats.MaxPerGroup", help:"The max number of lines of stats to show in a group", type:"Var"},
{name: "STEREO", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "t.FPSChart.InterestingFramerates", help:"Comma separated list of interesting frame rates\n default: 30,60,120", type:"Var"},
{name: "t.TickComponentLatentActionsWithTheComponent", help:"Should we tick latent actions fired for a component at the same time as the component?\n 0: Tick component latent actions later on in the frame (behavior prior to 4.16, provided for games relying on the old behavior but will be removed in the future)\n 1: Tick component latent actions at the same time as the component (default)", type:"Var"},
{name: "TaskGraph.ABTestThreads", help:"Takes two 0/1 arguments. Equivalent to setting TaskGraph.UseHiPriThreads and TaskGraph.UseBackgroundThreads, respectively. Packages as one command for use with the abtest command.", type:"Cmd"},
{name:"TaskGraph.ConsoleSpinMode", help:"If > 0, then we never allow all task threads to idle; one will always be spinning looking for work (if mode == 2, then we sleep0 when spinning); this relieve the calling thread from the buden of starting threads. Only active with TaskGraph.FastScheduler 1.", type:"Var"},
{name: "TaskGraph.FastScheduler", help:"If > 0, then use the new experimental anythread task scheduler.", type:"Var"},
{name: "TaskGraph.MaxTasksToStartOnDequeue", help:"Performance tweak, controls how many additional task threads a task thread starts when it grabs a list of new tasks. This only applies in TaskGraph.ConsoleSpinMode", type:"Var"},
{name: "TaskGraph.NumWorkerThreadsToIgnore", help:"Used to tune the number of task threads. Generally once you have found the right value, PlatformMisc::NumberOfWorkerThreadsToSpawn() should be hardcoded.", type:"Var"},type:"Cmd"},
{name: "TaskGraph.TaskPriorities.RHIThreadOnTaskThreads", help:"Task and thread priority for when we are running \'RHI thread\' tasks on any thread.", type:"Cmd"},
{name: "TaskGraph.TestLockFree", help:"Test lock free lists", type:"Cmd"},
{name: "TaskGraph.UseBackgroundThreads", help:"If > 0, then use background threads, otherwise run background tasks on normal priority task threads. Used for performance tuning.", type:"Var"},
{name: "TaskGraph.UseHiPriThreads", help:"If > 0, then use hi priority task threads, otherwise run background tasks on normal priority task threads. Used for performance tuning.", type:"Var"},
{name: "TRACETAGALL", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "VI.AlignCandidateDistance", help:"The distance candidate actors can be from our transformable (in multiples of our transformable\'s size", type:"Var"},
{name: "VI.AllowLaserSmooth", help:"Allow laser smoothing using one euro", type:"Var"},
{name: "VI.DragTranslationVelocityStopEpsilon", help:"When dragging inertia falls below this value (cm/frame), we\'ll stop inertia and finalize the drag", type:"Var"},
{name: "VI.ForceGizmoPivotToCenterOfSelectedActorsBounds","VI.EnableGuides", help:"Whether or not guidelines should be enabled. Off by default, set to 1 to enable.", type:"Var"},
{name: "VI.ForceGizmoPivotToCenterOfObjectsBounds", help:"When enabled, the gizmo\'s pivot will always be centered on the selected actors.objects.  Otherwise, we use the pivot of the last selected actor.",object.", type:"Var"},
{name: "VI.ForceMode", help:"Toggles viewport interaction on desktop", type:"Cmd"},
{name: "VI.ForceShowCursor", help:"Whether or not the mirror window\'s cursor should be enabled. Off by default, set to 1 to enable.", type:"Var"},
{name: "VI.ForceSnapDistance", help:"The distance (in % of transformable size) where guide lines indicate that actors are aligned", type:"Var"},
{name: "VI.GizmoRotationSensitivity","VI.GizmoScaleInDesktop", help:"How muchbig the transform gizmo should be when used in desktop mode", type:"Var"},
{name: "VI.GizmoSelectionAnimationCurvePower", help:"Controls the animation curve for the gizmo after objects are selected", type:"Var"},
{name: "VI.GizmoSelectionAnimationDuration", help:"How long to rotate asanimate the user drags ongizmo after objects are selected", type:"Var"},
{name: "VI.GizmoShowMeasurementText", help:"When enabled, gizmo measurements will always be visible.  Otherwise, only when hovering over a rotationscale/stretch gizmo handle", type:"Var"},
{name: "VI.GrabberSphereOffset", help:"Offset from the controller origin that the grabber sphere should be centered at", type:"Var"},
{name: "VI.GrabberSphereRadius", help:"In radial mode, the radius of the sphere used to select and interact", type:"Var"},
{name: "VI.LaserPointerRetractDuration", help:"How fast the laser pointer should extend or retract", type:"Var"},
{name: "VI.LaserSmoothLag", help:"Laser smooth lag", type:"Var"},
{name: "VI.LaserSmoothMinimumCutoff", help:"Laser smooth lag", type:"Var"},
{name: "VI.MinVelocityForInertia", help:"Minimum velocity (in cm/frame in unscaled room space) before inertia will kick in when releasing objects (or the world)", type:"Var"},
{name: "VI.PivotGizmoAimAtAnimationSpeed", help:"The speed to animate to the gizmo full size when aiming at it", type:"Var"},
{name: "VI.PivotGizmoAimAtShrinkSize", help:"The minimum size when not aiming at the gizmo (0 to 1)", type:"Var"},
{name: "VI.PivotGizmoDistanceScaleFactor", help:"How much the gizmo handles should increase in size with distance from the camera, to make it easier to select", type:"Var"},
{name: "VI.PivotGizmoMinDistanceForScaling", help:"How far away the camera needs to be from an object before we\'ll start scaling it based on distance", type:"Var"},
{name: "VI.PivotGizmoPlaneTranslationPivotOffsetYZ", help:"How much the plane translation is offsetted from the pivot", type:"Var"},
{name: "VI.PivotGizmoScalePivotOffsetX", help:"How much the non-uniform scale is offsetted from the pivot", type:"Var"},
{name: "VI.PivotGizmoTranslationHoverScaleMultiply", help:"Multiplies translation handles hover scale", type:"Var"},
{name: "VI.PivotGizmoTranslationPivotOffsetX", help:"How much the translation cylinder is offsetted from the pivot", type:"Var"},
{name: "VI.PivotGizmoTranslationScaleMultiply", help:"Multiplies translation handles scale", type:"Var"},
{name: "VI.PlacementOffsetScaleWhileSimulating", help:"How far to additionally offset objects (as a scalar percentage of the gizmo bounds) from the placement impact point while simulate mode is active", type:"Var"},
{name: "VI.ScaleWorldWithDynamicPivot", help:"Whether to compute a new center point for scaling relative from by looking at how far either controller moved relative to the last frame", type:"Var"},
{name: "VI.SFXMultiplier", help:"Default Sound Effect Volume Multiplier", type:"Var"},
{name: "VI.SleepForRiftHaptics", help:"When enabled, we\'ll sleep the game thread mid-frame to wait for haptic effects to finish.  This can be devasting to performance!", type:"Var"},
{name: "VI.SnapGridSize", help:"How big the snap grid should be, in multiplesbe.  At 1.0, this will be the maximum of the gizmogizmo\'s bounding box and a multiple of the current grid snap size", type:"Var"},
{name: "VI.TriggerFullyPressedReleaseThreshold", help:"After fully pressing the trigger, if the axis falls below this threshold we no longer consider it fully pressed", type:"Var"},
{name: "VI.TriggerFullyPressedThreshold","VI.TriggerFullyPressedThreshold_Rift", help:"Minimum trigger threshold before we consider the trigger \'fully pressed\'", type:"Var"},
{name: "VI.TriggerLightlyPressedThreshold_Rift","VI.TriggerFullyPressedThreshold_Vive", help:"Minimum trigger threshold before we consider the trigger at least \'lightly pressed\'", type:"Var"},
{name: "VI.TriggerLightlyPressedThreshold_Vive", help:"Minimum trigger threshold before we consider the trigger at least \'lightly\'fully pressed\'", type:"Var"},
{name: "vr.bExitGracefully", help:"Exit gracefully when forced by Universal Menu.","vr.AllowMotionBlurInVR", help:"For projects with motion blur enabled, this allows motion blur to be enabled even while in VR.", type:"Var"},
{name: "vr.bStartInVR", help:"Start in VR flag","vr.bEnableHMD", help:"Enables or disables the HMD device. Use 1, True, or Yes to enable, 0, False or No to disable.", type:"Cmd"},
{name: "vr.bEnableStereo", help:"Enables or disables the stereo rendering. Use 1, True, or Yes to enable, 0, False or No to disable.", type:"Cmd"},
{name: "vr.Debug.bEnableDevOverrides", help:"Enables or disables console commands that modify various developer-only settings.", type:"Var"},
{name: "vr.Debug.VisualizeTrackingSensors", help:"Show or hide the location and coverage area of the tracking sensors\nUse 1, True, or Yes to enable, 0, False or No to disable.", type:"Cmd"},
{name: "vr.HeadTracking.Reset", help:"Reset the rotation and position of the head mounted display.\nPass in an optional yaw for the new rotation in degrees.", type:"Cmd"},
{name: "vr.HeadTracking.ResetOrientation", help:"Reset the rotation of the head mounted display.\nPass in an optional yaw for the new rotation in degrees .", type:"Cmd"},
{name: "vr.HeadTracking.ResetPosition", help:"Reset the position of the head mounted display.", type:"Cmd"},
{name: "vr.HeadTracking.Status", help:"Reports the current status of the head tracking.", type:"Cmd"},
{name: "vr.HiddenAreaMask", help:"0 tohelp:"Enable or disable hidden area mask, 1 to enable.",mask\n0: disabled\n1: enabled", type:"Var"},
{name: "vr.HMDVersion", help:"Prints version information for the current HMD device.", type:"Cmd"},
{name: "vr.MirrorMode", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "vr.MobileMultiView.Direct", help:"0 to disable mobile multi-view direct, 1 to enable.\nWhen enabled the scene color render target array is provided by the hmd plugin so we can skip the blit.\n", type:"Var"},
{name: "vr.SetTrackingOrigin", help:"0 - tracking origin"vr.oculus.Stress.CPU", help:"Initiates a CPU stress test.\n Usage: vr.oculus.Stress.CPU [PerFrameTime [TotalTimeLimit]]", type:"Cmd"},
{name: "vr.oculus.Stress.GPU", help:"Initiates a GPU stress test.\n Usage: vr.oculus.Stress.GPU [LoadMultiplier [TimeLimit]]", type:"Cmd"},
{name: "vr.oculus.Stress.PD", help:"Initiates a pixel density stress test wher pixel density is atchanged every frame for TotalTimeLimit seconds.\n Usage: vr.oculus.Stress.PD [TotalTimeLimit]", type:"Cmd"},
{name: "vr.oculus.Stress.Reset", help:"Resets the floor, 1 - tracking origin is atstress tester and stops all currently running stress tests.\n Usage: vr.oculus.Stress.Reset", type:"Cmd"},
{name: "vr.SetTrackingOrigin", help:"Sorry: Exec commands have no help", type:"Exec"},
{name: "vr.SpectatorScreenMode", help:"Changes the look of the spectator if supported by the HMD plugin.\n 0: disable mirroring\n 1: single eye\n 2: stereo pair\nNumbers larger than 2 may be possible and specify HMD plugin-specific variations.\nNegative values are treated the eyes.",same as 0.", type:"Cmd"},
{name: "vr.SteamVR.UseVisibleAreaMesh", help:"If non-zero, SteamVR will use the visible area mesh in addition to the hidden area mesh optimization.  This may be problematic on beta versions of platforms.", type:"Var"},
{name: "vr.StereoLayers.bMixLayerPriorities", help:"By default, Face-Locked Stereo Layers are always rendered on top of any other layer position types.\nSet this to a non-zero value to disable this behavior (not supported on all platforms.)", type:"Var"},
{name: "vr.TrackingOrigin", help:"Floor or 0 - tracking origin is at the floor, Eye or 1 - tracking origin is at the eye level.", type:"Cmd"},
{name: "vr.WorldToMetersScale", help:"Get or set the current world to meters scale.", type:"Cmd"},
{name: "VREd.AllowPlay", help:"Allow to start play.", type:"Var"},
{name: "VREd.AllowResetScale", help:"Allowed to reset world to meters to default world to meters", type:"Var"},
{name: "VREd.CentralWidgetX", help:"Horizontal resolution to use for VR editor radial UI render targets", type:"Var"},
{name: "VREd.CentralWidgetY", help:"Vertical resolution to use for VR editor radial UI render targets", type:"Var"},
{name: "VREd.DockDragSpeed", help:"Dock dragging time delay","VREd.DefaultRadialElementResolutionX", help:"Horizontal resolution to use for VR editor radial UI render targets", type:"Var"},
{name: "VREd.DefaultRadialElementResolutionY", help:"Vertical resolution to use for VR editor radial UI render targets", type:"Var"},
{name: "VREd.DockSnapTime", help:"Lerp time"VREd.DefaultVRNearClipPlane", help:"The near clip plane to use for snapping dockVR", type:"Var"},
{name: "VREd.DefaultWorldToMeters", help:"Default world to hand and back",meters scale", type:"Var"},
{name: "VREd.DockUICloseButtonOffsetFromCorner","VREd.DockUIDragSmoothingAmount", help:"How far away from the corner (along each 2D axis) of themuch to smooth out motion when dragging UI the close button draws",(frame rate sensitive)", type:"Var"},
{name: "VREd.DockUISmoothingAmount", help:"How much to smooth out UI transforms (frame rate sensitive)", type:"Var"},
{name: "VREd.DoubleClickTime", help:"Minimum duration between clicks for a double click event to fire", type:"Var"},
{name: "VREd.EditorUIOffsetFromHand", help:"How far to offset editor UIs from the origin of the hand mesh", type:"Var"},
{name: "VREd.ForceOculusMirrorMode", help:"Which Oculus display mirroring mode to use (see MirrorWindowModeType in OculusRiftHMD.h)","VREd.FoliageOpacity", help:"The foliage brush opacity.", type:"Var"},
{name: "VREd.GizmoDistanceScaleFactor", help:"How much the gizmo handles should increase in size with distance from the camera, to make it easier to select", type:"Var"},
{name: "VREd.GizmoScale", help:"How big the gizmo handles should be", type:"Var"},
{name: "VREd.GizmoSelectionAnimationCurvePower", help:"Controls the animation curve for the gizmo after objects are selected", type:"Var"},
{name: "VREd.GizmoSelectionAnimationDuration", help:"How long to animate the gizmo after objects are selected", type:"Var"},
{name: "VREd.GizmoShowMeasurementText", help:"When enabled, gizmo measurements will always be visible.  Otherwise, only when hovering over a scale/stretch gizmo handle", type:"Var"},
{name: "VREd.HeadLocationMaxVelocity", help:"For head velocity indicator, the maximum location velocity in cm/s", type:"Var"},
{name: "VREd.HeadLocationVelocityOffset", help:"Offset relative to head for location velocity debug indicator", type:"Var"},
{name: "VREd.HeadRotationMaxVelocity", help:"For head velocity indicator, the maximum rotation velocity in degrees/s", type:"Var"},
{name: "VREd.HeadRotationVelocityOffset", help:"Offset relative to head for rotation velocity debug indicator", type:"Var"},
{name: "VREd.HeadVelocityMaxLineThickness", help:"How thick the head velocity ring lines should be", type:"Var"},
{name: "VREd.HeadVelocityMaxRadius", help:"How big the outer circle of the head velocity ring should be", type:"Var"},
{name: "VREd.HeadVelocityMinLineThickness", help:"How thick the head velocity ring lines should be", type:"Var"},
{name: "VREd.HeadVelocityMinRadius", help:"How big the inner circle of the head velocity ring should be", type:"Var"},
{name: "VREd.HeadVelocitySmoothing", help:"How much to smooth out head velocity data", type:"Var"},
{name: "VREd.HoverBallRadiusScaleWhenOverUI", help:"How much to scale down the size of the hover ball when over UI", type:"Var"},
{name: "VREd.LaserRadiusScaleWhenOverUI", help:"How much to scale down the size of the laser pointer radius when over UI", type:"Var"},
{name: "VREd.MinActorSizeForTransformGizmo", help:"How big an object must be in scaled world units before we\'ll start to shrink the gizmo", type:"Var"},
{name: "VREd.MinDockDragDistance", help:"Minimum amount of distance needed to drag dock from hand", type:"Var"},
{name: "VREd.MinHapticTimeForRift", help:"How long to play haptic effects"VREd.MinJoystickOffsetBeforeFlick", help:"Dead zone for flick actions on the Rift",motion controller", type:"Var"},
{name: "VREd.MinTrackpadOffsetBeforeRadialMenu", help:"How far you have to hold the trackpad upward before you can placing objects instantly by pulling the trigger", type:"Var"},
{name: "VREd.MinVelocityForInertia", help:"Minimum velocity (in cm/frame in unscaled room space) before inertia will kick in when releasing objects (or the world)", type:"Var"},
{name: "VREd.OverrideSizeOfPlacedActors", help:"If set to a value greater than zero, sets the size in cm of a placed actor (relative to your world\'s scale)", type:"Var"},
{name: "VREd.PivotGizmoDistanceScaleFactor", help:"How much the gizmo handles should increase in size with distance from the camera, to make it easier to select", type:"Var"},
{name: "VREd.PivotGizmoPlaneTranslationPivotOffsetYZ", help:"How much the plane translation is offsetted from the pivot", type:"Var"},
{name: "VREd.PivotGizmoScalePivotOffsetX", help:"How much the non-uniform scale is offsetted from the pivot", type:"Var"},
{name: "VREd.PivotGizmoTranslationHoverScaleMultiply", help:"Multiplies translation handles hover scale", type:"Var"},
{name: "VREd.PivotGizmoTranslationPivotOffsetX", help:"How much the translation cylinder is offsetted from the pivot", type:"Var"},
{name: "VREd.PivotGizmoTranslationScaleMultiply", help:"Multiplies translation handles scale", type:"Var"},
{name: "VREd.RadialUIBrightness", help:"How bright the UI should be", type:"Var"},
{name: "VREd.RadialUIFadeSpeed", help:"How fast UI should fade in and out", type:"Var"},
{name: "VREd.ShowMovementGrid", help:"Showing"VREd.SequencerScrubMax", help:"Max fast forward or fast reverse magnitude", type:"Var"},
{name: "VREd.SequencerUIResolutionX", help:"Horizontal resolution to use for Sequencer UI render targets", type:"Var"},
{name: "VREd.SequencerUIResolutionY", help:"Vertical resolution to use for Sequencer UI render targets", type:"Var"},
{name: "VREd.SFXMultiplier", help:"Default Sound Effect Volume Multiplier", type:"Var"},
{name: "VREd.ShowControllerHelpLabels", help:"Enables help text overlay when controllers are near the ground movement grid",viewer", type:"Var"},
{name: "VREd.ShowWorldMovementPostProcess", help:"Showing"VREd.ShowHeadVelocity", help:"Whether to draw a debug indicator that shows how much the movement post processing",head is accelerating", type:"Var"},
{name: "VREd.SlateDragDistanceOverride", help:"How many pixels you need to drag before a drag and drop operation starts in VR", type:"Var"},
{name: "VREd.SteamVRTrackpadDeadzone", help:"The deadzone for the Vive motion controller trackpad", type:"Var"},
{name: "VREd.TeleportAllowPushPull", help:"Allow being able to push and pull the teleporter along the laser.", type:"Var"},
{name: "VREd.TeleportAllowScaleBackToDefault", help:"Scale back to default world to meters scale", type:"Var"},
{name: "VREd.TeleportAnimateSpeed", help:"How fast the teleporter should fade in", type:"Var"},
{name: "VREd.TeleportDragSpeed", help:"How fast the teleporter should drag behind the laser aiming location", type:"Var"},
{name: "VREd.TeleportEnableChangeScale", help:"Ability to change the world to meters scale while teleporting", type:"Var"},
{name: "VREd.TeleportOffsetMultiplier", help:"Teleport offset multiplier", type:"Var"},
{name: "VREd.TeleportScaleSensitivity", help:"Teleport world to meters scale touchpad sensitivity", type:"Var"},
{name: "VREd.TeleportSlideBuffer", help:"The minimum slide on trackpad to push/pull or change scale.", type:"Var"},
{name: "VREd.ToggleDebugMode", help:"Toggles debug mode of the VR Mode", type:"Cmd"},
{name: "VREd.TriggerLightlyPressedLockTime", help:"If the trigger remains lightly pressed for longer than this, we\'ll continue"VREd.TrackpadStopImpactAtLaserBuffer", help:"Required amount to treat it as a light press in some cases", type:"Var"},
{name: "VREd.TutorialUI.Location.X", help:"The X location for the tutorial UI panel", type:"Var"},
{name: "VREd.TutorialUI.Location.Y", help:"The Y location for the tutorial UI panel", type:"Var"},
{name: "VREd.TutorialUI.Location.Z", help:"The Z location for the tutorial UI panel", type:"Var"},
{name: "VREd.TutorialUI.Pitch", help:"The pitch rotation for the tutorial UI panel", type:"Var"},
{name: "VREd.TutorialUI.Resolution.X", help:"The X resolution for the tutorial UI panel", type:"Var"},
{name: "VREd.TutorialUI.Resolution.Y", help:"The Y resolution for the tutorial UI panel", type:"Var"},
{name: "VREd.TutorialUI.Size", help:"The room space size for the tutorial UI panel", type:"Var"},
{name: "VREd.TutorialUI.Yaw", help:"The yaw rotation for the tutorial UI panel",slide with input to stop transforming to end of laser", type:"Var"},
{name: "VREd.UIBrightness", help:"How bright the UI should be", type:"Var"},
{name: "VREd.UIPanelOpenDistance", help:"Distance to spawn a panel from the hand in centimeters", type:"Var"},
{name: "VREd.UIPanelOpenRotationPitchOffset", help:"The pitch rotation offset in degrees when spawning a panel in front of the motioncontroller", type:"Var"},
{name: "VREd.UseMouseAsHandInForcedVRMode", help:"When in forced VR mode, enabling this setting uses the mouse cursor as a virtual hand instead of motion controllers", type:"Var"},
{name: "VREd.VRNearClipPlane", help:"The near clip plane to use for VR", type:"Var"},
{name: "Widget.TemplatePreviewInEditor", help:"Should a dynamic template be generated at runtime for the editor for widgets?  Useful for debugging templates.", type:"Var"},