Skip to content

Visuals Tab

BellaStrangeVR edited this page Jul 3, 2026 · 6 revisions

Visuals Tab

Video Tutorial

Coming soon - video tutorial placeholder

The Visuals tab provides video player setup, a streamlined lighting workflow, GPU instancing tools, and material management utilities.

Video Workflow

The Video section provides a unified workflow for adding and configuring video players in your world. See StrangeVideo for full component documentation.

Adding a Video Player

  1. Select a video player from the dropdown (only installed players appear)
  2. Click Add to instantiate the player prefab in your scene
  3. The status panel updates to show the new player

Status Panel

The status panel shows the wiring state of your video setup:

  • Video Player — Whether a supported player exists in the scene
  • AudioLink — Whether AudioLink is present and connected (only shown after a player exists)
  • StrangeHub — Whether the hub is linked (only shown after a player exists)
  • StrangeVideo — Whether the StrangeVideo component is present and wired (only shown after a player exists)

Click Fix next to any issue to auto-wire it.

Inline Player Settings

When a video player is detected, its common settings appear directly in the dashboard — no need to navigate to the player's own inspector. Settings vary by player type and include things like autoplay URLs, volume, sync options, security, and optional components.

Supported Players

Player When to Use
ProTV Big theatrical spaces or event worlds with polished controls and host/admin support
iwaSync3 Performance-focused worlds needing synced playback — lightweight and efficient
USharpVideo Straightforward video with minimal setup — low overhead, ideal for basic screens
VizVid Community spaces with mixed media, watch-together features, and modular design
YamaPlayer Advanced UI with playlists, queues, and streaming — great for lounges and social hubs
VideoTXL Solid synced playback with flexible control options — reliable group watching

Satellite Screen Tool

Creates a duplicate screen object for showing the same video feed at a second location — for example, a screen on the back of a two-sided setup, or a mirrored screen in another room. Since the video player writes its output to the screen's material, a satellite screen shares the same live video automatically without needing its own player or sync logic.

  1. Assign your existing video screen to Main Screen
  2. Click Create Satellite

The tool duplicates the object (parented next to the original, named <OriginalName>_Satellite) and strips everything except the parts needed to actually display the material — Transform, Mesh Filter, Mesh Renderer, and any Collider/RectTransform/CanvasRenderer. No video player scripts, sync components, or other logic get copied, so the satellite is purely a visual duplicate. Supports Undo.

Lighting Workflow

The Lighting Workflow section provides a streamlined 3-step process for setting up world lighting. A PC/Quest mode indicator shows your current build target.

Important: For objects to receive baked lighting, they must be marked as Static (specifically Contribute GI) in the Inspector. Non-static objects will only receive light from Light Probes or realtime lights.

Step 1: Setup & Configuration

One-click buttons apply optimized lighting settings based on your target platform.

PC Mode (Windows/Standalone Build Target)

Apply Recommended PC Settings:

  • Lightmapper: Progressive GPU
  • Mixed Lighting: Shadowmask
  • Directional Mode: Directional
  • Lightmap Resolution: 20 texels/unit
  • Direct Samples: 64, Indirect Samples: 512
  • Bounces: 4

Apply Bakery PC Settings (if Bakery installed):

  • Render Mode: Shadowmask
  • Directional Mode: Dominant
  • Bounces: 5
  • Samples: 16
  • Texels Per Unit: 15

Quest Mode (Android Build Target)

Apply Recommended Quest Settings:

  • Lightmapper: Progressive GPU
  • Mixed Lighting: Subtractive
  • Directional Mode: Non-Directional (saves VRAM)
  • Lightmap Resolution: 12 texels/unit
  • Direct Samples: 32, Indirect Samples: 256
  • Bounces: 2
  • Lightmap Compression: High Quality

Apply Bakery Quest Settings (if Bakery installed):

  • Render Mode: Subtractive
  • Directional Mode: None
  • Bounces: 2
  • Samples: 8
  • Texels Per Unit: 10

Lighting Presets

Save and load complete lighting configurations:

  1. Save Current: Captures all current Unity and Bakery lighting settings to a preset asset
  2. Load: Applies a saved preset to your scene

Presets store:

  • Unity lightmapper settings (lightmapper type, mixed mode, directional mode, resolution, samples, bounces)
  • Bakery settings (if installed): render mode, directional mode, bounces, samples, texels per unit

Step 2: Scene Volumes (Probes & LPPV)

Auto-generate light probe volumes for your scene:

  1. Set Max Size for volume dimensions (default: 250)
  2. Click Auto-Generate to create volumes based on scene bounds

Step 3: Baking

  • Open Bakery (if installed) - Opens the Bakery window for GPU lightmapping
  • Open Lighting (if Bakery not installed) - Opens Unity's Lighting window

