MIKE PORETTISupervisor - Creative Technologist - VFX Artist
← Tools Development

TOOLS DEVELOPMENT / GAME & VR DEVELOPMENT

Vireo

A native game engine, from the editor to the headset.

Vireo is a native C++ game engine with a Windows authoring environment and an OpenXR runtime for Meta Quest. Build scenes from reusable actors, author materials and lighting, connect game systems, then preview and package the result. VR Chess is its first game module and the project used to develop the engine’s connected workflow.

VR Chess — desktop clean-capture output from a Vireo project.

01 / EDITOR & DESKTOP PLAY

Build a scene. Play it in the same workspace.

The Windows editor combines a Vulkan viewport, scene hierarchy, component inspectors, and asset browsing. Viewport picking synchronizes with hierarchy selection. Translate, rotate, and scale gizmos support local/world modes, snapping, and selection framing; Maya-style Alt-drag controls provide orbit, pan, and dolly navigation.

Play in Editor starts the real game from freshly cooked content, using desktop input to exercise the experience. Stop returns to the authoring state while preserving the scene, selection, unsaved edits, and undo/redo history. Cook Preview separately inspects the serialized scene that the runtime will load.

Windows authoring workspace — hierarchy, viewport, inspectors, and Content Browser.

02 / CONTENT BROWSER

Find assets and follow their relationships.

The Content Browser presents project assets with thumbnails, search, and type categories. Meshes expose named material slots; references connect worlds, surfaces, hand sets, environments, and game-specific assets. Reference navigation moves from an assignment to the asset it uses.

The asset database tracks direct users and dependencies, supports registered asset types, and saves each library back to its source file. The editor’s “Used By” and “Depends On” inspection helps trace how content is connected before changing it.

Content Browser detail — searchable project content with type categories and thumbnail previews.

03 / ACTORS & REUSABLE DEFINITIONS

Author reusable objects with editable component hierarchies.

Scenes store persistent actors, components, parent-child relationships, and transforms. An Actor Definition packages a reusable component tree. Instances expand that definition into the scene, while sparse overrides hold the changes made to an individual copy.

The Actor Editor isolates a definition for inspection and editing. Shared definitions keep repeated props or hand assemblies consistent, while scene overrides allow local variation. Stable IDs preserve references through the authoring and cooking process.

Actor Definition workspace — a replaceable hand asset shown in an existing editor capture.

04 / MATERIAL GRAPHS

Build a surface with typed nodes and a fixed PBR output.

Material graphs connect scalar, color, texture, channel, blend, levels, normal-generation, and reroute nodes to a StandardPBR output. Socket types are checked, cyclic connections are rejected, and invalid rewires retain the previous valid connection.

Graphs are authoring assets. At cook time, constant expressions resolve to PBR factors and static image expressions bake to textures. The headset receives prepared material data and compressed textures; the graph editor and graph evaluator stay in the authoring pipeline.

Material Graph detail — authored node connections feeding a StandardPBR surface. Existing project capture.

Surface inputs

Base color, normal detail, roughness, metallic, and occlusion inputs form the runtime material contract.

Slot-based assignment

Stable mesh slots support default materials and overrides on world, piece, hand, and theme assets.

Offline preparation

Static expressions bake before packaging, with mipmapped ASTC KTX2 textures for the Quest path.

05 / WORLDS & LIGHTING

Bring a room into the engine and shape its atmosphere.

Static GLB and OBJ worlds can carry geometry, sections, transforms, and material bindings. HDR or EXR environment maps supply diffuse irradiance and filtered specular reflections. Exposure, IBL intensity, sky visibility, and rotation control the environment.

Editable directional, point, and spot lights add direct illumination. A bounded rig supports a designated shadow caster with a focused board-local volume. Desktop and Quest share the core GGX metallic/roughness shading equations, with normal mapping, environment reflections, and tone mapping.

Card room — a seated scene view from the project’s desktop renderer.
Lounge — an alternate authored environment in the same project.

06 / ANIMATION & PRESENTATION

Coordinate motion, effects, sound, and haptics.

Animation assets define keyframed translation, rotation, scale, visibility, scalar, and color tracks. Playback supports once, loop, and ping-pong modes. Layered animation and cross-fades combine actions, with semantic animation sets resolving the clip for a particular event.

Choreography sequences bind participant roles to clips and timed events. VR Chess uses presentation profiles for moves, captures, castling, promotion, and match-ending moments. Authored effects and sound cues follow those events, while reconciliation keeps the final presentation aligned with the committed game state.

07 / AUDIO

Give game events a reusable sound vocabulary.

Sound assets and semantic cue mappings connect gameplay events to recorded waves and authored sound programs. The sound-graph system defines typed control and audio connections, parameters, patches, and presets, which compile into runtime programs.

