Interactive Unity 3D UI Toolkit Demo

Job ID: 40187078

Budget: $30 – $250 USD

Unity 3D 6.3.2 UI toolkit demo 1
************************************

Document version 2026-01-28

Unity 6.3.2 Demonstration of mode-less simultaneous mouse, keyboard and USB analog joystick control of player, world-space UI toolkit and screen-space UI toolkit.

1 General Requirements
****************************

1.1 Windows PC
1.2 Unity 6.3.2 LTS HDRP
1.3 Input System using the “send messages” method of communication
1.4 UI Toolkit

1.5 The project has one outdoor scene.
1.6 All entities (including input and UI set-up etc) are to be generated procedurally from C# scripts.
1.7 Very neat, clean, robust and well-commented C# code
1.8 The deliverable is a Unity package.

1.9 It may be assumed that the joystick and keyboard are not used to move the player while the mouse is used to move the world-space plane or UI buttons, but the screen-space UI must be operational and responding to mouse input when the player is moving at the same time.

2 First person character
***************************

2.1 The scene has a 1st person camera with a character controller.
2.2 The player can be moved by keyboard keys W S A D and rotated with Q and E.
2.3 The player can also be moved on the plane by input from an analog multi-axis USB joystick, such as a Thrustmaster T Flight-stick X.
2.3.1 Joystick forward - backward moves the player forward at a speed proportional to the joystick position.
2.3.2 Joystick left-right moves the player sideways at a speed proportional to the joystick position.
2.3.3 Joystick twist left-right rotates the player at a rate proportional to the amount of joystick twist.

3 World-space UI
********************

3.1 There is a one plane of scale (1,1,1) located at (0,0,0) with rotation (0,0,0)
3.2 On this plane there is a world-space UI toolkit document with several world-space buttons labeled Button 1 to Button 10.

3.3 Each button can be clicked with the computer mouse, as well as moved around on the plane with the mouse click-hold-drag-release.

3.4 When clicked, dragged or released, there is a corresponding log message “Button 1 pressed”, “Button 1 dragged” or “Button 1 released”.

3.5 By left-clicking and dragging near the corner of a button it can be resized.

3.6 By right-clicking and dragging a corner of a button it can be rotated.

3.7 By the mouse scroll-wheel the button can be resized.

3.8 The plane can be resized by mouse left click-drag near the corners and edge (in locations where there are not buttons), as well as moved by click-drag of locations within the plane further from the edges where there also are no buttons.

3.9 The plane can be rotated by right-click and drag.

4 Screen-space UI
**********************

4.1 In screen-space there is an UI toolkit document with several screen-space buttons labeled Button 11 to Button 20, placed along the edges of the game window.

4.2 If the Windows game window size changes, these buttons move accordingly, such that these buttons keep their locations relative to the screen window edges.

4.3 These buttons can be clicked, dragged, resized and rotated similar to the world-space buttons, and give similar log messages.