---
title: "VR & XR Development for Headset Experiences"
canonical: https://wavect.io/services/vr-xr-development/
language: en
description: "Scope VR and mixed-reality applications around a real task, supported headsets and tested interactions. Wavect defines input, comfort, performance and handover."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

VR, MR & XR

# VR and XR experiences for practice, inspection and exploration.

Let people practise, inspect or explore something that benefits from being experienced in three dimensions. We build VR and XR applications around a defined task, with interaction, comfort and performance tested on the agreed headsets.

THE ENGAGEMENT

## Define the task before filling the virtual room.

1. **Select the session** Agree the task, audience, space and target headsets.
2. **Test the interaction** Prove input, recovery and task state on real hardware.
3. **Prepare repeat use** Deliver an accepted build and an operating handover.

DIRECT ANSWER

VR and mixed-reality development builds interactive headset experiences. XR is the wider family that also includes AR; this service focuses on headset sessions, spatial input, task state, performance and deployment on agreed devices.

Best for

- A bounded training, inspection or spatial demonstration task
- Teams turning a headset prototype into a testable application

Consider another approach

- Phone or browser camera overlays
- A web-based 3D scene that does not require a headset

## Choose VR or mixed reality for a specific reason

In VR, the task takes place in a virtual environment. Mixed reality adds virtual content to the user’s view of their surroundings. Choose between them based on what participants must see and manipulate, then define session length and successful completion. XR includes both, as well as [phone and browser AR](/services/augmented-reality-development/). A training scenario needs an accountable subject expert; learning objectives and assessment rules come from that expert.

## Treat interruption as part of the interaction

Specify seated or standing use, reachable controls, dominant-hand settings and the required controller or hand input. Hand tracking is included only where the chosen hardware and runtime support it. Define what happens when input or positional tracking disappears, the headset is removed or the user recentres. Pause task progression when appropriate, preserve completed steps and make resumption clear. Test these transitions with users who have not learned the prototype from its developers.

## Set a budget for the headset, then measure it

