Guns:
Guns have seen a major improvement all around for Version 2. Some notable features include:
- Working hammers
- Better recoil system
- Multiple grab positions for slides/bolts and grips
- New effects
- Chamber smoke
- New weapon models
- New ammo counter (shows on helmet tap)
- Animated magazine insert/eject
- Much better performance, especially for bullets
Check out the videos below to see them in action!
1911
M16
???


New Controls
I've simplified the control scheme and made it more accessible. Your dominant hand's joystick/touchpad controls movement (double tap or click in to sprint). Your non-dominant hand's joystick/touchpad has a few different uses:
- Releasing up jumps. Hold it longer to jump higher
- Left & right still control turning
- Tapping down toggles crouching
Both controllers have two 'action buttons' (only one button for Vive Wands) which do things like change the fire mode, drop the slide, release the magazine, and pull the hammer back. The action buttons are mapped to the two thumb buttons on the controller and top menu button for Vive.
There are still two grab modes, grip and trigger, but I replaced the icons to make them a little more intuitive. Grip grab is a white 'G' while a trigger grab is a red 'T'. The M16 video above showcases this change.
All in all, this new control layout should be more familiar and natural.
OpenXR:
A leading cause of many of PunjiVR's issues is related to it using OpenXR, which is the newer VR SDK that handles all of the background work like detecting hardware, inputs, tracking, and so on. I originally chose to go with OpenXR over the existing SteamVR/OpenVR SDK because it was labeled as its replacement and was supposedly better (or at least going to be better) than it. For the past ~2.5 years of my VR development journey, however, I have encountered many issues with it, including incorrect hand offsets, missing inputs, black screens on startup, and poor performance (on PunjiVR and other projects, through multiple versions of OpenXR).
When setting up Version 2 with everything updated to the most recent versions, I immediately started encountering similar problems (many devs have also reported the same bugs). To avoid having to battle these built-in issues again, I made the decision to switch to OpenVR and I'm glad I did.
After switching, I have experienced zero problems and all controller rotations have been correct. In addition to that, inputs will now be rebindable through the SteamVR menu and Knuckles finger tracking now works!

Test Build 1:
I anticipate the first test build getting uploaded sometime in the next two weeks.
It will include everything in these last two showcases plus the mosin nagant and an improved test range with better targets and a climbing course. In the update announcement, there will be a tutorial for switching to the test branch if you need help with that.
Closing:
I'm really happy with how the guns are turning out and am relieved that switching to the SteamVR SDK fixed so many issues and opened up some new options. To make sure that I can get this update out as fast as possible without tarnishing the quality, I only plan to add about 10 unique guns to start with maybe 4 or 5 variants, so there'll likely be no more than 15 weapons at launch. Because the project is much better organized, however, it will be faster and easier to add in more in future content releases.
The other plans for Version 2 are rather drastic and push PunjiVR into a new and exciting direction, so I'm excited to tell you all about them, but I'd like to make a separate announcement special for that so be on the lookout for it in the upcoming weeks. (Don't worry though, the core idea of PunjiVR will remain the same)
If you'd like to see these progress updates as they release, make sure to check out the links below. Thanks for reading and the support!
As you were
