ArchViz UI3 Documentation 2024-09

Table of Content
Table Of Content
../images/architecture/0033/quick/thumbs/01.jpg
UI3 Quick Guide
../images/architecture/0033/start/thumbs/02.jpg
UI3 Get Started
../images/architecture/0033/design/thumbs/01t.jpg
UI3 Design
../images/architecture/0033/layout/thumbs/02.jpg
UI3 Layout Design
../images/architecture/0033/features/thumbs/08.jpg
UI3 Features
../images/architecture/0033/preview/thumbs/01.jpg
UI3 Preview Ft.
../images/architecture/0033/designer/thumbs/02.jpg
UI3 Designer
../images/architecture/0033/variation/thumbs/01.jpg
UI3 Variations
../images/architecture/0033/cost/thumbs/02.jpg
UI3 Cost
../images/architecture/0033/settings/thumbs/16d.jpg
UI3 Scene Settings
../images/architecture/0033/other/thumbs/02.jpg
UI3 Other BPs
../images/architecture/0033/game/thumbs/07.jpg
UI3 Input&Mode
../images/architecture/0033/vr/thumbs/03.jpg
UI3 VR projects
../images/architecture/0033/connect/thumbs/02.jpg
UI3 Connect
../images/architecture/0033/faq/thumbs/08.jpg
UI3 FAQ + TIPS
../images/architecture/0033/bugs/thumbs/01m.jpg
UI3 Fix Bugs
../images/architecture/0033/history/thumbs/01.jpg
UI3 Vers History

UI3 Input Controls & Game Modes

The Game Mode defines the type of game (Touch, VR) for the scene and what input devices are used to control it.

Some of the content is slightly different between versions.

Content:

World Settings

Multiple Input Controls

Game Mode Keyboard

Game Mode Touch

Game Mode Gamepad

Game Mode VR

Input settings (classic) for controllers

Enhanced Input Settings

World Settings

The Game Mode in Unreal defines which Character (Pawn) and Input Controller will be used in your project.

The Game Mode can be set in the World Properties. Each (persistent) level has its own World Properties. If you only have one level then this is the persistent level. You can have multiple Game Modes in the same Project.

There are 4 Game Modes to choose from:

  • SDotUI3_GameModeKeyboard for keyboard and mouse support
  • SDotUI3_GameModeTouch for touch controls
  • SDotUI3_GameModeGamepad for XBOX Gamepad support
  • SDotUI3_GameModeVR for VR headsets with a controller or gamepad.

image

Multiple Input Controls

You may want to use your project for keyboard and mouse and for a VR headset. You can do this by creating multiple persistent levels as it is the case in the demo project. Set the game mode in the world properties of the persistent level accordingly.

The persistent level only contains the Info Map blueprint, a player start and some components that may be necessary for the specific game mode.

All assets are split into sub levels, like for Building or Furniture. These levels are then added to the persistent levels as sub levels. All persistent levels use the same sub levels and changes to the sub level are applied to all versions of your project.

image

Game Mode Keyboard

SDotUI3_GameModeKeyboard

This is the Game Mode for keyboard and mouse controls. It uses

  • SDotUI3_CharacterV3
  • SDotUI3_ControllerKeyMouse. The controller blueprint contains all the nodes to navigate the menu.

The game mode contains a node from the OpenXR plugin to disable the VR headset.

image
This image shows the input controls for Keyboard and Mouse. The Player can use the WASD keys to move around and the Mouse to look around, or to select an item in the scene and interface.

The Info Map will work without changes with this game mode.

image

Game Mode Touch

SDotUI3_GameModeTouch

Use this Game Mode for touch screen devices. Also use it if you want to Pixel Stream onto a touch screen device. It uses

  • SDotUI3_CharacterV3
  • SDotUI3_ControllerTouch. The controller blueprint contains all the nodes to navigate the menu.

The game mode contains a node from the OpenXR plugin to disable the VR headset.

Touch can be simulated during development with Project Settings -> Input -> Use Mouse For Touch. Note that this will block the Mouse input from working in the keyboard mouse game mode.

