Step into EXA, an immersive musical studio where you can compose, record, and perform music using expressive instruments of your own design. Jam with EXA’s huge sound library or your own, create virtual bands, invent 'impossible' playing styles, export to WAV/MIDI, and so much more.
All Reviews:
Positive (38) - 97% of the 38 user reviews for this game are positive.
Release Date:
Mar 31, 2017

Sign in to add this item to your wishlist, follow it, or mark it as not interested

Early Access Game

Get instant access and start playing; get involved with this game as it develops.

Note: This Early Access game is not complete and may or may not change further. If you are not excited to play this game in its current state, then you should wait to see if the game progresses further in development. Learn more

What the developers have to say:

Why Early Access?

Update 2018-08-06: While still technically in Early Access, the EXA experience is polished, stable, and packed full of features and functionality. At this point, the "Early Access" tag indicates that there are still many important features planned, and Zach (the solo EXA dev) isn't ready to call the current version "complete".

EXA is an ambitious VR app that combines several new VR concepts, interfaces, and interactions. Even if this project had a dozens of people working on it (instead of just one!), this would take a significant amount of time and consideration. There are no "best practices" established for this type of VR work -- many of the challenges and decisions involved venture into uncharted territory.

With all of these new concepts and decisions involved, EXA needs extensive user testing and validation. This requires real users, with real goals for creating music, and a wide variety of opinions and skill levels. Steam's Early Access community is the perfect way to connect with those users, and get valuable feedback about the app.

Early Access users can help shape and refine EXA into a truly useful musical tool, ensuring that it has reliable interactions, understandable interfaces, and a fantastic VR user experience.

To keep up with EXA's latest additions and improvements, check out these development update videos.

Approximately how long will this game be in Early Access?

“EXA is already a polished, stable, fully-featured app. The "Early Access" tag indicates that there are still many more features and improvements on the way. Regardless of Early Access, please feel confident that -- any time in 2018 or beyond -- you'll be purchasing a useful and high-quality product.”

How is the full version planned to differ from the Early Access version?

