Adapt your controller-first title for Meta VR Glasses

Blog Hero Image
Meta VR Glasses arrive in spring 2027 with eyes and hands as the default input. For studios bringing existing, controller-first games and apps to our newest device, a successful port needs to carry over the feel of play as well as the code.
Bringing a controller-first title forward means considering what its players would gain or lose with a different input model. Its core mechanics may depend on controller precision and haptic feedback, even where hands simplify other interactions. Compatible controllers are sold separately, so the choice also affects whether people can play without additional hardware.
This guide will help you scope the port and preserve essential interactions, with onboarding and supported-input declarations that match the tested experience.
In this guide:

Identify what the core loop needs

First, list all of the actions players repeat most often and the controller capabilities each uses, including actions involving simultaneous controller inputs. For an action game, moving with a thumbstick while aiming and firing needs to be evaluated as a combination, not three isolated inputs.
Then, use your audit to define what the port must preserve:
  • Identify actions that need precision or rapid repeated input, including those performed simultaneously.
  • Note where haptics confirm contact, communicate timing, or signal a state change.
  • Include motions beside or behind the player that may leave the hand-tracking volume.
  • Separate essential gameplay from secondary tasks such as opening settings or inspecting equipment.
If a vibration signals a completed reload, preserve it as gameplay feedback alongside movement and firing. Evaluate secondary tasks such as browsing equipment separately.

🎯 Action items

  1. Refer to our Input Modalities guide to learn how controller reliability, input breadth, and extended tracking range affect these decisions.
  2. Complete Meta VR Academy's short Adapting an Existing Game for Hands⁠ course to assess the changes an adaptation would require and whether they're worth pursuing.

Update the project with a gameplay baseline

After you’ve identified the needs of your core loop, use one repeatable sequence to check that the updated project preserves the controller path.
  1. Record the baseline. Open a version that builds and runs on current Quest hardware. Capture a short gameplay sequence with its essential controller actions and feedback.
  2. Update the engine and SDK configuration. Follow the Unity or Unreal setup guide for your integration.
    • Unity: The guide specifies Unity 6000.0.66f2 or later, Android Build Support, the Unity OpenXR Plugin, and Meta XR Core SDK. Resolve required Android issues with the Project Setup Tool, then build with IL2CPP and target ARM64. Its Interaction SDK OVR path uses com.meta.xr.sdk.core, com.meta.xr.sdk.interaction, and com.meta.xr.sdk.interaction.ovr.
    • Unreal: Review engine and Meta XR plugin compatibility, then apply the Project Setup Tool's Critical rules, including ARM64. If you add the Meta Interaction SDK plugin, enable it alongside the Meta XR plugin and keep their minor versions matched.
  3. Check bindings and device-specific code. Confirm that the intended controller profiles remain enabled and inputs reach the correct actions. Prefer capability checks over headset-model assumptions. For either engine, every required third-party native library must be available for ARM64.
  4. Repeat the sequence. Run it in your development workflow and on current Quest hardware. The player should still be able to perform the same simultaneous actions with the expected feedback before you add another input path.

Evaluate hands for a specific interaction

With the core loop working, choose a secondary task where hands might be more direct. For instance, in an action game, an equipment preview could let players grab and turn an object rather than hold a button to rotate it. Regardless of your app genre, it’s important to test whether that improvement warrants putting down controllers and picking them up again.
Next, use established interactions where they fit. An index touch can select a nearby button, while an index pinch can confirm an indirect selection. On Meta VR Glasses, gaze targeting and a hand pinch offer another way to choose a distant menu item. The Input Mappings guide connects these inputs to touch, ray, and grab interactions.

💡 Quick tip

Don't turn every face button into a custom gesture. Consider direct manipulation or contextual controls instead, using the Hands Best Practices guide to evaluate pacing and gesture-learning demands.
In Chess Club, Odders Lab added hands to a controller-supported game, refining grab points and piece physics. When tracking was lost mid-move, the game canceled it rather than committing an unintended action; undo also helped players recover from mistakes. Read the success story to learn more about adding hands to an established game while preserving controller support.
As demonstrated by Chess Club, players need a similarly clear way to recover in any hands interaction you add. Make sure to give targets enough room, provide visual and audio feedback, and define what happens to held objects during tracking loss. Those cues don't replace controller haptics. Keep the controller implementation if it serves the task better.

🎯 Action item

Watch Meta VR Academy's Making Hand Interactions Forgiving and Reversible⁠ Short Code to learn how to accommodate natural hand movement and give players a clear way to recover from unintended actions.

Teach the controls available to the player