image
Project Settings -> Input - > Mouse Properties
Use Mouse for Touch Allows you to use the mouse to simulate touch controls. Turn off after use as it blocks the mouse from working correctly.

Settings in the Info Map blueprint:

Info Map -> Project Settings
Use Mouse Move Will be enabled automatically
UI Design
Button Text Size Main menu button size:
20 - increase the size from the default
Scene Presets
> advanced display
Save Slot Size 80 x 80 - Increase the size for touch screen controls
Floorplan
> advanced display
Dot Size 32 - Increase the size of the marker
Info and Help
> About Project and Help The control scheme is used as the first Info Media
Help Image Use the image that shows the touch control scheme from the Tex folder
In previous versions the help image was set as index [0] of the Info Media Array.

image

Game Mode Gamepad

SDotUI3_GameModeGamepad

Use this Game Mode with the XBox gamepad controller or any other compatible controller. It also supports the VIVE and Oculus/Quest controller. Find some more info for the use of other controllers at the end of the page.

This Game Mode uses the

  • SDotUI3_CharacterV3
  • SDotUI3_ControllerGamepad. The controller blueprint contains all the nodes to navigate the menu.

The game mode contains a node from the OpenXR plugin to disable the VR headset.

image

Settings in the Info Map blueprint:

Project Settings
Use Mouse Move If true a target circle will be displayed on the floor. Once the move button (depends on the controller used) is clicked the player will slide to the circles position.
UI Design
> advanced display
Icon A Lets you replace the default gamepad face button down icon. This is used to select menu items (like enter).
Icon B Lets you replace the default gamepad face button right icon. This is used to toggle the menu visibility and move sliders to the right.
Icon X Lets you replace the default gamepad face button left icon. This is used to cancel and move sliders to the left.
Info and Help
Info Media > 0 By default the control scheme is used as the first Info Media
Image Replace the current image with the image that shows the control scheme of the connected controller. There are images for Gamepad, VIVE and Oculus Rift controller available.

How to use a different controller with the user interface is explained at the end of this page.

image
You can simulate the controller buttons on the keyboard as seen in the image.

Select may be either [SPACE] or [ENTER] in earlier versions.

image

Game Mode VR

SDotUI3_GameModeVR

Use this Game Mode for VR scenes. It enables the 3D interface on the virtual tablet. It uses

  • SDotUI3_CharacterV3
  • SDotUI3_ControllerGamepad. This is the same as described in the GameModeGamepad

Follow the link below to read more about the VR mode.

Using VR with UI3

image

Input settings (classic) for controllers

This describes the Classic Input Settings. See further down for Enhanced Input Settings (Unreal 5.3+).

You can use other controllers if they are generally supported in Unreal. You may have to activate them through a plug-in, or they may become available once they are connected.

Then add their buttons to the input controls in the Project Settings. Navigate to Engine / Input and then add your controller buttons to the Bindings. This should be somewhat self-explanatory.

Action Mappings are button clicks like ENTER, or keyboard shortcuts like [I] = Screenshot.

Axis Mappings are for player movement or mouse turn.

Detailed information can be found in the Unreal Engine Documentation.

Unreal Engine Documentation - Input

image

Enhanced Input Settings

The file DefaultInput.ini has become obsolete. Input Actions are now defined as assets saved in the folder ArchVizUI_V3/UI/Etc/Input.

The actual input keys and buttons are assigned in the file MC_ArchVizUI3

Here are two examples of how it works:

Keyboard Key S

This key controls the backwards movement. Movement is two- dimensional and can be X or Y, or forward/backward and Left/Right. You'll need 2 modifiers for this control key

  • Swizzle Input Axis Values: redirects default X to direction Y which is forward/backward.
  • Negate will invert (negate) the value to move backwards.

Gamepad Left Stick

The lift stick is a 2 dimensional input. There are another 2 modifiers used for this type of input:

  • Dead Zone is a limiter that stops input of low values. Most controllers are not perfectly calibrated and send low values when they are idle.
  • Scalar is a simple multiplier that increases the value of the stick 50 times for X and Y axis.

A simple Button, like the Select Button doesn't need any modifiers.

Enhanced Input on YouTube

image
Top of page