The playback systems include listener-relative positioning, attenuation, buses, mono output, and a synchronized two-stem music transport with cross-fades. VR Chess uses distinct cues for hover, grabbing, move commitment, capture, rejection, promotion, and results. Sound captions provide a visual counterpart to the game’s cues.

08 / XR, SPATIAL UI & ACCESSIBILITY

Connect tracked input to an authored experience.

The Quest host uses OpenXR views, controller poses, actions, and haptics. Replaceable hand meshes have material assignments and grip calibration. Interaction systems handle hover, grab, candidate targets, commit, cancellation, and tracking loss.

Spatial UI documents describe panels, text, buttons, images, grids, and progress indicators. Text measurement, wrapping, paging, and oriented-panel hit tests support readable in-world screens. VR Chess exposes larger text, color-blind-safe board highlights, reduced motion, mono audio, sound captions, and high-contrast menus.

Comfort turning, room recentering, and grab-based locomotion are implemented systems. Controller alignment, readable panel placement, comfort, and sustained frame pacing remain subject to retail-headset acceptance.

09 / VR CHESS & PLAYER SYSTEMS

A complete game loop to exercise the engine.

VR Chess combines the engine’s room, rendering, input, presentation, audio, and UI systems. Its rules core covers legal moves, castling, en passant, all promotion choices, check, mate, stalemate, and draw conditions. Timed matches add increment, pause/resume, timeout, results, and restart.

A local opponent searches asynchronously with difficulty budgets, cancellation, and stale-position checks. Match persistence stores progress across interruptions. Move history, FEN/SAN notation, and PGN serialization keep the game record separate from its visual presentation.

Player profiles support progression, a mastery track, cosmetic collections, and an earned-points store. These project gameplay systems use reusable profile and economy services, with the store spending in-game currency.

Gallery environment — one of the project’s authored rooms; this capture shows the scene rather than its store or progression UI.

10 / COOKING & PUBLISHING

Turn editable source content into a runtime package.

A project declares its scenes, startup state, asset libraries, and game module. Validation checks references and content contracts. Deterministic cooking prepares scene graphs, meshes, PBR records, environment lighting, animation, sound, and compressed textures; incremental caching avoids repeating unchanged work.

Publish Dev builds the prepared Quest content into an Android package. Raw authoring geometry, HDRI files, and graph layouts stay out of the runtime package. The update pipeline checks package size, hash, application ID, version, and signer before requesting Android installation.

01 / AUTHOR

Assemble

Import assets, place actors, and configure scenes, materials, lighting, and game state.

02 / VALIDATE

Resolve

Check content references and registered asset contracts before packaging.

03 / PREVIEW

Inspect

Use Cook Preview to examine serialized runtime content; source edits make it stale.

04 / PACKAGE

Build

Prepare the Quest package and its validated content manifest.

Existing editor scene-preview capture — a prepared chess scene in the native viewport.

11 / TECHNICAL FOUNDATION

Shared contracts between the tools and runtime.

The native engine separates reusable scene, asset, interaction, and runtime services from individual game modules. A blank project can cook without chess content. Windows tools use Qt; the runtime uses Vulkan and OpenXR, including a multiview stereo path on Quest.

Scene data

Persistent IDs, component registries, reusable definitions, deterministic expansion, and cooked transform graphs.

Rendering

Shared PBR equations, normal maps, filtered IBL, compressed textures, tone mapping, and bounded shadows.

Iteration

Desktop play, headless input scripts, recorded inputs, deterministic fixtures, and clean spectator capture.

Authoring safety

Undo/redo, unsaved-change guards, recovery data, external-file conflict detection, and dependency checks.

Diagnostics

Frame statistics, quality profiles, and metrics gates provide tools for evaluation; no target frame rate is claimed here.

Verification

Rules, content, integration, and automated play tests complement desktop render evidence and headset acceptance.

12 / DEVELOPMENT SCOPE

Implemented systems, with acceptance boundaries kept visible.

Vireo is in active development. Its Windows editor, content pipeline, and connected gameplay systems have desktop and automated integration evidence. Retail Quest acceptance remains open for controller alignment, presentation, audio, comfort, performance under thermal load, update delivery, and longer play sessions.

Animation coverage here refers to rigid/property animation and choreography. Skeletal animation, polished visual editors for every asset family, full online play, and store readiness are not presented as finished features. Baked indirect lighting and networking foundations have implementation work, but this page does not imply complete end-to-end acceptance.

How does Vireo relate to VR Chess?

Vireo is the reusable engine and authoring environment. VR Chess is a game module and authored project that exercises those systems. Projects declare the module, scenes, and states they use.

Does this page demonstrate headset performance?

The displayed images are existing Windows editor and desktop renderer captures. They establish the depicted authoring and rendering states; they do not establish headset image quality, comfort, or sustained performance.