Players should only have to learn the controls they're using. If your title supports hands and controllers, detecting the active input lets you show prompts that match it. Someone navigating with hands shouldn't have to interpret "Press A," and controller users shouldn't need a gesture tutorial.
The task should remain familiar when those controls change. Selecting a level might use a controller ray or gaze and pinch, but the player's goal is the same. Let players revisit the relevant onboarding after switching, including when they pick up controllers to enter gameplay from a hands-enabled menu.
The handoff should also preserve what the player was doing. Menus should retain their state without accidentally activating an unfinished selection. Held objects need a defined outcome during the switch, too. Refer to our Multimodality guidance to learn more about input handoffs and how to handle them correctly.

Match supported-input declarations to the build

Enabling hand tracking in your project and declaring supported input during submission are separate checks. Our Virtual Reality Check guidelines require an app to meet the requirements for every input mode you select.
For example, a hands-enabled in-game equipment preview doesn't make controller-dependent gameplay playable with hands. Every required action needs a controller-free path before you describe the title that way.
Inspect the release APK too. A custom Unity Android manifest can retain an existing hand-tracking declaration instead of taking the new Hand Tracking Support value. Use the release manifest guidance to compare packaged declarations with the tested build.

Plan Store discovery around the experience

Make any controller requirement clear in the approved listing fields. Describe hands support according to its scope, and align listing assets with the submitted build. Footage of a hands-enabled equipment preview shouldn't suggest that combat can be played without controllers.

Test what you can now and validate on the device

Use your gameplay baseline across these test environments:
  • Meta XR Simulator: For supported OpenXR workflows, select the Meta VR Glasses profile and restart the app after changing profiles. It presents eyes and hands by default, with Meta Touch Plus controllers available as optional simulated input. Configure the left and right inputs under Inputs > Input settings, then check Input bindings. Desktop input doesn't establish physical tracking or haptic behavior.
  • Current Quest hardware: Test controller actions and any supported hands interactions. Field-of-view simulation can reveal clipped menus, status information, or targets. Check layout after launch and recentering, then through gameplay and pause menus. Follow the limitations of your simulation method.
  • Meta VR Glasses hardware: Before release, complete final validation of controller pairing and launch behavior, physical input, visual quality, and sustained performance. Our pre-release testing guide also identifies device-only checks for Store release-channel installation and platform services.
If you've added gaze and pinch, XR Simulator's Look and Pinch mode is available in v207 and later. Your app must implement the interactions; the simulator supplies input, rather than adding behavior.
Across the input paths you support, cover:
  • Onboarding and switching with a dialog open or an object held.
  • Fresh installs and updates from the current release.
  • Interruptions and resuming without losing state.
Note: Early testing helps you refine your port, but it doesn't replace final validation on Meta VR Glasses hardware.

🎯 Action item

Watch Meta VR Academy's Prototyping and Testing Hands Interactions⁠ Short Code to learn how to test a focused interaction under realistic conditions and decide what to refine before building around it.

Final thoughts: bring your app forward without losing its feel

A controller-first port should preserve the interactions players value, with input requirements they can understand. Hands can make some tasks simpler or more direct, while controllers remain the better fit when the core mechanics depend on their precision and feedback.
Follow the Unity or Unreal guide and use a short gameplay sequence to confirm that essential controller actions still work as intended. That baseline gives you a reference for evaluating hands interactions, so you can expand support where it improves the experience.
For more guidance on designing for hands, check out our latest blog posts:
–
For more developer updates, follow us on Facebook⁠, X⁠ and LinkedIn⁠, and subscribe to our monthly VR developer newsletter. Have thoughts, questions, or advice about building hands-first VR experiences? Start or join a conversation in the Meta VR Developer Forums⁠.
All
Entertainment
Hand tracking
Quest
Unity
Unreal
Did you find this page helpful?
Explore more
What to Expect from the Meta VR Ecosystem this Holiday Season and Beyond
Plan your 2027 roadmap with insights on the Meta VR ecosystem, player spending and audience needs from Chris Pruett.
All, Apps, Games, Marketing, Quest
Bring Your Android App to Meta VR Glasses
Bring your Android app to Meta VR Glasses with familiar tools. Learn how to adapt your UI, test in Meta Spatial Simulator and prepare for launch.
All, Apps, Design, Quest
Meta Quest 2 and Meta Quest Pro Reach End of Feature Development: What Developers Need to Know
Meta Quest 2 and Meta Quest Pro reach end of feature development with v213, rolling out by March 2027. Get key dates and plan your builds.
All, Apps, Entertainment, Games, Quest, Unity, Unreal

Get the latest updates from Meta VR.

Get access to highlights and announcements delivered to your inbox.