AVP Play is a Mac app that installs VR games you already own on your Apple Vision Pro.
It downloads your purchased Quest games from Meta with your own account, translates them on your Mac with the Klepton toolchain, signs them with your own Apple developer account and copies them to your headset. No game content is distributed with this project, and nothing is downloaded that Meta does not confirm you have purchased.
New here? The user guide in the wiki explains setup and everyday use step by step, in simple words – in English and German.
Like it? AVP Play is free and stays free. If you enjoy playing your games on the Vision Pro, you can buy me a coffee.
![]() |
![]() |
| The games on the Mac – the ones the project tested first | A game's page: version, files, what is on the Vision Pro |
![]() |
|
| Beat Saber on the Apple Vision Pro: the start window before the game opens | |
AVP Play is made by one person and tested on one Mac with one Vision Pro, plus what other players report. Expect rough edges, and please report what happens on your setup.
- You pick a game you own. AVP Play asks Meta (or Steam) whether your account owns it and downloads only what is confirmed – with your own sign-in, straight from the store.
- Your Mac translates it. The Android build of the game is turned into a visionOS app by the Klepton toolchain, which comes with AVP Play.
- It is signed with your own Apple account and copied to your Vision Pro – over Wi-Fi, or much faster over a USB cable on the Developer Strap.
- You play. Every game opens with the same start window: Start, Settings for picture, play area and controls, and the room measured once for all games.
Every Quest game of the Meta Store is listed in the app with a label: Verified (tested by the project, with
a recipe in recipes/), Community Verified (players report it runs, or it runs with a fix a player
sent in), Untested or Incompatible. An untested game you own can be tried – most need adjustments before
they run. Say with one click how it went, or let an AI coding assistant try to fix it and send the fix in for
review; that is how the list grows.
Along the way the app keeps your saved games on your Mac, can keep the downloads on an external disk, shows mixed-reality games in your own room, and updates itself from this repository's releases. The wiki has the details.
Remote control from the headset. Switch on Remote Control in the sidebar, and the visionOS app AVP Play Remote lets you browse your games, install and update them and follow the jobs while you wear the Vision Pro – the Mac still does the work. The Mac shows itself on your Wi-Fi, you pair once with a six-digit code, and everything between the two stays in your network, encrypted. AVP Play installs the app itself: the AVP Play Remote tile under Games (or Install on the Remote Control page) builds the newest release of its source code with your Apple team and puts it on the Vision Pro. See Remote Control in the wiki.
Installing without a Mac (experimental). With a paid Apple Developer Program membership, AVP Play Remote can also do the work itself: download a game from Meta, build it, sign it and install it on the Vision Pro while the Mac is off. It is off until you switch on Installing Games Without a Mac (Experimental) on the AVP Play Remote page and install the Remote again; AVP Play then builds this part into it and hands over the toolchain's runtime, the game recipes and your Meta library. Not every game has been tried this way – installing from the Mac stays the tested way. See Remote Control in the wiki.
In the menu bar. An icon in the menu bar shows the running job with its progress, whether the Vision Pro and AVP Play Remote are connected and, with a free Apple account, when the next game runs out. With Keep running in the menu bar when the window is closed (Settings › Menu Bar) you can close the window: jobs keep going, AVP Play Remote stays connected, and the Dock icon comes back when you open the window again. ⌘Q then also puts AVP Play back into the menu bar; Quit in the menu bar quits it. Together with Open at login AVP Play starts as the menu bar icon only, without its window.
| Mac | Apple silicon, macOS 14 or later, Xcode with its visionOS platform |
| Vision Pro | paired with Xcode, Developer Mode on, on the same Wi-Fi as the Mac |
| Apple account | an Apple developer team signed in to Xcode. A free account works with Apple's limits (a game opens for 7 days after it is installed, installing it again renews it; 3 apps at a time); the paid Apple Developer Program has none |
| Meta / Steam account | the account that owns the games – Meta for the Meta Store, Steam for games bought there |
| Controllers | what the game expects – mostly tracked controllers; an ordinary gamepad works together with your hands |
| Disk space | games are large, from a few hundred MB to over 70 GB, on the Mac and again on the headset |
- Download
AVP-Play-<version>.dmgfrom the latest release, open it and drag AVP Play into Applications. - Open it. The Setup page checks Xcode, the Vision Pro, your Apple team and your store accounts, and says what to do for anything missing.
- Pick a game under Games and click Install. The Jobs page shows each step; a job can be stopped and resumed at any time without losing what was downloaded.
- Sign-ins go to the stores' own tools – Meta's
ovr-platform-utiland Valve's SteamCMD, both downloaded from their makers. What you type goes to those tools and is not stored; Meta's token stays in the macOS keychain and is sent only to Meta. The one exception is yours to make: for installing without a Mac you can switch on Also hand over the Meta sign-in, and only then the token is copied to AVP Play Remote on your own headset, kept in that app's keychain and sent from there to Meta only. The same goes for your Apple team key, which goes to Apple only. Game pictures come from the stores' public pages, without your sign-in. - Only what you own. Ownership is asked before anything is downloaded, add-ons only for confirmed purchases. Requests stop at the first unexpected answer; the app never probes what a store might hand out.
- Your games stay yours. Files, builds and saved games live on your Mac and your headset. Nothing is shared with this project.
- The project's catalogue service (
avpplay.martek.de) knows the list of games and what players report. It gets what you search for, the games whose page you open, the reports you choose to send, and – a little telemetry out of curiosity – once a day that the app is in use and once per game that it was installed, with no identifier of you or your devices. All of it can be turned off in Settings. There is no account with this project.
git clone https://github.com/myMartek/avp-play.git
cd avp-play/core
swift test # the library's tests
tools/make-app.sh # builds ../dist/AVP Play.app (ad-hoc signed, for this Mac only)make-app.sh bundles the newest dist/klepton-toolchain-*.tar.gz (with its .json) – take both from a release.
core/Sources/AVPPlayCore is the library, AVPPlayApp the Mac app, avpplay a command-line tool with the same
functions. The recipe format is in docs/recipes.md; how to report a problem or contribute is in
CONTRIBUTING.md.
Games are translated by a fork of Klepton by Max Thomas (MIT),
extended for the games AVP Play runs. The fork lives at myMartek/Klepton
(branch avp-play, one tag toolchain-N per release); changes to the runtime are welcome there as pull
requests. The package that ships with the app holds the fork's complete source with prebuilt ANGLE and MoltenVK
and their licences – see THIRD-PARTY.md.
AVP Play is made in spare time and costs nothing to use. If you would like to say thanks, you can support it here:
Reports and fixes from the app help just as much – see Community Verified below.
- Max Thomas for Klepton, the ground all of this stands on.
- rebelancap, who offered the fixes of their own Klepton fork (issue 16): foveated rendering for Vulkan games, large Unreal libraries, the OpenGL path, haptics, sound, and some 160 calls of Meta's headset interface.
- Glovebox, which brings Half-Life: Alyx to the Vision Pro and published all of it under the MIT licence: shaders prepared before the game starts, Steam Cloud saves, the fix for flashing eyes and more came from there – each named in the source where it lives.
- naldo29, who ported the Beat Saber mods to the Vision Pro (beat-saber-with-custom-song-support), and the Beat Saber modding community, whose mods it runs – each named in THIRD-PARTY.md.
- kavardev for the Digital Crown work (issue 110): a game that ends at once on a crown press, controllers that come back after a system interruption, and progressive immersion – a per-game switch that lets you turn the crown to draw the game into a portal over your room.
- Everyone who sent in a fix or a report – the Community Verified games are their work.
AVP Play is an independent open-source project. It is not affiliated with, endorsed by or supported by Apple, Meta, or the publishers of any game. Apple Vision Pro, Meta Quest and the names of the games are trademarks of their respective owners.
It is meant for one thing: playing games you have bought, on a headset you own. It contains no game content and does not remove or bypass purchase checks – it asks Meta what you own and installs only that. Whether using your purchases this way is permitted by the terms of the stores and games involved is for you to check; you use this software at your own risk. See LICENSE (MIT) for the terms of this project itself.


