Studio — Visual IDE
Desktop and browser-based visual development environment for HoloScript. Drag-and-drop scene building, real-time preview, and multi-platform export.
Overview
HoloScript Studio is a visual IDE for creating 3D worlds without writing code. Exports to any HoloScript format (.holo, .hsplus, .hs) or directly to target platforms (Unity, Godot, WebGPU, etc.).
Installation
Desktop (Electron)
# macOS / Windows / Linux
brew install holoscript-studio
# or download from https://studio.holoscript.dev
# Launch
open -a HoloScriptStudioBrowser
https://studio.holoscript.dev/ # No installation neededQuick Start
Create New Project
- Open Studio → File → New Project
- Select template → Empty, Game, Marketplace
- Set target platform → WebGPU, Godot, Unity, VRChat, etc.
- Start building
The Workspace
┌─────────────────────────────────────────┐
│ Menu Bar File Edit View Help │
├──────────────────────────────────────────┤
│ ┌────────┐ ┌──────────────┐ ┌──────────┐│
│ │ Assets │ │ Viewport │ │Properties││
│ │ │ │ (3D Preview)│ │ ││
│ │ panel │ │ │ │ panel ││
│ └────────┘ └──────────────┘ └──────────┘│
│ ┌──────────────────────────────────────┐ │
│ │ Hierarchy / Timeline │ │
│ └──────────────────────────────────────┘ │
└──────────────────────────────────────────┘Building Scenes
Add Objects
- Click Add button → Choose shape
- Drag into viewport
- Position with mouse or properties panel
Shapes Available:
- Primitives: Cube, Sphere, Cylinder, Cone, Plane
- 3D Models: Humanoid, Robot, Vehicle, Building
- VR Objects: Grabbable cube, UI panel, trigger zone
- Advanced: Custom mesh, imported modelApplying Traits
Select object → Click Traits panel → Add:
Common Traits:
✓ @grabbable (Make interactive)
✓ @physics (Add physics simulation)
✓ @animated (Allow animations)
✓ @networked (Multiplayer sync)
✓ @audio (Sound effects)Setting Properties
Transform
- Position (X, Y, Z)
- Rotation (Yaw, Pitch, Roll)
- Scale (X, Y, Z)
Appearance
- Geometry: cube, sphere, etc.
- Material: Color, Emission, Metallic, Roughness
- Texture: Upload image or select preset
Physics (if @physics trait)
- Mass: 0-1000 kg
- Restitution: 0-1 (bounciness)
- Friction: 0-1 (grip)
Behavior
- Actions: Define triggers and responses
- Animation: Add keyframe animations
- Audio: Attach sound effects
Scripting
Visual Logic Editor
- Select object
- Click Actions tab
- Add action → Choose trigger (OnGrab, OnCollide, etc.)
- Add steps → Drag visual nodes to create flow
[OnGrab] → [Play Sound] → [Emit Particles] → [Change Color]Code Mode
Switch to code editing:
composition "Game" {
template "Player" {
@grabbable
@physics
state { health: 100 }
action attack(target) {
target.health -= 20
}
}
}Animation Timeline
Create keyframe animations:
- Select object
- Click Timeline → Add Animation
- Drag timeline scrubber
- Set keyframes for:
- Position
- Rotation
- Scale
- Color
- Opacity
- Custom properties
Easing options: Linear, Ease-in, Ease-out, Ease-in-out, Custom curve
Real-time Preview
Play Mode
- Play button → Test scene in editor
- Physics simulation runs
- Interactions work (grab, point, etc.)
- Network sync simulated
- Audio plays
VR Preview
- VR Preview button → Test on VR headset
- Use hand controllers for interaction
- See exactly how it feels
Multiplayer Testing
Start Test Server to simulate networking:
Players:
☐ Player 1 (you)
☐ Player 2 (simulated)
☐ Player 3 (simulated)
Sync Rate: 20 Hz
Network Latency: NormalAsset Management
Import Assets
- Assets panel → + button
- Choose file:
.glb,.fbx,.gltf,.png,.mp3,.mp4 - Studio auto-converts to optimal format
Asset Library
Browse pre-made:
- 3D Models: Characters, vehicles, props
- Animations: Walking, running, gestures
- Audio: Sounds, music, voice
- Textures: Materials, patterns, effects
Code Generation
Export to Code
- File → Export
- Choose format:
.holo— Portable, AI-friendly.hsplus— Full programming.hs— Classic HoloScript
Export to Platform
- File → Export
- Choose target:
- WebGPU, Godot, Unity, Unreal, VRChat
- iOS, Android, Vision OS, OpenXR
Studio handles all compilation steps automatically.
Collaboration
Share Project
- File → Share
- Copy link or send to teammates
- Others open in browser with:
- View-only (spectator)
- Edit (if invited)
- Admin (if owner)
Real-time Editing
Multiple users can edit simultaneously:
- Each gets different cursor color
- Changes sync in real-time
- Conflict resolution automatic
Version Control
File → Version History
- Automatic saves every 2 minutes
- Restore to any point in time
- Diff view shows changes
Templates
Getting Started Templates
Templates:
- Empty Scene
- First-Person Shooter
- Multiplayer Arena
- Marketplace Showcase
- VRChat World
- Mobile AR Experience
- Godot Game
- Web ExperienceChoose template → Start with structured project
Performance Optimization
Check Performance
Tools → Performance Monitor
FPS: 60
Memory: 128 MB / 256 MB (50%)
Draw Calls: 45
Triangles: 125,000Optimization Tips
- Reduce polygon count — Use LOD models
- Batch objects — Combine similar geometry
- Use InstancedMesh — For repeated objects
- Remove unused assets — Studio shows what's not used
- Optimize physics — Mark non-moving objects as static
Keyboard Shortcuts
R Rotate tool
W Move tool
S Scale tool
P Toggle play/pause
O Toggle orbit camera
F Frame selected
Ctrl+S Save project
Ctrl+Z Undo
Ctrl+Y Redo
Delete Remove selectedTroubleshooting
Scene won't preview
- Check Console tab for errors
- Verify all objects have valid geometry
- Try Tools → Validate Project
Export fails
- Ensure project is saved
- Check target platform compatibility
- Look for missing assets (red indicators)
- Try Tools → Repair Project
Performance slow
- Reduce object count
- Lower quality settings
- Check Performance Monitor
- Use LOD Generator for distant objects
See Also
- Core Package — Under-the-hood compilation
- CLI — Command-line export options
- Compilers — Platform-specific export guides