Agree frame-time and memory budgets on the actual target hardware, using the most demanding representative scene. Specify locomotion, turning, text readability and alternatives to uncomfortable movement. [Unity’s VR/MR guidance](https://docs.unity.com/en-us/engine/6000.0/manual/xr/support/vroverview) explains why tracking, movement and frame performance affect comfort. We test the chosen interaction options rather than promise that nobody will feel discomfort. [3D Modelling](/services/3d-modelling/) owns the asset preparation needed to meet the agreed runtime budget.

## Illustrative acceptance: resume a guided assembly exercise

A participant selects the correct virtual component and completes the first assembly step. They pause, remove the headset and return. After recentering, previously completed work remains intact; the next step has not advanced by itself. If the required input is lost, the application explains the recovery path. Completion is recorded once, under the agreed rules. This proposed exercise tests session behavior; it is not a reported client result or evidence of training effectiveness.

## Confirm the device path and the people who will deliver it

Compare the engine, runtime and distribution route against the interaction requirements. [OpenXR](https://docs.unity3d.com/Packages/com.unity.xr.openxr@1.14/manual/index.html) can support portability, but runtime extensions, input features and build targets still need verification. We confirm device access and any specialist capacity before committing to implementation. Content creation, multiplayer synchronization and organizational device management are explicitly scoped. A convincing single-headset demo does not settle those separate delivery questions.

## Make the next session reproducible

Deliver the source project, asset and dependency records, accepted build, supported-device matrix and installation instructions. Agree who starts, resets, updates and supports sessions, plus what participant data is retained. Pilot access, internal distribution and a public store release have different deliverables. If progression and replayability are central, [Game Development](/services/game-development/) owns those mechanics. A non-headset [interactive 3D experience](/services/interactive-3d-development/) may be the better route for wider access.

## Questions before you start

### Is XR a different product from AR or VR?

XR is an umbrella term. Here, the deliverable is a headset VR or mixed-reality application. Phone and browser AR has its own service because device access, entry and recovery differ.

### Can you support several headset brands?

We can assess a multi-device scope, but support is agreed per device, runtime and required feature. We test each accepted combination; a shared engine or OpenXR integration does not establish identical behavior.

### Can the experience use hand tracking instead of controllers?

That depends on the required precision and the target platform. We test the action with the intended users, define what happens when hands are not tracked and retain an alternative input when the scope needs it.

### Can we use VR for employee training?

A bounded task can be prototyped and evaluated with your subject expert. Define the real learning objective, assessment and alternative access. A completed virtual exercise alone does not demonstrate transfer to workplace performance.

### What do you need before quoting implementation?

The task and content brief, target hardware, access to representative devices and an acceptance owner. We confirm the required engineering and creative specialists, their availability and the distribution responsibilities in the scope.

### How should we judge a VR training prototype?

Check whether participants can complete the intended task, understand feedback and use the experience comfortably. Define the learning assessment separately from completion. If the goal is better real-world performance, agree how that transfer will be evaluated before treating a headset score as evidence.

## Continue with the right scope

- [AR for phones and browsers](/services/augmented-reality-development/)
- [Gameplay, progression and playable releases](/services/game-development/)
- [Assets prepared for the target runtime](/services/3d-modelling/)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/services/vr-xr-development/#service",
      "@type": "Service",
      "areaServed": [
        {
          "@type": "Country",
          "name": "Austria"
        },
        {
          "@type": "Place",
          "name": "Worldwide"
        }
      ],
      "category": "Games, XR & 3D",
      "dateModified": "2026-11-01",
      "description": "Scope VR and mixed-reality applications around a real task, supported headsets and tested interactions. Wavect defines input, comfort, performance and handover.",
      "name": "VR & XR Development for Headset Experiences",
      "provider": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "serviceType": "VR & XR Development",
      "url": "https://wavect.io/services/vr-xr-development/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/overview/",
          "name": "Services",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/overview/#games-xr-3d",
          "name": "Games, XR & 3D",
          "position": 3
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/vr-xr-development/",
          "name": "VR & XR Development",
          "position": 4
        }
      ]
    },
    {
      "@id": "https://wavect.io/services/vr-xr-development/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-11-01",
      "description": "Scope VR and mixed-reality applications around a real task, supported headsets and tested interactions. Wavect defines input, comfort, performance and handover.",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "mainEntity": {
        "@id": "https://wavect.io/services/vr-xr-development/#service"
      },
      "name": "VR & XR Development for Headset Experiences",
      "url": "https://wavect.io/services/vr-xr-development/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "XR is an umbrella term. Here, the deliverable is a headset VR or mixed-reality application. Phone and browser AR has its own service because device access, entry and recovery differ."
      },
      "name": "Is XR a different product from AR or VR?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We can assess a multi-device scope, but support is agreed per device, runtime and required feature. We test each accepted combination; a shared engine or OpenXR integration does not establish identical behavior."
      },
      "name": "Can you support several headset brands?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "That depends on the required precision and the target platform. We test the action with the intended users, define what happens when hands are not tracked and retain an alternative input when the scope needs it."
      },
      "name": "Can the experience use hand tracking instead of controllers?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A bounded task can be prototyped and evaluated with your subject expert. Define the real learning objective, assessment and alternative access. A completed virtual exercise alone does not demonstrate transfer to workplace performance."
      },
      "name": "Can we use VR for employee training?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The task and content brief, target hardware, access to representative devices and an acceptance owner. We confirm the required engineering and creative specialists, their availability and the distribution responsibilities in the scope."
      },
      "name": "What do you need before quoting implementation?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Check whether participants can complete the intended task, understand feedback and use the experience comfortably. Define the learning assessment separately from completion. If the goal is better real-world performance, agree how that transfer will be evaluated before treating a headset score as evidence."
      },
      "name": "How should we judge a VR training prototype?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
