Chapter 12
Building and uploading
The player#
Everything a Dream needs in the world lives on the Dreamer Pro Player, the object that Add Dreamer Pro to Scene placed. The player controls, the slide panel, the pin box, the collapse button, the pose bubbles, the loading card, the intro cards, the text and image cards and the prompt panel are all its children.
Run Dreamer Pro > Rebuild Dream Player after updating Dreamer Pro, or whenever the player looks incomplete. It adds any panel the player is missing, removes a doubled panel, and rewires every Dream in the scene to it.
Rebuild Panel Prefabs rebuilds the slide panel and pin box prefabs the player is assembled from. Run Rebuild Dream Player after it. You rarely need it.
The Dreamer Pro component in the Inspector has its own buttons: Open Dreamer, Configure Openings, Rebuild Prompt Panel, and Repair Dreamer/TXL Wiring, which reconnects the player to its video player if the link is lost.
Video players#
A Shared Dream plays through the video player on the Dreamer Pro Player. A Local Dream on hosted video needs a video player of its own, one per Dream. Press Set Up Its Own Video Player in the Video panel. Every Local Dream's player is alive when the world loads, so keep the count low on Quest.
Animation data#
Animation nodes play baked data in the world. After changing an animation clip or its settings, press Bake Animation Data on the node. The upload check refuses a world whose animation data is missing or out of date.
Lint before you build#
Press Lint in the footer and clear the errors. Warnings and Info are advice. Lint checks every track, every slide, the gate, the zones and the video setup.
The upload check#
When you build or upload, Dreamer Pro runs its own check. If something would stop the Dream from playing, the upload stops with a "Dreamer Readiness" message that says how many problems there are and sends you to the Console for the list. Most of them also show in Lint, so fix them there.
Things that stop an upload:
- Most Lint errors.
- A Move, Animation, Voice, Text or Prompt node that cannot play as written.
- Animation data that is missing or stale.
- Two Dreams whose zones overlap.
- Two Dreams sharing one video player.
- A gated Dream nobody could open, or a gated Shared Dream on hosted video.
- A Dreamwalker, Aerobics, or cue-, FX- or prompt-owned Sound node that cannot play as written, and a condition that could never pass.
- A hosted Dream with no video player of its own.
A slideshow on hosted video is a Lint error, but it does not stop the upload. Fix it before you ship.
Quest#
A Dreamwalker with both a PC and a Quest avatar is stripped to the right one for each build. Every recording plays on Quest. At most three performers animate at once; any others are left as the scene had them until one of the three leaves. Voice recordings are set to compress when the world builds, so they ship small even though the files in your project stay full size.
Testing#
- The editor preview checks timing and placement.
- Unity's Play mode plays a Shared Dream. It cannot play a Local Dream's video, because the video engine does nothing there.
- VRChat itself is the only real test of gates, slides between two people, teleports, voice, posing, and anything on Quest. Build and Test, then invite a second person.
Updating a world#
Your Dream lives in your scene. Updating Dreamer Pro does not change it. After an update: run Rebuild Dream Player, press Lint, rebuild and upload.