In the Game Developing field, the theme of “Porting” is almost always a need. Nowadays whenever a game is launched (Except if it has some exclusivity contract, and even then, these contracts can expire) usually is launched for most consoles; Xbox, PlayStation, Nintendo and PC, in order to have the same game in radically different consoles the term “Porting” is used, Porting is just adapting a game to work well with another platform, engines like Unity or Unreal have the capability to adapt the same code to all these platforms, you can start making the game for PC and with a few changes you can adapt the game to work on PlayStation or Xbox.
This also applies to VR development believe it or not. VR games have seen a huge increase on interest since Oculus pioneered VR headset at the beginning of the past decade and after being acquired by Facebook and releasing the Quest series (this one being considered the cusp of VR experience) more and more people can access the wonders of VR, this includes game developers who decide to embark in this world.
Traditionally, if you made a VR game, it had to run on your PC and your HMD needed to be fully connected to the PC, but with the introduction of the Quest (Which is basically a 400 dollar android phone with controllers) the possibility for Wireless VR was no longer a possibility and is now a reality. With this in mind, many developers wanted to have their games in a full-wireless experience, just as an example, let’s look at the game SUPERHOT. SUPERHOT is an FPS game developed by the SUPERHOT team as a part of the 7 Day FPS Challenge, even though, SUPERHOT wasn’t a VR game at that point, it was later converted into one and it blew everyone away, the immersive experience, the slow-motion, the weapon action, everything! The only thing dragging people down, was all the cables that you need to keep track of in order to play safely, so when SUPERHOT was ported to the Quest, it became the ultimate FPS experience, with no cables, you can freely move without a care in the world (Except for walls, please keep track of your movement space please), punching enemies, taking actual cover. The game differences with the PCVR version aren’t much, due to the overall aesthetic of the game, now, we’ll see a case of which a ported version needed to be downgraded in order to work.
Everyone knows what Beat Saber is, and in case you don’t, Beat Saber is a VR rhythm game developed by Beat Games, in which you slice blocks with both hands at the rhythm of the music, the game was officially released in 2019 and it was loved everywhere by everyone, originally it was a PCVR release. When the game was ported to the Oculus Quest, everyone noticed that it had a downgrade in graphical quality, textures weren’t as crisp as in the PCVR version, the main menu was simpler and things like the Walls didn’t have the distortion effect, the game overall had to be downgraded in order for it to be played smoothly in the Quest.
And now, I’m gonna talk from a personal experience from a game that I’m currently making. This game is a tycoon gardening game, the game will be playable in PCVR and Quest in the Unity Engine. When I started development of the game, it started with my usual URP profile for PC, when I tested the game in my headset via PCVR it looked good and ran smoothly, but the moment that I compiled the game for Android in order to play it wirelessly, the game was absolutely dreadful, it ran horribly, performance was all over the place with lag spikes, it was a motion sickness experience. I had to do a little bit of research, and Oculus themselves have some guidelines in order to compile for the Quest and I had to downgrade most of the stuff, use Linear Space instead of Gamma, reduce the textures at half and cap the resolution.
Overall, Porting in VR (And in general) doesn’t has to be an obligation, if your game just can’t be downgraded to the level of it being enjoyable, it’s ok, keep it PCVR, the most important thing is that the game remains playable and smooth.