Skip to content

Commit 4689f73

Browse files
authored
Merge pull request #16 from theprototype-app/docs-37-int-126
1.26: multi-select v2, prefab updates, material presets, workspace layouts, chat v2, note replies, report a problem, undo toast, Race phone + VR, avatars, Settings redesign
2 parents 0ae7c78 + 2d9005e commit 4689f73

34 files changed

Lines changed: 486 additions & 43 deletions

‎docs/appearance.md‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,15 @@ Custom themes are saved in this browser. To use one on another device, copy the
4242

4343
- **Line colours** — the wireframe, the selection outline and the Edit Mesh overlay: **Settings ▸ Scene ▸ Wireframe &
4444
outline** (see [Mesh Editing](mesh-editing.md#display)).
45-
- **Render mode** — Shaded, Shaded + AO or Wireframe, per device: see [Camera & View](camera.md#render-mode-view).
45+
- **Density** — **Settings ▸ Interface ▸ Density**: *Comfortable* (the default) or *Compact*, tighter rows and controls
46+
on a computer screen; see [Settings](settings.md#density).
47+
- **Render mode** — Shaded, Shaded + AO or Wireframe, per device (<kbd>Z</kbd> cycles them): see [Camera & View](camera.md#render-mode-view).
4648
- **Toolbar** — which buttons the bottom bar shows, in what order and where: see [The toolbar](controls.md#the-toolbar).
4749
- **FPS and draw calls** — a small counter in any mode: **Settings ▸ Interface ▸ Viewport ▸ Show FPS + draw calls**.
4850

4951
- **Text selection** — menus and panels do not select text when you drag across them;
5052
**Settings ▸ Interface ▸ Allow text selection everywhere** turns it back on (see [Text selection](controls.md#text-selection)).
5153

5254
!!! tip "Finding a setting"
53-
The search box at the top of Settings matches row names, groups, sections and keywords — search **dark** for the
54-
theme. <kbd>Esc</kbd> clears it.
55+
The search box at the top of Settings matches names, descriptions and keywords — search **dark** for the theme.
56+
<kbd>Esc</kbd> clears it. See [Settings](settings.md#search).

‎docs/avatars.md‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,31 @@ you were.
4545
their character — on **this device only**, and lighter on a headset with many people in the room. They still see your
4646
character.
4747

48+
## Knocked-off idle
49+
50+
When someone gives no input for a while, everyone sees their character **knocked off**: little stars circle its head,
51+
the head sways in a slow figure-8, and its eyes turn into spinning stars. Any key, click, mouse move or head move wakes
52+
them, and it fades out smoothly.
53+
54+
![Eight characters knocked off, stars circling their heads and in their eyes](img/avatars/knocked-off.png)
55+
56+
**Settings ▸ Interface ▸ Avatars ▸ Knocked-off idle** chooses when *you* count as idle: **Off**, **10 s**, **20 s** (the
57+
default) or **60 s**. It is a setting for this device.
58+
59+
It works on every head — the character's own, the stylised ones, a photo card and the classic floating head — and costs
60+
one extra draw call per idle character, none while awake.
61+
62+
## Feet on the ground
63+
64+
Since 1.26 characters stand on the floor in Play. (Before, a walking player sank about 0.9 m into the ground on everyone
65+
else's screen.)
66+
67+
- A walking player tells the others where their feet are, so the character stands on the same floor — steps and raised
68+
floors included — in desktop Play, with a [Character Controller](build-a-game.md#3-a-character-that-walks) node in walk
69+
mode, and walking in VR Interact.
70+
- Each foot stays planted while walking or running: the animation's heel roll no longer pushes a foot through the floor.
71+
- A player who is flying or editing is still drawn with the body hanging under the head, as before.
72+
4873
## In VR
4974

5075
A VR user's character follows their head, and its arms reach for their controllers; a hand held out of the arm's reach
@@ -54,5 +79,7 @@ falls back to the floating controller marker. Pointing at an object puts the cha
5479

5580
- The bodies are stylised (big heads): a character is about 2.2 m tall so its eyes sit where the person's are.
5681
- In the editor, a character follows the editor camera — flying the camera makes the body float.
82+
- On a steep slope (20–30°) the feet follow the walker's capsule and can float a couple of centimetres above the slope;
83+
there is no foot IK yet.
5784
- Characters add no network traffic: each screen works the bodies out from the position and hand data already shared.
5885
- Each character is at most about 6,000 triangles with one material, so eight people stay inside a Quest's budget.

‎docs/build-a-game.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ menu gives way to your in-game HUD.
6464

6565
## 3. A character that walks
6666

67-
By default play mode flies. To walk instead:
67+
By default play mode keeps you on the ground at eye height (since 1.26 flying is
68+
[opt-in](physics.md#flying)). For a character that walks, jumps and falls:
6869

6970
1. In the node editor, add **Character ▸ Character Controller**.
7071
2. Set **mode** to `walk`. Adjust jump height and eye height to taste.
@@ -81,7 +82,7 @@ Since 1.25 the controller card also has **code**: double-click it to steer speed
8182
walk/fly every frame from this player's keys — see [The Player's code](code-workspace.md#the-players-code).
8283

8384
!!! note
84-
Delete the Character Controller node and movement is exactly the default fly again.
85+
Delete the Character Controller node and movement is exactly the default again.
8586
The controller adds capability without taking the default away.
8687

8788
---

‎docs/camera.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ Three per-device render modes under **Viewport — this device**:
2626
| **Shaded + AO** | Adds ambient occlusion — soft contact shadows in creases and corners (the default on a desktop; phones and tablets start in plain **Shaded**). |
2727
| **Wireframe** | Shows every edge. |
2828

29+
<kbd>Z</kbd> in the 3D view cycles them: Shaded → Shaded + AO → Wireframe (Shaded + AO is skipped when the scene's own
30+
look already sets ambient occlusion). Rebind it in **Settings ▸ Shortcuts**.
31+
2932
Ambient occlusion and wireframe are **desktop-only** and never shown to peers. AO detail follows your shadow-quality setting (below), so lowering shadow quality also lightens the AO cost.
3033

3134
These are SHADING modes — they are not how you see the scene's own look. A

‎docs/controls.md‎

Lines changed: 62 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ If the guess is still wrong on your hardware, pick it yourself: right-click the
3333
### Edit and Interact
3434

3535
The editor has two click modes. Switch with the **Interact mode** cell on the bottom bar (it sits
36-
between the transform tools and Play — the default order is Move, Rotate, Scale, Interact, Play,
36+
between the transform tools and Play — the default order is Move, Rotate, Scale, Pivot, Interact, Play,
3737
Object list, Node editor, Explorer, Animation), or press **I**:
3838

3939
- **Edit** (the default) — every click selects, so every object, module pieces included, can
@@ -128,6 +128,17 @@ nothing while it has the keys.
128128

129129
<kbd>↓</kbd> in the list's **Search objects…** box drops you into the results. Type-ahead matches what you typed first, so a Cyrillic name is reachable by its own letters, and falls back to the physical key so a Latin name is still reachable on a non-Latin layout.
130130

131+
### Dragging a selection in the object list
132+
133+
Drag any **selected** row in the object list and the whole selection comes along:
134+
135+
- drop it on a **group** and they move into it;
136+
- drop it on **any other object** and they become its children;
137+
- drop it on the list's empty area or its header and they go back to the top level.
138+
139+
World positions are kept and a drop is one undo step. An object cannot be dropped into its own child. Local-only objects
140+
(ones not shared with the session) dropped onto a shared parent become shared, as before.
141+
131142
### What double-click does
132143

133144
Opening properties is the default, but it is a setting: **Settings ▸ Scene ▸ Selection ▸ Double-click action** offers *Open properties*, *Edit mesh*, *Focus and isolate* and *Select same type*.
@@ -201,9 +212,26 @@ copying, rather than half-linked.
201212

202213
### Editing a multi-selection
203214

204-
The properties panel edits **everything you have selected**, not just the last object you clicked. Change a colour, a material, a shadow flag or a physics setting and it applies to the whole set as a **single undo step**; a row whose objects disagree shows a dash until you set it.
215+
Select several objects (<kbd>Shift</kbd>+click, box select, <kbd>Ctrl</kbd>+<kbd>A</kbd>) and open **Properties**: the
216+
panel says **Editing N objects**, and every row applies to all of them.
205217

206-
Transform rows on a multi-selection drive the selection's **origin** rather than each object's absolute position — typing a value moves the set as a whole instead of collapsing it onto one plane. Name, uuid and geometry stay single-object: click the one object for those.
218+
![Properties with three objects selected: Editing 3 objects, the Pivot row, and a Geometry section that reaches only the two boxes](img/controls/multi-edit.png)
219+
220+
- **Shared values show; differing values show a dash.** A slider, number or list whose objects disagree reads **—**, a
221+
checkbox shows the in-between state, and a material or emission colour says *(mixed)* under the picker.
222+
- **Setting a dashed row sets every object** to the new value — type into a dashed Roughness, tick an in-between
223+
**Cast shadow**, pick any entry in a dashed list.
224+
- **One edit is one undo step** for the whole selection, and <kbd>Ctrl</kbd>+<kbd>Z</kbd> puts each object back to
225+
*its own* previous value. Since 1.26 **Visible**, **Cast / Receive shadow**, **Render order**, **Frustum culled** and
226+
every **Light** row (colour, intensity, distance, decay, angle, penumbra, shadow bias / softness / map size) undo too.
227+
- **Several lights** selected together are edited together; a row only some light types have (a spot light's
228+
**Angle**) reaches the lights that have it.
229+
- Your peers see the change **in one step**: the whole selection's edit travels as one message.
230+
231+
Name, uuid, LOD, Water and particle emitters stay single-object, and **Geometry** reaches only the objects of one shape
232+
type (the panel says which) — click the one object for those. Transform rows on a multi-selection move, turn and scale
233+
the **set** about its [pivot](#the-pivot-of-a-multi-selection) rather than each object's own numbers: typing a value
234+
moves the set as a whole instead of collapsing it onto one plane.
207235

208236
## Transform gizmo
209237

@@ -239,16 +267,22 @@ The origin travels with the object: it replicates, saves, undoes, and is baked i
239267

240268
### The pivot of a multi-selection
241269

242-
With several objects selected, what the set rotates and scales about is a choice. The **Pivot** dropdown in the Transform section — or right-click ▸ **Pivot point** — offers:
270+
With several objects selected, what the set rotates and scales about is a choice — one setting, in three places:
271+
272+
- the **Pivot** button on the [toolbar](#the-toolbar), next to Scale: its icon and tooltip name the current mode, and a
273+
click steps to the next one;
274+
- the **Pivot** dropdown in the properties panel's Transform section, or right-click ▸ **Pivot point**;
275+
- in VR, **Settings ▸ Editing ▸ Pivot point** (see [Grabbing a selection](vr.md#grabbing-a-selection)).
243276

244277
| Mode | Turns about |
245278
|---|---|
246279
| **Median point** | the centre of the selection (the default) |
247-
| **Active object** | the origin of the object you picked last |
248-
| **Parent origin** | the origin of the parent they all share — greyed out when they do not share one |
280+
| **Active object** | the origin of the object you picked last — in VR, the one you grip |
249281
| **Individual origins** | each object's own origin, so a row of doors all swing on their own hinges |
282+
| **Parent origin** | the origin of the parent they all share — offered only when they share one |
250283

251-
The gizmo drag and the typed rows both obey it. Moving is never per-object: a translation moves the set as one. An origin you placed by hand with **Move origin** overrides the mode while it stands.
284+
The gizmo drag, the typed rows and a VR grip all obey it. Moving is never per-object: a translation moves the set as
285+
one. An origin you placed by hand with **Move origin** overrides the mode until you select again.
252286

253287
### Numeric fields
254288

@@ -309,6 +343,18 @@ landed on wiggles to say so.
309343
Docking is **desktop only** — on a touch screen there is no room for a full-height side panel
310344
and it would fight scrolling, so windows there simply stay floating.
311345

346+
### Workspace layouts
347+
348+
Save the windows you have open — which panels, docked or floating, their sizes, the side and bottom docks, tab groups —
349+
under a name, and switch between arrangements in one click.
350+
351+
- **Where:** **Menu ▸ Layouts**, or **Settings ▸ Interface ▸ Windows & chrome ▸ Workspace layouts**.
352+
- **Save:** arrange the windows, type a name, press **Save**. Saving under a name you already have (in any case)
353+
updates that layout.
354+
- **Use:** click a saved layout to apply it. Rename or delete it from the same list.
355+
356+
Layouts are kept on this device. A reload still starts with a clean slate: a layout is applied only when you pick one.
357+
312358
## The toolbar
313359

314360
Pressing a toolbar button never takes the keyboard: the keys stay with whatever had them — this holds for the bottom
@@ -334,19 +380,9 @@ game to its menu and starts from the Start screen. See [Build a Game Loop](build
334380

335381
## The Settings window
336382

337-
Since 1.24 **Settings** opens as a window with its **sections listed in a sidebar**: Interface, Controls, Input, Touch
338-
controls, Scene, Explorer, VR, AI, Export, Connection, Shortcuts and About (plus any section a newer version adds).
339-
Click a section to show it; <kbd>↑</kbd> / <kbd>↓</kbd> move between sections, and the window reopens on the section you
340-
used last. Links that open Settings at a section — *File settings*, *Connection settings*, the AI button — land on that
341-
section.
342-
343-
![Settings as a window: the section sidebar on the left, the search box above the rows](img/controls/settings-window.png)
344-
345-
**Search** still looks through *every* section: while you type, all matching rows are shown together, the sidebar lists
346-
only the sections that have matches, and clicking one jumps to it. <kbd>Esc</kbd> clears the search; a second
347-
<kbd>Esc</kbd> closes Settings.
348-
349-
On a phone the sidebar becomes a row of section chips above the settings.
383+
**Settings** (logo menu ▸ Settings) is a window with a grouped menu of categories on the left — on a phone, a list you
384+
tap into — a search box in the header, and one row per setting. Changes save as you make them. Since 1.26 it has its
385+
own page: see [Settings](settings.md).
350386

351387
## Keyboard shortcuts
352388

@@ -357,7 +393,11 @@ The keys in the table are the **3D view's**: they fire while the 3D view has foc
357393
**Every keyboard layout works.** A letter shortcut is matched by the letter printed on the key when there is one — AZERTY, Dvorak and QWERTZ keep their own labels — and by the key's **physical position** otherwise, so <kbd>G</kbd>, <kbd>F</kbd>, <kbd>Ctrl</kbd>+<kbd>Z</kbd> and <kbd>W</kbd><kbd>A</kbd><kbd>S</kbd><kbd>D</kbd> work on Russian, Greek, Hebrew, Arabic and CJK layouts without switching. Where the browser can tell, **Settings ▸ Shortcuts** shows your layout's own label beside each letter (*п on your layout*); where it cannot, a note says letter shortcuts follow the QWERTY position.
358394

359395
!!! tip "Finding a setting"
360-
Settings is grouped into **Interface** (theme, [your character](avatars.md), notifications, windows, lists and menus), **Controls** (keyboard, mouse and trackpad), **Input** (gamepad and the node editor's mouse bindings), **Touch controls**, **Scene** (grid, shadows, autosave, [checkpoints](checkpoints.md) and everything about the scene itself), **Explorer**, then **VR**, **AI**, **Export**, **Connection**, **Shortcuts** and **About** — one sidebar entry each ([above](#the-settings-window)). If you don't know which one holds what you want, type in the search box at the top. Rows match by their name, their group (*Grid*), their section (*VR*) and by keywords the labels do not say — search **dark** to find the theme, **quest** for the VR rows, **caustics** or **refraction** for Water quality, **tutorial** or **welcome** for the [Tours](tours.md), **wheelchair** for the VR Stance, **remap** for the VR buttons — and matches are highlighted. <kbd>Esc</kbd> clears the search; a second <kbd>Esc</kbd> closes Settings.
396+
Settings is grouped into **General** (Interface, Controls, Input, Touch controls, Shortcuts), **Workspace** (Scene,
397+
Explorer, Node types, Export) and **Devices & services** (VR, AI, Connection), with **About & what's new** at the
398+
bottom. If you don't know which one holds what you want, type in the search box: it matches names, descriptions and
399+
the words people use — **dark** finds the theme, **southpaw** finds Swap sticks. See
400+
[Finding your way](settings.md#finding-your-way).
361401

362402
| Keys | Action |
363403
|---|---|
@@ -373,6 +413,7 @@ The keys in the table are the **3D view's**: they fire while the 3D view has foc
373413
| <kbd>Alt</kbd>+click | Cycle the selection through everything under the cursor ([inside and behind water](#inside-and-behind-water)) |
374414
| <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+click | [Ping](notifications.md#pinging) a spot for everyone |
375415
| <kbd>Esc</kbd> | Leave isolation |
416+
| <kbd>Z</kbd> | Cycle the [render mode](camera.md#render-mode-view): Shaded → Shaded + AO → Wireframe |
376417
| <kbd>Tab</kbd> | Enter [mesh edit](mesh-editing.md) mode — inside it <kbd>Tab</kbd> cycles Vertices / Edges / Faces; <kbd>Esc</kbd> exits |
377418
| <kbd>I</kbd> | [Edit / Interact](#edit-and-interact) mode — in Interact, clicks play with the scene instead of selecting |
378419
| <kbd>M</kbd> | Toggle element [snapping](snapping.md) |

‎docs/explorer.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ Right-click an object in the viewport ▸ **Save as…** and choose the format.
202202

203203
## Storage
204204

205-
The chip in the Explorer header reads *used / granted* for everything this app keeps in your browser. Click it — or **Storage used…** under **Disk** in the right-click menu, or **Settings ▸ Explorer ▸ Storage used** — for the **Storage** breakdown: library files, old scene versions, deleted files, saved scenes and projects, autosave, prefabs, installed modules and the rest, each with a size. Tick what you want gone and press **Reclaim**; nothing is removed until you do, and it asks once more.
205+
The chip in the Explorer header reads *used / granted* for everything this app keeps in your browser. Click it — or **Storage used…** under **Disk** in the right-click menu, or **Settings ▸ Explorer ▸ Storage used** — for the **Storage** breakdown: library files, old scene versions, deleted files, saved scenes and projects, autosave, prefabs, [material presets](materials.md), installed modules and the rest, each with a size. Tick what you want gone and press **Reclaim**; nothing is removed until you do, and it asks once more.
206206

207207
## Files in and out
208208

‎docs/img/avatars/knocked-off.png‎

344 KB
Loading

‎docs/img/controls/multi-edit.png‎

289 KB
Loading
49.9 KB
Loading
44.8 KB
Loading

0 commit comments

Comments
 (0)