“Beyond EXA's large set of existing features, the full-version release will hopefully include:
  • support for Steam workshop (for sharing custom instruments, recordings, etc. with the community)
  • adding "switches" for rapidly changing ringer notes/pitches/sounds (i.e. like changing a guitar's active chord formation, see my "VR Guitar" on YouTube)
  • support for basic audio effects/filters
  • linear control cubes (for mapping 3D cursor position/rotation within the cube to things like volume, pitch, effects levels, etc.)
  • use of the microphone as a live and/or recorded audio source

Additional features, which may not be part of the first full-version release, may include:
  • some form of multi-player support
  • tools for improving the instrument design process (aligning ringers to a path or grid, mirroring ringers, etc.)
  • support for Steam stats and achievements

There are many potential possibilities for EXA. There's really no limit to how many new tools and features an "infinite instrument" might demand!”

What is the current state of the Early Access version?

“At the end of February 2017, the app already contained a significant amount of functionality, including:

  • drawing-to-ringer functionality (with transition animations)
  • striking the ringers (with dynamic audio/visual reactions)
  • the magnetic-connection tool system
  • grabbable/movable everything
  • resizable ringers
  • full Soundfont engine
  • proximity- and stike-based muting
  • metronome
  • multi-track loop recording system

...with all of the above mostly working well together, and with a relatively cohesive visual appearance.”

Will the game be priced differently during and after Early Access?

“The Early Access app will gradually increase in price as it becomes more complete. This may include an increase between the last Early Access version and the first fully-featured version.”

How are you planning on involving the Community in your development process?

“User feedback will be vital for ensuring that everything in EXA works well, sounds beautiful, makes sense, and feels great. This feedback can come in many forms -- reports of broken features, bugs, confusing interfaces/interactions, feature ideas, and general thoughts on the app's user experience, and so on.

Video/GIF feedback from users can also be extremely helpful. The three-dimensional nature of the scene, its interactions, and input devices can make it very difficult to accurately describe issues or features with words alone. Videos of app usage can often communicate these issues far more clearly, and demonstrate certain subtleties that the user might miss.

Whenever possible, reports from the Early Access users will flow back into the design and development process. The EXA project is committed to providing an excellent VR user experience, and feedback from Early Access users will be crucial for achieving that goal.”
Read more
Notice: Requires a virtual reality headset. See the VR Support section for more info.

Buy EXA: The Infinite Instrument


Recent updates View all (23)

January 31

v1.4.0: Multiplayer, In-App Cameras

You can now play EXA with other players! Step into a shared layout where you can see other players, talk with them, build instruments together, share loops, compose songs, watch performances, and more. Each multiplayer “room” keeps everything synchronized (the layout, items, playback states, metronome, and live ringer events) for everyone that joins, allowing you to create and collaborate with players across the world.

EXA’s multiplayer rooms are hosted by the room’s creator (not by a server in the cloud). The room can be made available publicly, can be hidden until a player enters the room name, or can be limited to your local network (LAN). The room creator can even put players into a “spectator” mode by disabling some of their room permissions.

Network latency (the lag/delay in communication between computers) is an important factor in EXA’s multiplayer system. In ideal conditions, it should be possible to perform instruments in real-time with other players. Regardless of latency, it’s always possible to talk, to modify the shared layout together, and to collaborate by recording new loops (which automatically shares them with the room).

If you like to record or stream your EXA performances, the new Preview Panel is perfect for you. This panel provides several new camera modes (including “selfie” and other third-person views) and options (field of view, smoothing) that you can adjust within the app. These new cameras send their video output to your computer’s monitor, and the Preview Panel displays that same video feed. Now you can align your cameras, compose your shots, and monitor the final result – all in real-time, without leaving your headset.

Thank you to the EXA community for the feedback and ideas! And a special thank you to everyone who helped test these new multiplayer features! Please watch/share the new update video below, and read through this page to learn more.

YouTube link


  • Multiplayer EXA allows you to experience shared layouts, called “rooms”, with other players. You can talk with each other, see where everyone is, and see what they’re doing. You can watch performances, build instruments, share loops, and construct songs together with everyone else in the virtual room.

  • Multiplayer rooms can be made public, private, or even available within your local network (LAN). Public rooms are visible to everyone in EXA’s in-app room listing, private rooms are only visible upon entering the exact room name, and local rooms are only accessible to computers connected to your LAN.

  • These new multiplayer features are being released as a “beta” version. A significant amount of testing has been done already, but it is likely that certain scenarios (related to network conditions, the timing of events, the state of the shared layout, etc.) could still lead to issues or failures.

  • In ideal conditions, it should be possible for players to create live, real-time, “jam session” performances together – see the “Latency” section below for details – but this isn’t always possible. A more common multiplayer experience will likely include players recording and sharing loops with each other.

  • In a multiplayer layout, almost everything (except for most menus) is shared. Everyone sees the same ringers, loops, sequencers, and so on. When someone moves an item, changes it, deletes it, or creates a brand new one, the action is quickly broadcasted to other players so that the shared layout stays in sync.

  • The multiplayer layout is also synchronized in time – in most cases, everyone will match up within a few milliseconds. All events from metronomes, loops, sections, and sequencers are scheduled and performed using the “shared time” of the layout. Thus, even if you’re playing with people across the world, you’ll all be hearing (for example) a loop’s playback at the same time.

  • Items in a shared multiplayer layout have no owner. Once a player records a new loop, for example, anyone can move, edit, clone, or even delete it. This is a powerful way to collaborate, but of course, it works best when everyone is respectful and considerate of the shared space.

  • The creator (or host) of a multiplayer room can block individual players from speaking to the group and/or modifying the layout – see the “CREATE” section below for details. This is perfect for putting players into “spectator” mode, where they can watch you, but cannot affect your layout and performance.

  • If you wish to create your own multiplayer room, EXA currently has a technical requirement called “port-forwarding” – see the “CREATE” section below for details. This involves a one-time settings change to your router, which allows your computer to receive room-joining requests from other players.

  • As a musical app, where timing is important, your network latency (the time it takes to communicate with other computers -- lag, ping, etc.) is an important factor in the type of multiplayer experience you can achieve.

  • In scenarios with low network latency (near-immediate communication – 20ms or less), it should be possible to perform instruments together in real-time… a virtual garage-band jam session. Under these conditions, ringer events can travel to other computers quickly enough for other players to hear the sounds in full. (EXA’s ringer-hit prediction, which mitigates local latency issues, also helps to mitigate the effects of network latency.)

  • As network latency increases, real-time jamming becomes more difficult. The way EXA handles latency (multiplayer or not) is to schedule a note event in absolute time, then begin playing the note’s audio as soon as possible. If the note event is not received early enough, it leads to front-truncated sounds (i.e. you may not hear the first several milliseconds of the sound). In order to keep all sounds synchronized, this approach is preferable to playing a full-but-delayed sound.

  • Thus, in higher-latency scenarios, the multiplayer experience is focused on the recording and sharing of loops (although, this will likely be the most common experience, regardless of latency). Once a player records a loop, it is sent to all other players. Loop playback is also synchronized across all players.

  • Because loops are sent to other players and then play on each player’s own computer, network latency is not a factor for loop playback. This allows everyone to play along with the layout’s loops, recording and sharing their own loops as they go.

  • All multiplayer communication passes through the computer of the room’s creator (which then broadcasts the information to the other players). Players who are geographically closer to the room creator will typically experience less network latency. In an example scenario where five players are in California and one is in France, it makes sense for a Californian to create the room, as this will likely cause less network latency for the majority of players.

  • To join a multiplayer room, first select the “Multiplayer” button in the Command Center. This opens a listing of available rooms, which includes options for sorting and filtering at the top, and paging buttons at the bottom.

  • Once you find the room you’d like to join, select it to open the “Room” menu page. Here, you’ll find details about the room and a large green “Join Room” button. Select the “Join Room” button to request a connection to the other players and to start loading the shared room layout.

  • An important note: when you join a room, EXA first clears your current layout (and then loads the room’s shared layout). Remember to save your current layout before joining a room to avoid losing any work.

  • Upon joining a room, it may take several seconds (and possibly minutes) to fully load the shared layout. During this time, a progress meter appears on the walls of the layout to show how much of the layout is currently loaded. Items appear in the layout as soon as they’re loaded. This process takes more time when the layout contains lots of data (recorded loops are typically the biggest factor), the network connection is slow, and/or the room host/server is sending the initial layout data to multiple players at the same time.

  • The creator of the room may choose to disable your ability to talk to others in the room, and/or your ability to touch/modify anything in the layout. You will receive notifications if/when your permissions change. The room creator may use these permissions for any reason, but a common one is to ensure that other players can only act as a view-only audience or spectator in the room.

  • To leave the room, select the large red “Leave Room” button on the “Multiplayer > Room” page. This does not affect other players, nor the room’s shared layout. After leaving the room, the active layout will remain the same, but it will no longer be shared with other players.

  • To create a multiplayer room, first select the “Multiplayer” button in the Command Center. Then select the large green “Create Room” button, which appears as the first item (top-left) in the grid of available rooms.

  • Important note: you’ll need to configure port-forwarding on your router (a one-time process) before you can create a “public” or “private” room. The “Create Room” page provides the necessary information, including the port (38411, UDP protocol) and your computer’s local IP address (often starts with “192.168”). Essentially, port-forwarding tells your router to direct incoming requests to a particular computer in your local network -- this is what allows your computer to receive “join room” requests from other players. Port-forwarding is usually an easy process; find step-by-step help for your particular router by searching online for “port-forward <router model>”.

  • The “Create Room” menu page provides an input for the room name (required for public and private rooms), the maximum number of players (including a “no limit” option), and the room visibility type (public, private, local/LAN). Select the green button at the bottom of the page to create your new room.

  • There are three room visibility types. A “Public” room is visible to all players in the room listing. A “Private” room is only visible to players that enter the full room name into the search box (at the top of the room listing page). A “Local/LAN” room is only visible to players with computers that are connected to your local network.

  • While EXA currently allows a room to have an unlimited number of players, hosting a large number of players may cause performance to degrade for the room creator. As a “beta” release of multiplayer, scenarios with a large player counts have not been tested yet. To host dozens of players simultaneously, it may help to disable the “talk” and/or “touch” permissions for all non-performers.

  • Upon successful creation of a room, the Command Center automatically navigates to the “Multiplayer > Room” menu page.

  • Once the room is created, it can take several seconds for EXA to prepare your layout for sharing with other players (this involves converting all items into small data files). During this process, progress meters appear on the walls of the layout to show how much of this process is complete.

  • The “Multiplayer > Room > Players” menu page provides options that only the room creator can control. The creator can set each player’s “talk” and “touch” permissions. The “talk” permission allows everyone to hear the player’s voice (and/or microphone sounds). The “touch” permission allows the player to hit and play ringers, edit items, create loops and other items, delete items, etc. Disabling “touch” (and possibly “talk”) is a great way to invite spectators into your room, without the risk that they might disrupt your work or performance.

  • The “Multiplayer > Room > Players” menu page, at the top, allows the creator to set the room’s default “talk” and “touch” permissions. Each new player that enters the room will automatically receive these permissions (existing players are not affected).

  • As the room creator, you cannot leave the room without closing it for everyone. To close the room, select the large red “Close Room” button the “Multiplayer > Room” page. Upon closing the room, all other players become disconnected from the room. After closing the room, you and the other players will experience the same thing: the active layout will remain the same, but it will no longer be shared with other players.

  • Each player in the room has their own collection of menu interfaces. Unlike the ringers, loops, sequencers, and other such “content” items, these menu interfaces are not part of the shared layout. This includes the Command Center, Loop Recorder, tool racks, and all item-specific menus that appear upon selecting items.

  • When you use a menu interface in a multiplayer room, other players will see your menus as semi-transparent gray boxes. When you highlight or select a button in the menu, other players see those buttons as lighter-gray boxes. This simplified menu display provides some helpful context about what the player is doing, without showing a full, duplicate menu. To avoid clutter, these boxes quickly fade away after the player stops using the menu.

  • The “Multiplayer > Room > Settings” menu page provides options for multiplayer experience. The top input box sets your display name (which appears above your headset). The “Main” volume slider adjusts the volume of all ringers and loops (a value of 20% or less is helpful for comfortable conversation). The “Voice” volume slider affects the volume of everything else, including the voices of other players. There are also checkboxes for muting your own voice, and choosing to receive notifications when players join or leave the room.

  • The “Multiplayer > Room > Players” menu page shows a listing of all players currently in the room. There are paging buttons if the players cannot all fit on a single page. Each player displays their in-room ID, player name, ping, and current talk/touch permissions. The “ping” value represents the current network latency, in milliseconds, between the player and the room server. The names and values on this page update every few seconds, and each player name glows and changes color based on the player’s current actions in the layout.

  • While you are currently in a room, visiting the “Multiplayer” menu page will automatically redirect you to the “Multiplayer > Room” menu page (showing details for the active room).

  • While you are currently in a room, most of the Command Center options remain available. For example, you can save the layout while in a room, load bundles into the layout, create new items or groups, summon menu interfaces to you, etc.

  • While you are currently in a room, the Command Center prevents the loading of new layouts. This avoids the scenario where one player in the room could (intentionally or not) erase/replace an entire shared layout without warning.

  • The “Multiplayer” menu’s room listing automatically refreshes every ten seconds, however, the refresh is delayed whenever a cursor is near to the menu. This avoids having the list content change while you’re trying to interact with the menu.

  • The new “Preview Panel” menu allows you to control, from within EXA, the video output that appears on your computer’s monitor. The menu panel itself (on both front and back) displays a preview of that same video output.

  • The available camera types are: None (the headset’s default first-person camera), Look (a higher-quality first-person camera), Behind (an over-the-shoulder angle), Above (directly above the headset), Panel (from the center of the Preview Panel, perfect for “selfie” mode), Lens (a smaller camera that you can place anywhere), and Viz (watches the colorful walls).

  • The “Angle” slider sets the camera’s field of view. Lower values (starting at 60) appear more zoomed-in than higher values (up to 120), which show more of the layout. Note that higher values can make the sizes and positions of objects appear distorted.

  • The “Smooth” slider sets the amount of camera smoothing to low, medium, or high. Smoothing reduces camera jitter, but also makes the camera react more slowly to movement.

  • The “Lock” checkbox causes the Preview Panel to stay in a fixed position relative to the headset. While the Preview Panel is locked, it can still be grabbed and moved to different positions, but it will always face toward the headset. The “Lock” can be useful in various scenarios. For example, it can function a bit like a “selfie stick” when using the “Panel” camera mode, and it provides a hands-free way to always know what your audience or stream viewers are seeing.

  • When using one of the Preview Panel’s cameras, the panel itself is not visible to those cameras. It always remains visible to the player in VR, however.

  • The current player’s avatar is visible when pointing the camera toward the headset. This avatar has a lighter/shinier coloring than the loop-playing robots, thicker “glow” areas, and a mouth. The avatar’s glow areas react to live ringer hits, and the player’s voice volume causes both glowing and mouth movement.

  • All camera types (except for “None”) tell EXA to use a high-quality secondary camera. This camera is in addition to the usual in-headset camera views, so it does have a performance cost. A decrease in performance may or may not be noticeable, depending on the computer and graphics card.

  • The previous “High-Quality Camera” checkbox (in “Settings > Visual”) is now removed. To use the equivalent camera, use the “Look” camera mode, with a 60-degree angle and medium smoothing.

  • Updated the command center to retain its position upon loading a layout.

  • Added buttons to the command center “Summon” menu for summoning the Preview Panel and the Preview Lens. Note: the lens only becomes available once “Lens” is selected via the Preview Panel.

  • Moved all of the command center’s “summon” target positions backward to avoid conflicts/overlaps when opening the command center's larger pages.

  • Added a keyboard-based (Ctrl+S) "emergency save" feature, which gives players a way to save their current layout in (unexpected) cases where the Command Center menu has failed or is inaccessible for some reason. The layout is saved to the usual folder (Documents/EXA-VR/user-###/Layouts/) as a file named “emergency-save-<DATE>-<TIME>.exaLayout”.

  • Added a 32-bit version (in addition to the existing 64-bit version) of Exa.Native.Audio.dll to the “EXA Remix” package, allowing Remix to be compatible with 32-bit computers/builds.

  • Fixed issue causing some items in a group to be repositioned, upon loading a layout. This occurred in scenarios where those items were outside of the layout’s boundaries, despite being contained within a group that is legally within the boundaries.

  • Fixed issue causing sections and sequencers within a bundle to be removed from their parent group upon that bundle being placed into the layout.

  • Fixed issue causing a new document to show images in the wrong dimensions upon adding the first page to the document.

  • Fixed issue occurring when the app scans soundfont/sample/document directories, but receives an error from the OS. This can occur, for example, when access to a particular directory is denied. EXA now listens for such errors and displays an in-app notification with the relevant details.

  • Fixed (possibly) issue causing a loop to occasionally play incorrect sounds after the player has changed the loop’s active soundfont/sample several times.

  • Upgraded to the latest version of "Forge Networking Remastered". This should fix occasional disconnection issues that can occur -- immediately upon joining a room and/or at times when several network messages are being sent simultaneously.

  • Fixed issue causing the "Leave/Close Room" button to stay enabled while the leave/close action is in progress.
1 comments Read more

September 11, 2018

v1.3.4: Shared Items via Steam Workshop

A huge step for the growing EXA community: you can now share your layouts and bundles with everyone else who plays EXA! These new features are built using the Steam Workshop, allowing you to publish, update, search, subscribe, download, and vote on these shared items – all without leaving VR.

The ability to share layouts and bundles with other players creates many new possibilities for collaboration, and makes it faster than ever to jump right into music-making, with an ever-growing collection of pre-built instruments, loops, layouts, and even entire songs.

These new community features demanded a new way to search, sort, and filter results – capabilities which also found their way into the existing “Load” menus. For players with tons of saved layouts and bundles, sorting and filtering their item lists becomes a big time-saver.

This release also includes an improved metronome interface (with number-pad for exact entry) and several bug fixes (including a major one related to Windows MR devices).

Thank you to the EXA community for the feedback and ideas! Please watch/share the new update video below, and read through this page to learn more.



  • The “Layouts” and “Bundles” menus are now divided into two sections. The first, “Local”, contains the original save/load functionality. The second, called “Community (beta)”, contains new functionality for publishing items to Steam Workshop and for browsing, subscribing to, voting for, and downloading items that have been published to Steam Workshop by other EXA players.

  • These new community features are marked as “beta” because they can’t be fully tested until players start using and participating with them. There’s a higher-than-usual chance of things going wrong here – please post any issues that you find to the EXA discussion board.

  • To publish a layout or bundle to Steam Workshop, use the command center to navigate to the “Layouts > Publish” or “Bundles > Publish” menu page. This page shows all of your locally-saved layout/bundle items, displaying a blue badge beneath the image of any item that you’ve already published. Select an item to visit its detail page, where you’ll find a “Publish” button. Or, if the item is already published, you’ll find “Update” and “Unpublish” buttons.

  • Note: EXA determines an item’s “published” state by searching your list of published items for one with a matching name – there is no other ID or behind-the-scenes connection. If you wish to change the name of an item, you should change it locally and via Steam Workshop to avoid losing this name-based relationship.

  • To use a layout or bundle that has been published to Steam Workshop, use the command center to navigate to the “Layouts > Discover” or “Bundles > Discover” menu page. This page shows items that have been published by you and all other EXA players. Each item is displayed with its thumbnail image, author, date, and badges that show subscription and voting information. Select an item to visit its detail page, where you’ll find a “Subscribe” button (and other voting buttons). EXA automatically downloads the item upon subscribing to it, and upon completion, you are able to use that item!

  • Note: These new community features are built to use Steam Workshop, which requires you to be logged into Steam. If you are not logged into Steam, EXA will function normally, but the community features will be disabled.

  • All browsing-style menu pages for layouts and bundles now include sorting and filtering options at the top of the page. Sorting and filtering was a necessity for the new Steam Workshop features, and is also quite convenient for browsing your locally-saved items.

  • To use these new options, select one of the buttons that appear across the top of the menu page. In most cases, a small menu will appear above the button, providing other choices for sorting or filtering. Some menus offer a text filter, which will open a full keyboard when its button is selected. To close the popup menu, select the original sort/filter button again.

  • The “Load” menus include options for sorting (by date or alphabetically) and a text filter (matches any part of the item’s name, not case-sensitive).

  • The “Publish” menus include the same options as the “Load” menus, plus a “State” filter (for all, published, unpublished items).

  • The “Discover” menus include a more complicated set of options, based on the search functionality that Steam Workshop provides. The first button switches between searching modes (“Browse”, “Me”, “Friends”). The “Browse” mode has sorting options (by popularity within time-range, publish date, subscription count, voting score). The “Me” mode has filters (for your subscribed, published, favorited, up/down voted items) and sorting options (by title, date). The “Friends” mode has filters (for items published or favorited by your Steam friends).

  • Improved the metronome interface: Moved the “beats per minute” and “beats per measure” sliders into separate menus. Added a number-pad interface for exact “beats per minute” entry. Increased the maximum “beats per measure” from 6 to 7. Added large-text numbers to the new metronome menu buttons.

  • Listed EXA as officially supporting Windows MR. This has worked, unofficially, for a long time, with one major bug related to WMR headphone usage. This bug is now fixed (see the section below).

  • Published all current “EXA-Show” layouts to the Steam Workshop.

  • Created and published several bundles to the Steam Workshop.

  • Disabled the loop's "delete" button while the loop's duration-changing handles are active.

  • Improved EXA’s Steam homepage with new descriptions and several animations.

  • Fixed the blue-screen-of-death crashing issue that occurs when launching EXA while using a Windows MR device with headphones plugged into it. The crash was due to EXA’s attempt to test the audio output device via the “WD-MKS” audio host (EXA now only tests the “MME” and “WASAPI” hosts).

  • Fixed issue causing the sequencer buttons to become invisible. This was caused by the command center’s “Create” page retaining some references to the newly-created sequencer (which was originally a miniature version embedded within the page), and then “fading out” the sequencer’s buttons upon closing the “Create” page.

  • Fixed issue causing the MIDI menu to display yellow warning text (which said: could not find ‘’) for rows that were previously set to "None".

  • Fixed issue causing the MIDI menu to auto-select the "None" radio button for rows that were previously set to a now-missing device. The menu now opens with no selected radio buttons.

  • Fixed issue that allowed the loop delete button and "strike-ringer" tutorial animation to function within a miniature-mode bundle.

  • Fixed the scenario where both Oculus and SteamVR are running, and Unity gives priority to SteamVR. EXA now shows a desktop-display error message when this occurs, with notes about how to ensure EXA runs in “native Oculus mode” -- rather than running in “Vive mode” and receiving Oculus input via SteamVR.

  • Fixed the scenario where SteamVR fails to initialize properly upon app startup. EXA now shows a desktop-display error message when this occurs.

  • Fixed issue causing a loop, with notes that have been trimmed from the start of the loop, to still have the ending/trailing sounds of those notes audible at the start of the loop. This was a regression issue, related to recent changes that allowed sequencers to play “in-progress” notes upon moving the playhead.

  • Fixed issue that occurs when a grouped loop is attached to a section, the layout is saved, then the layout is reloaded. Upon reload, the grouped loop is no longer positioned within the section. With this fix, the loop is now automatically removed from its group upon being attached to a section.
3 comments Read more
See all discussions

Report bugs and leave feedback for this game on the discussion boards

About This Game

EXA is an immersive virtual-reality environment for composing your own music, recording loops of your performed notes and motions, designing custom instruments, performing for audiences, building up virtual bands, and more. Step into EXA and experience an entirely new dimension of musical creativity!

This app has been under constant development since early 2016, continually growing and improving. Despite being in Early Access, the app is polished, stable, and packed full of features. Here's a look at the basics of making music with EXA in VR:


EXA’s musical shapes are called ringers. They make sound when you hit or interact with them using one of the various playing tools (like a mallet, violin bow, or proximity tool). The ringers in EXA react to the velocity and angle that you play them, and they provide an extremely responsive, zero-latency playing experience. (Note: external audio-routing apps can introduce latency, please disable them or adjust their settings!)

You can change the sound that a ringer produces (like a drum, piano, guitar, synth, etc.) by choosing a different Soundfont (SF2) or sample (WAV, AIFF, OGG) as its audio source. EXA ships with 1,000+ built-in sounds, and encourages you to import your own! You can change a ringer's pitch by setting it to a specific note, shifting it up or down, or by applying a particular scale/interval across several selected ringers.


Ringers are the main building-block for creating your own custom instruments. There are four available ringer shapes, and you can move and resize them however you want. Sketch new ringers out of thin air using the draw tool, and use the group and clone features to assist your instrument-creation process.

EXA’s virtual space gives you incredible flexibility for designing entirely new and “impossible” musical instruments. You’re free to break away from traditional instrument structures, and instead create instruments that are perfectly suited to the way you want to move, the notes you want to play, and the musical performance you want to compose.

You could arrange ringers into curved rows that wrap around you, or into large grids, or stacks that form chords, or guitar-like rows of strings, or radial patterns that you play with circular motions… the possibilities are endless.

Of course, you don’t need to create everything yourself. EXA ships with several pre-built layouts (full musical scenes) and bundles (reusable instruments) that you can use right away. If you do create an instrument, however, you can save it as a new bundle and reuse it anywhere you want.


Recording and replaying loops is at the heart of EXA’s music-making experience. As you record a loop, EXA captures the notes you play and the motions you make while performing. Then, whenever you play the recorded loop, you'll see (optionally) a “robot” performer repeating the exact motions that you did.

To record a loop, hit the loop recorder’s red ringer. It displays a countdown to the first metronome beat of the next measure. Recording begins on that beat, and continues until you hit the red ringer again (or use the “auto-stop” feature). At this point, the loop recorder becomes a playable loop. You can apply new sounds to it, adjust its volume, change its duration, quantize its notes to align with the metronome, and more.

EXA's sequencer interface allows you to schedule loop playback and assemble full songs. You can link each sequencer row to a particular loop, then add playback events within that row. As the sequencer plays, each sequencer row sends those events (when the playhead reaches them) to their linked loop.


With EXA’s custom instruments, recorded loops, robot performers, and powerful interfaces to schedule playback and keep it all organized, you can compose and produce entire “virtual band” music performances.

Watch and move through these performances again and again, customize them, share them, and even export them into other apps! The EXA Remix package allows third-party developers to load, display, and customize full EXA performances within their Unity-based software.

There’s so much more to explore in EXA! Export loops and songs to WAV audio, 64-channel live MIDI output, sleek user interfaces, fast and efficient workflows, in-app audio device selection, teleport and slide-based locomotion, high-quality display mode for recording videos or performing live… and more being introduced all the time.

EXA thrives on feedback, ideas, and wish-lists from players like you! Share your thoughts with Zach (the EXA dev) and the community using the EXA discussion board.

That's it! Now that you know the basics, it's time to step into EXA, and start making music with your very own infinite instrument.

System Requirements

    • OS: Windows 7 SP1, Windows 8.1 or later, Windows 10
    • Processor: CPU: Intel i5-4590, AMD FX 8350 equivalent or better
    • Memory: 4 GB RAM
    • Graphics: Nvidia GeForce GTX 970, AMD Radeon R9 290 equivalent or better
    • Storage: 1 GB available space
    • Sound Card: Required
    • Additional Notes: Disable audio-routing apps (like VoiceMeeter) to avoid hit-to-sound latency issues (details: ).

Customer reviews

High Volume of Reviews Detected:
Exclude  or  View Only
Review Type

Purchase Type


Date Range
To view reviews within a date range, please click and drag a selection on a graph above or click on a specific bar.

Show graph

Display As:
Review Beta NEW!
When enabled, will sort reviews by new Helpfulness score. Read more about it in the blog post.
Show graph
Hide graph
Review Helpfulness Beta Enabled
There are no more reviews that match the filters set above
Adjust the filters above to see other reviews
Loading reviews...