I made this tech demo project to learn the XR Interaction Toolkit for Unity and explore creating procedurally generated levels in video games. In the tech demo, the player has a pistol that is fully interactable in VR that you use to kill the enemies you find in the procedurally generated levels. You can also collect power-ups that enhance your skills after you clear the room, such as damage and crit chance. See the full Unity project at VR-Rogue-Like-Tech-Demo.
The procedurally generated levels first semi-randomly generate a floor using some parameters to make the levels more likely to have more open or closed sections and to make sure everything is fully connected. Then it generates all the walls around the room, adding in doors and hallways to other rooms randomly along the walls. Then randomly generates enemy spawn locations based on the size of the enemies. To see the full code for the procedurally generated rooms, check out the LevelGenerationManager in the GitHub repo.
After working on this project, I am confident working with the XR Interaction Toolkit for Unity and expanded my game development knowledge, as VR games require much more flexible and robust code and design since the player has the ability and expects everything in the world to be interactable in a way that feels natural and easy to use. In most flat-screen games, typically the player only has the ability to do things that you, as a game designer, allow them to, which makes programming more streamlined. It was definitely a good project for experience, and I would recommend all programmers learn to program VR just for the experience of having to think like a VR player.