GPU Instancing Tools

The GPU Instancing section helps optimize draw calls through material instancing and consolidation.

Ready for Instancing

Objects grouped by mesh and material that are ready for GPU instancing:

  • Shows mesh name, material name, and object count
  • Indicates which objects are static batched (greyed out)
  • Per-object selection with checkboxes
  • Sel button to select objects in hierarchy
  • Switch to Static / Switch to Instancing buttons for quick conversion

Material Consolidation Candidates

Meshes using multiple materials that could benefit from consolidation:

  • Groups objects by mesh, then by material
  • Material thumbnail previews
  • Per-object selection within material groups
  • Master Material dropdown to select target material
  • Consolidate Selected to merge materials

Static Batching Integration

GPU Instancing and Static Batching are mutually exclusive. The UI helps manage this:

  • Objects marked for instancing are greyed out in static batching
  • Objects with static batching enabled are greyed out in instancing
  • Quick toggle buttons to switch between modes

Minimum Instance Count

Configure the threshold for displaying instance groups (default: 5+ objects).

Material Manager

The Material Manager helps you batch-modify materials across your scene.

Material List Display

Each material in the list shows:

  • Thumbnail - Preview of the material
  • Material name - The asset name
  • Sel button - Select the material in the Project window
  • X button - Remove from the list

Whitelist vs Blacklist Mode

Toggle between two modes. Whitelist is the default so that dragging items into the list isolates them, rather than accidentally applying an operation to your entire scene.

Whitelist Mode (default):

  • Only affects materials/objects in the list
  • Everything else is protected
  • Use when you want to target specific items

Blacklist Mode:

  • Affects everything EXCEPT items in the list
  • Listed items are protected
  • Use when you want to protect specific items

Building Your List

Drag and Drop:

  • Drag GameObjects or Materials directly into the list area

Add Selected:

  • Select objects in the Hierarchy
  • Click Add Selected to add them to the list

Clear List:

  • Click Clear to empty the list

Universal Shader Swapper

Batch-swap shaders across multiple materials at once.

Shader Organization

Shaders are sorted by priority:

  1. Popular shaders - Poiyomi, lilToon, Standard (top of list)
  2. Specialty shaders - VRChat mobile, specific use-cases
  3. Other shaders - Everything else alphabetically
  4. Hidden shaders - Internal shaders (bottom of list)

How to Swap Shaders

  1. Set up your whitelist or blacklist
  2. Select a shader from the dropdown
  3. Click Apply to [Whitelisted/Blacklisted] Materials
  4. All matching materials will be updated

What's Preserved

The swapper doesn't just look for exact property names like _MainTex — it recognizes a wide range of shader/studio naming conventions, so textures carry over correctly on far more third-party shaders, including ShaderGraph-based asset packs:

  • Albedo, Normal, and Height/Parallax maps — detected by common naming patterns, then by keyword scanning every texture slot on the shader if nothing matches exactly, and finally by falling back to the first genuine texture slot if nothing else can be identified
  • Emission maps — detected and enabled automatically (raw emission color values are intentionally not carried over, since they're often paired with a separate intensity multiplier that can't be read reliably, and a stale value can incorrectly show as a full bright emission)
  • Packed ORM (Occlusion/Roughness/Metallic) textures — detected and flagged with a console warning, but only transferred into the Metallic slot if you enable "Also transfer packed ORM/Metallic maps" in the Shader Swapper. It's off by default since ORM's channel packing (Occlusion=R, Roughness=G, Metallic=B) generally doesn't match what shaders like Standard expect (Metallic=R, Smoothness=Alpha) — check the result before relying on it
  • Alpha Cutout and two-sided (Render Face) rendering — carried over automatically when swapping into Standard or Bakery/Standard, so cutout foliage and double-sided cards don't turn into solid blocky rectangles after a swap
  • Materials on disabled/inactive objects are included in both Whitelist and "Apply to All" swaps — toggle systems and hidden props aren't silently skipped

Note: No two shaders render a texture identically — lighting model, color handling, and channel packing all vary. Expect some visual differences after a swap, and check affected materials before relying on the result. The swap button's tooltip carries this same reminder.

Undo Support

All shader swaps support Unity's Undo system:

  • Press Ctrl+Z to revert changes
  • Or use Edit > Undo

Best Practices

Light Probes

  • Place probes where players will stand
  • Add extra probes near walls and corners
  • Don't place probes inside geometry

Material Management

  • Test shader swaps on a few materials first
  • Keep backups of complex material setups
  • Use whitelist mode for precision work

Quest Optimization

  • Swap to mobile-friendly shaders for Quest builds
  • Use the Auditor tab's shader scanner to find non-mobile shaders

Clone this wiki locally