HoloScript Studio - Complete Reference β
Version: 0.1.0-beta Tech Stack: React 19 + Next.js 15 + Three.js + WebXR URL: studio.holoscript.net
Overview β
HoloScript Studio is a web-based IDE for building VR/AR/XR scenes without writing code. Powered by Brittney AI, Studio enables natural language scene generation, real-time collaboration, and one-click publishing.
Key Features:
- π¨ AI-driven scene creation (Brittney assistant)
- ποΈ Visual shader graph editor
- π¬ Cinematic camera paths
- 𦴠Character animation editor
- π€ Real-time multiplayer editing (CRDT)
- π One-click publish & share
- π€ Export to 25+ platforms
Interface Layout β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β [Logo] [Creator][Artist][Filmmaker][Expert][Character] β Top Bar
β [New][Open][Save][Publish][VR Mode][Benchmark] β
ββββββββββββ¬βββββββββββββββββββββββββββββββββββββββ¬βββββββββββ€
β β β β
β Hierarchyβ 3D Viewport βPropertiesβ Main Area
β Panel β (WebGL/Three.js Render) β Panel β
β β β β
β [Objects]β [Transform Gizmos] β [Details]β
β [Assets] β [Grid & Axes] β [Settingsβ
β [Layers] β β Config] β
β β β β
ββββββββββββ΄βββββββββββββββββββββββββββββββββββββββ΄βββββββββββ€
β π¬ Brittney AI β [Prompt Input Bar] β [Send] β Bottom Bar
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββTop Bar β
Mode Selector β
| Icon | Mode | Description | Shortcut |
|---|---|---|---|
| π¨ | Creator | AI scene building, drag-and-drop | Ctrl+1 |
| ποΈ | Artist | Shader graph, material editor | Ctrl+2 |
| π¬ | Filmmaker | Camera paths, cinematic timeline | Ctrl+3 |
| βοΈ | Expert | Code editor (Monaco), debugging | Ctrl+4 |
| 𦴠| Character | Animation editor, skeletal FK | Ctrl+5 |
Toolbar Buttons β
| Button | Action | Shortcut |
|---|---|---|
| New | Create new scene | Ctrl+N |
| Open | Load scene from file/URL | Ctrl+O |
| Save | Save scene locally | Ctrl+S |
| Publish | Generate shareable URL | Ctrl+P |
| VR Mode | Enter WebXR immersive mode | V |
| Benchmark | Run performance test (FPS) | B |
| Settings | Studio preferences | , |
| Help | Documentation & tutorials | F1 |
3D Viewport β
Camera Controls β
| Action | Mouse | Touchscreen | VR |
|---|---|---|---|
| Orbit | Left Click + Drag | 1-Finger Drag | Head Movement |
| Pan | Right Click + Drag or Middle Click + Drag | 2-Finger Drag | Controller Stick |
| Zoom | Scroll Wheel | Pinch | Controller Trigger |
| Focus | Double-Click Object | Double-Tap Object | Look + Trigger |
Transform Gizmos β
With an object selected:
| Key | Gizmo | Action |
|---|---|---|
G | Move (Translate) | Drag colored arrows (X=red, Y=green, Z=blue) |
R | Rotate | Drag colored circles |
S | Scale | Drag colored boxes or center for uniform scale |
Esc | Cancel | Reset to original transform |
Enter | Confirm | Apply transform |
Fine Control:
Shiftwhile dragging = Slow precision modeCtrlwhile dragging = Snap to gridAltwhile dragging = Relative to parent
Grid & Axes β
- Grid: XZ plane, 1-unit spacing, fades with distance
- Axes: Red (X), Green (Y), Blue (Z)
- Origin: Yellow sphere at (0,0,0)
Toggle visibility: Ctrl+G (grid), Ctrl+H (axes)
Selection β
- Single Select: Left-click object
- Multi-Select:
Shift+ Click - Box Select:
Ctrl+ Drag - Deselect All: Click empty space or press
Escape
Brittney AI Panel β
Opening the Panel β
- Click π¬ icon (right side)
- Press
Ctrl+B - Type
/in viewport (quick prompt)
Chat Interface β
Brittney understands:
- Natural language scene descriptions
- Requests for changes ("make the sky purple")
- Technical questions ("how do I add physics?")
- Debugging ("why isn't my NPC responding?")
- Optimization ("make this faster")
Example Prompts:
Create a medieval castle with towers and a moat
Add a flying dragon that circles the castle
Make the dragon breathe fire when I click it
Optimize this scene for Quest 2
Export this to Unity with C# scriptsScene Generator Tab β
- Describe your scene in the text area
- Select templates (optional): Battle Royale, Escape Room, D&D Dungeon, etc.
- Click Generate
- Brittney creates HoloScript code
- Scene renders in 3D viewport
Scene Critique Tab β
Click Analyze Scene
Brittney evaluates:
- β What works well
- β οΈ Potential issues (performance, usability)
- π‘ Suggestions for improvement
- π¨ Aesthetic recommendations
Click suggested changes to apply them
AI Material Tab β
- Select an object
- Describe desired material: "holographic blue glass with rainbow reflections"
- Click Generate Shader
- Preview in real-time
- Tweak parameters or regenerate
Hierarchy Panel (Left) β
Objects Tree β
Displays all scene objects in parent-child hierarchy:
π¦ Scene
ββ π Environment
β ββ βοΈ DirectionalLight
β ββ π«οΈ Fog
ββ π Ground
ββ π° Castle
β ββ πΌ Tower1
β ββ πΌ Tower2
ββ π Dragon
ββ π₯ FireBreath (ParticleSystem)
ββ π΅ RoarSoundContext Menu (Right-Click) β
- Duplicate:
Ctrl+D - Delete:
DeleteorBackspace - Rename:
F2 - Parent To: Drag onto another object
- Unparent: Drag to root level
- Hide/Show:
H(toggle visibility) - Lock/Unlock:
L(prevent selection)
Filters β
- Search:
Ctrl+F- Find objects by name - Type Filter: Show only lights, cameras, meshes, etc.
- Layer Filter: Show/hide by layer
Properties Panel (Right) β
Transform β
- Position (X, Y, Z): World-space coordinates
- Rotation (X, Y, Z): Euler angles in degrees
- Scale (X, Y, Z): Uniform or per-axis
Reset buttons: Click βΊ to reset to default (0 for position/rotation, 1 for scale)
Object Properties β
- Name: Object identifier (used in code)
- Type: Geometry type (box, sphere, cylinder, etc.)
- Color: Base color (hex or RGB)
- Material: PBR properties (metalness, roughness, emissive)
- Visible: Show/hide object
- Cast Shadow: Object creates shadows
- Receive Shadow: Object receives shadows
Traits β
List of applied traits with configuration:
@physics
ββ mass: 1.0
ββ bounciness: 0.5
ββ friction: 0.8
@grabbable
ββ grab_distance: 0.5
ββ two_handed: false
@llm_agent
ββ model: "claude-3-5-sonnet"
ββ temperature: 0.7
ββ tools: [...]Add Trait: Click + Add Trait button, search, configure
Remove Trait: Click X next to trait name
State β
Custom object state (key-value pairs):
state:
health: 100
mana: 50
inventory: []
is_open: falseAdd State: Click + Add State Variable
Creator Mode π¨ β
Purpose: AI-assisted scene building for non-programmers
Features β
- Template Library: Pre-built scenes (Battle Royale, Coffee Shop, etc.)
- Object Library: Drag-and-drop props
- Brittney Integration: Natural language commands
- Real-time Preview: WYSIWYG editing
Workflow β
- Start with template or empty scene
- Describe what you want to Brittney
- Brittney generates objects
- Drag to reposition
- Tweak in Properties panel
- Publish when done
Artist Mode ποΈ β
Purpose: Visual shader & material creation
Shader Graph Editor β
Node-Based Editing:
- Input Nodes: UV, Position, Normal, Time
- Math Nodes: Add, Multiply, Lerp, Clamp
- Texture Nodes: Sample2D, Cubemap
- Output Node: FragColor (RGBA)
Workflow:
- Right-click canvas β Add Node
- Connect nodes by dragging from output to input
- Preview updates in real-time
- Export to GLSL or save as .shader
Built-In Shader Templates β
- Fresnel Rim Light
- Normal Mapping
- Parallax Occlusion Mapping
- Holographic Display
- Toon Shading
- Dissolve Effect
Keyboard Shortcuts β
Space: Open node menuDelete: Remove selected nodesCtrl+D: Duplicate selectionCtrl+G: Group nodesCtrl+Shift+D: Preview shader on selected object
Filmmaker Mode π¬ β
Purpose: Cinematic camera control & animation
Camera Path Recording β
- Click Record Path button
- Move camera through scene (orbit, pan, zoom)
- Click Stop Recording
- Path saved as spline curve
Timeline Editor β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
β [Play] [Pause] [Stop] β±οΈ 00:05.23 / 00:30.00 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Camera β¬β¬β¬β¬β¬ββ¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ββ¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ β
β Light β¬β¬β¬β¬β¬β¬β¬β¬β¬ββ¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ β
β Dragon β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ββ¬β¬β¬β¬β¬β¬β¬β¬β¬β¬ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββFeatures:
- Keyframe Editing: Click β to set keyframes
- Interpolation: Linear, Ease-In, Ease-Out, Bezier
- Playback Speed: 0.25x to 2x
- Loop Mode: Once, Loop, Ping-Pong
Export Options β
- Video: MP4 (H.264), WebM
- Image Sequence: PNG frames
- Camera Data: JSON for external tools
Expert Mode βοΈ β
Purpose: Direct HoloScript code editing
Monaco Code Editor β
Features:
- Syntax highlighting
- Auto-completion (Ctrl+Space)
- Error squiggles
- Multi-cursor editing (Ctrl+Alt+Up/Down)
- Find & Replace (Ctrl+F)
- Go to Definition (F12)
- Formatting (Shift+Alt+F)
Side-by-Side View β
Split view: Code (left) + 3D Preview (right)
Changes in code update preview in real-time.
Debugging Tools β
- Console: View errors & warnings
- AST Explorer: Inspect parsed syntax tree
- Performance Profiler: Identify bottlenecks
- Trait Inspector: See active traits per object
Character Mode 𦴠β
Purpose: Character animation & rigging
GLB Import β
- Click Import Character
- Select .glb file with skeleton
- Character loads with bones visible
FK (Forward Kinematics) Animation β
Bone Selection:
- Click bone in viewport
- Or select from bone tree panel
Rotation Controls:
- Drag rotation gizmo
- Or use sliders (X, Y, Z rotation)
Animation Clip Recording β
- Set character to T-pose
- Click Record Clip
- Animate bones frame-by-frame
- Click Stop Recording
- Name clip (e.g., "Wave", "Jump", "Sit")
Animation Library β
Save clips to reuse:
- Play: Preview animation
- Export: Save as .anim file
- Import: Load from file
Collaboration β
Real-Time Multi-User Editing β
Start Collaborating:
- Click Share button
- Copy invite URL
- Send to collaborators
- They join instantly (no signup required)
Features:
- Multi-cursor awareness: See where others are editing
- Live sync: Changes appear in real-time
- Conflict resolution: CRDT (Yjs) prevents overwrites
- Voice chat: Optional (requires browser permission)
Presence Indicators β
- Avatar icons: Show active users in top-right
- Colored cursors: Each user has unique color
- Selection highlights: See what others selected
VR Mode β
Entering VR β
- Connect VR headset (Quest, Vision Pro, PC VR)
- Open Studio in VR-capable browser (Chrome, Edge, Firefox Reality)
- Click VR Mode button
- Grant permission if prompted
- Put on headset
VR Controls β
Meta Quest 2/3:
- Grip buttons: Grab objects
- Triggers: Select/Activate
- Thumbsticks: Move/Rotate camera
- Hand Tracking: Pinch to grab (controller-free)
Apple Vision Pro:
- Look + Pinch: Select objects
- Pinch + Drag: Move objects
- Two-hand pinch + spread: Scale
PC VR (Index, Vive):
- Similar to Quest controls
In-VR Editing β
- Place objects: Grab from menu, position in space
- Transform: Pinch opposite corners to scale/rotate
- Delete: Throw object off-edge or use menu
- Undo: Controller shake gesture
Performance β
Benchmark Tool β
Run Test:
- Click Benchmark button
- Studio spawns 1000 objects
- Measures FPS over 10 seconds
- Displays results: Min/Avg/Max FPS
Target Performance:
- Desktop: 60 FPS @ 1000 objects
- Quest 2: 72 FPS @ 500 objects
- Quest 3: 90 FPS @ 750 objects
Optimization Tools β
Auto-Optimize (via Brittney):
Optimize this scene for Quest 2Brittney will:
- Enable LOD (Level of Detail)
- Use InstancedMesh for duplicates
- Reduce shadow quality
- Simplify geometry
- Enable frustum culling
Manual Optimization:
- LOD: Add @lod trait with distance thresholds
- Instancing: Use
@instancedfor repeated objects - Occlusion Culling: Enable in Settings > Rendering
- Shadows: Lower resolution or disable
Export & Publishing β
One-Click Publish β
- Click Publish
- Studio uploads scene to CDN
- Returns shareable URL:
studio.holoscript.net/s/abc123 - Anyone can view (no account needed)
Privacy Options:
- Public: Listed in gallery
- Unlisted: Only accessible via URL
- Private: Requires password
Multi-Platform Export β
Available Targets (25+):
Game Engines:
- Unity (C# MonoBehaviour)
- Unreal (C++ / Blueprint)
- Godot (GDScript)
- VRChat (UdonSharp)
Web:
- WebGPU (standalone HTML)
- React Three Fiber (JSX)
- Babylon.js
Mobile/XR:
- visionOS (Swift + RealityKit)
- Android XR (Kotlin)
- iOS ARKit (Swift)
Robotics:
- URDF (ROS 2)
- SDF (Gazebo)
IoT:
- DTDL (Azure Digital Twins)
- WoT (W3C Thing Description)
Export Process:
- Click Export
- Select target platform
- Configure options (package name, namespace, etc.)
- Click Generate
- Download .zip file
Keyboard Shortcuts Reference β
Global β
| Shortcut | Action |
|---|---|
Ctrl+N | New scene |
Ctrl+O | Open scene |
Ctrl+S | Save scene |
Ctrl+P | Publish |
Ctrl+Z | Undo |
Ctrl+Y | Redo |
Ctrl+B | Toggle Brittney panel |
Ctrl+/ | Toggle console |
F1 | Help |
F11 | Fullscreen |
V | VR Mode |
Viewport β
| Shortcut | Action |
|---|---|
G | Move (translate) |
R | Rotate |
S | Scale |
Delete | Delete selected |
Ctrl+D | Duplicate |
H | Hide/Show |
F | Focus on selected |
Numpad . | Frame all |
Code Editor (Expert Mode) β
| Shortcut | Action |
|---|---|
Ctrl+Space | Auto-complete |
Ctrl+F | Find |
Ctrl+H | Find & Replace |
F12 | Go to Definition |
Shift+F12 | Find References |
Ctrl+/ | Comment/Uncomment |
Shift+Alt+F | Format Document |
Settings β
General β
- Theme: Light / Dark / Auto
- Language: English, Spanish, French, German, Japanese
- Auto-Save: Interval (1min, 5min, 10min)
Rendering β
- Anti-Aliasing: None, FXAA, MSAA x2/x4/x8
- Shadow Quality: Low, Medium, High, Ultra
- Post-Processing: Bloom, SSAO, Color Grading
- Grid Size: 0.5, 1, 2, 5 units
AI (Brittney) β
- Provider: OpenAI, Anthropic, Google, Custom
- API Key: Your key (stored locally)
- Model: GPT-4, Claude 3.5, Gemini 1.5
- Temperature: 0-1 (creativity)
- Max Tokens: 512, 1024, 2048, 4096
Collaboration β
- Username: Display name
- Cursor Color: Pick color
- Voice Chat: Enable/Disable
- Show Presence: Show/Hide other users
Performance β
- FPS Limit: 30, 60, 90, 120, Unlimited
- LOD Distance: Near, Medium, Far
- Physics Substeps: 1-10
- Enable Frustum Culling: Yes/No
Troubleshooting β
Scene Won't Load β
- Clear cache (Ctrl+Shift+R)
- Check console for errors (F12)
- Verify .holo syntax in Expert mode
Brittney Not Responding β
- Check AI settings (API key, model)
- Verify internet connection
- Check provider status page
VR Mode Not Working β
- Ensure WebXR-capable browser
- Connect headset before clicking VR
- Grant browser permissions
Performance Issues β
- Run benchmark (B key)
- Enable optimizations (Settings > Performance)
- Reduce object count or shadows
- Use LOD trait
Export Failed β
- Check scene for errors
- Verify target platform supported
- Try different export format
Community & Support β
- Discord: discord.gg/holoscript
- GitHub: github.com/brianonbased-dev/Holoscript
- Docs: holoscript.net/guides
- Studio Feedback: feedback.holoscript.net
Happy building in Studio! π¨β¨