UI_COMMAND(Perspective,"Perspective","Switches the viewport to perspective view",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::G));
UI_COMMAND(Front,"Front","Switches the viewport to front view",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::H));
UI_COMMAND(Back,"Back","Switches the viewport to back view",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt|EModifierKey::Shift,EKeys::H));
UI_COMMAND(Top,"Top","Switches the viewport to top view",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::J));
UI_COMMAND(Bottom,"Bottom","Switches the viewport to bottom view",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt|EModifierKey::Shift,EKeys::J));
UI_COMMAND(Left,"Left","Switches the viewport to left view",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::K));
UI_COMMAND(Right,"Right","Switches the viewport to right view",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt|EModifierKey::Shift,EKeys::K));
UI_COMMAND(WireframeMode,"Brush Wireframe View Mode","Renders the scene in brush wireframe",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::Two));
UI_COMMAND(UnlitMode,"Unlit View Mode","Renders the scene with no lights",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::Three));
UI_COMMAND(LitMode,"Lit View Mode","Renders the scene with normal lighting",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::Four));
UI_COMMAND(DetailLightingMode,"Detail Lighting View Mode","Renders the scene with detailed lighting only",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::Five));
UI_COMMAND(LightingOnlyMode,"Lighting Only View Mode","Renders the scene with lights only, no textures",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::Six));
UI_COMMAND(LightComplexityMode,"Light Complexity View Mode","Renders the scene with light complexity visualization",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::Seven));
UI_COMMAND(ShaderComplexityMode,"Shader Complexity View Mode","Renders the scene with shader complexity visualization",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::Eight));
UI_COMMAND(StationaryLightOverlapMode,"Stationary Light Overlap View Mode","Visualizes overlap of stationary lights",EUserInterfaceActionType::RadioButton,FInputChord());
UI_COMMAND(LightmapDensityMode,"Lightmap Density View Mode","Renders the scene with lightmap density visualization",EUserInterfaceActionType::RadioButton,FInputChord(EModifierKey::Alt,EKeys::Zero));
UI_COMMAND(VisualizeBufferMode,"Buffer Visualization View Mode","Renders a set of selected post process materials, which visualize various intermediate render buffers (material attributes)",EUserInterfaceActionType::RadioButton,FInputChord());
UI_COMMAND(ReflectionOverrideMode,"Reflections View Mode","Renders the scene with reflections only",EUserInterfaceActionType::RadioButton,FInputChord());
UI_COMMAND(CollisionPawn,"Player Collision","Renders player collision visualization",EUserInterfaceActionType::RadioButton,FInputChord());
UI_COMMAND(ToggleRealTime,"Realtime","Toggles real time rendering in this viewport",EUserInterfaceActionType::ToggleButton,FInputChord(EModifierKey::Control,EKeys::R));
UI_COMMAND(ToggleStats,"Show Stats","Toggles the ability to show stats in this viewport (enables realtime)",EUserInterfaceActionType::ToggleButton,FInputChord(EModifierKey::Shift,EKeys::L));
UI_COMMAND(ToggleFPS,"Show FPS","Toggles showing frames per second in this viewport (enables realtime)",EUserInterfaceActionType::ToggleButton,FInputChord(EModifierKey::Control|EModifierKey::Shift,EKeys::H));
UI_COMMAND(ScreenCapture,"Screen Capture","Take a screenshot of the active viewport.",EUserInterfaceActionType::Button,FInputChord(EKeys::F9));
UI_COMMAND(ScreenCaptureForProjectThumbnail,"Update Project Thumbnail","Take a screenshot of the active viewport for use as the project thumbnail.",EUserInterfaceActionType::Button,FInputChord());
UI_COMMAND(IncrementPositionGridSize,"Grid Size (Position): Increment","Increases the position grid size setting by one",EUserInterfaceActionType::Button,FInputChord(EKeys::RightBracket));
UI_COMMAND(DecrementPositionGridSize,"Grid Size (Position): Decrement","Decreases the position grid size setting by one",EUserInterfaceActionType::Button,FInputChord(EKeys::LeftBracket));
UI_COMMAND(IncrementRotationGridSize,"Grid Size (Rotation): Increment","Increases the rotation grid size setting by one",EUserInterfaceActionType::Button,FInputChord(EModifierKey::Shift,EKeys::RightBracket));
UI_COMMAND(DecrementRotationGridSize,"Grid Size (Rotation): Decrement","Decreases the rotation grid size setting by one",EUserInterfaceActionType::Button,FInputChord(EModifierKey::Shift,EKeys::LeftBracket));
UI_COMMAND(TranslateMode,"Translate Mode","Select and translate objects",EUserInterfaceActionType::ToggleButton,FInputChord(EKeys::W));
UI_COMMAND(RotateMode,"Rotate Mode","Select and rotate objects",EUserInterfaceActionType::ToggleButton,FInputChord(EKeys::E));
UI_COMMAND(ScaleMode,"Scale Mode","Select and scale objects",EUserInterfaceActionType::ToggleButton,FInputChord(EKeys::R));
UI_COMMAND(TranslateRotateMode,"Combined Translate and Rotate Mode","Select and translate or rotate objects",EUserInterfaceActionType::ToggleButton,FInputChord());
UI_COMMAND(RelativeCoordinateSystem_World,"World-relative Transform","Move and rotate objects relative to the cardinal world axes",EUserInterfaceActionType::RadioButton,FInputChord());
UI_COMMAND(RelativeCoordinateSystem_Local,"Local-relative Transform","Move and rotate objects relative to the object's local axes",EUserInterfaceActionType::RadioButton,FInputChord());
UI_COMMAND(CycleTransformGizmoCoordSystem,"Cycle Transform Coordinate System","Cycles the transform gizmo coordinate systems between world and local (object) space",EUserInterfaceActionType::Button,FInputChord(EModifierKey::Command,EKeys::Tilde));
UI_COMMAND(CycleTransformGizmoCoordSystem,"Cycle Transform Coordinate System","Cycles the transform gizmo coordinate systems between world and local (object) space",EUserInterfaceActionType::Button,FInputChord(EModifierKey::Control,EKeys::Tilde));
UI_COMMAND(CycleTransformGizmos,"Cycle Between Translate, Rotate, and Scale","Cycles the transform gizmos between translate, rotate, and scale",EUserInterfaceActionType::Button,FInputChord(EKeys::SpaceBar));
UI_COMMAND(FocusViewportToSelection,"Focus Selected","Moves the camera in front of the selection",EUserInterfaceActionType::Button,FInputChord(EKeys::F));
UI_COMMAND(LocationGridSnap,"Grid Snap","Enables or disables snapping to the grid when dragging objects around",EUserInterfaceActionType::ToggleButton,FInputChord());
UI_COMMAND(RotationGridSnap,"Rotation Snap","Enables or disables snapping objects to a rotation grid",EUserInterfaceActionType::ToggleButton,FInputChord());
UI_COMMAND(ScaleGridSnap,"Scale Snap","Enables or disables snapping objects to a scale grid",EUserInterfaceActionType::ToggleButton,FInputChord());
UI_COMMAND(SurfaceSnapping,"Surface Snapping","If enabled, actors will snap to surfaces in the world when dragging",EUserInterfaceActionType::ToggleButton,FInputChord());