(Needs Maintainer) Nexus VR Character Model [Open Source]

the quest 2 should work similar to rift

How would I go about implementing this then? I don’t think it makes sense for this to be “out of scope” when this is a key feature of all VR games.

I don’t have any advice for doing this because I haven’t done it and I don’t plan to. While it isn’t quite of scope for a VR system, there are problems I see with natively including it:

  1. Scope - Nexus VR Character Model is meant to replace the default character implementation and that is it. It isn’t meant to be the only VR system you will ever need. Nexus VR Core is a thing because it is a dependency, but a grabbing system wouldn’t be used internally.
  2. Coupling - There isn’t an inherent reason it should be with Nexus VR Character Model. You should be able to implement it yourself just to know where the hands are, such as you decide to implement your own system for something like VR hards where Nexus VR Character Model may not be suited.
  3. Standardization - Making 1 standard implementation for everyone will result in some sort of limits to adoption. 1 user may want to grab stuff far away while another may want to be in a bounding box. Developers may disagree about 2-handed items. Constraints are also a problem as there may be cases where part constraint needs to be defined programmatically instead of physically.
  4. Lack of Internal Use - Nexus VR Character Model is used in a couple of my existing games that require some of the features it provides. Not having a proper game I control that I can integrate with this will result in me missing a lot of test cases.
  5. Niche Feature? - As of this moment, only 1 game I track uses any sort of item grabbing, and it is custom. I assume there is more, but for the games I track, this makes <0.1% of the visits.

Grabbing items in VR isn’t a new concept, but I am surprised there isn’t a major open-sourced solution. Maybe someone should be the first to do that? All that should be required is knowledge of where the character’s hands are and what the current VR inputs are.

1 Like

Well if you won’t, does somebody already have one? This is quite a frustrating experience and I might as well just consider using something else.

Thank you for this system, Nexus. It is very much appreciated. I was able to get it up and running in my game within seconds. I’ve now read just about all of your posts and comments and understand that this system is more or less complete and for any extra work, you’d prefer the community to step up and contribute.

As an alternative to snap turning, I’d like to add smooth turning to your code. Any chance you could point me in the right direction? I’ve looked over your Controller scripts quite a bit but I’m not sure how to go about implementing a smooth turn system (or even just editing out the snap turn option).

1 Like

Doing this is kinda supported but isn’t documents. It is possible to create, register, and use your own controller scripts. The code for it is somewhat intended for developers to use, that and adding menu views, but isn’t documented and is less likely to be stable between releases. V.2.0 to V.2.1 actually changed the default controllers and would have had trouble with some custom ones.

2 Likes

Is it possible to disable the transparent hand’s ingame?
On VR in my game it doesn’t really look that good with the
hand’s being transparent and it’s kind of ugly when it’s transparent.

Yes. In the loader script, change the LocalCharacterTransparency setting to 0 on line 11.

2 Likes

Well that’s going to be good for my game thank you
kinda sucks that it’s not a option for different games
in the nexus menu sadly Lol.

Thanks for letting me know! I’ll work on my own smooth turn script as a supplement to your code.

For right now, if like to adjust the snap turn amount. The 5’ turn takes quite a while to move around and I’d like to do tests at 45-90’ snap turns. Is there a way to adjust the snap turn amount in your code or should I do this in a separate script as well?

Snap-turning is hardcoded to 22.5 degrees (4 turns to rotate 90 degrees) for teleport locomotion and smooth locomotion. It probably should be configurable, but it isn’t at the moment. Pull requests are open if you want to make this change.

1 Like

need something exact to this, doesn’t seem to be “out of scope” since It could easily be an added setting that HAS to be enabled in the script to work, I feel like some frankenstein code could make it work but I’m not super experienced, but I’m most def sure that it shouldn’t be out of scope

Are you going add so you can move around with your head?

I’ve addressed this, and I don’t think addressing this again will solve anything, but here I go.

The score of Nexus VR Character Model is this:

Nexus VR Character Model is not the only VR system you will ever need, and again, there is no reason this has to be part of Nexus VR Character Model. All you really need is the hands of a character (or any parts like VR Hands games do) and the inputs of whatever you use to grab. That can easily be a separate project that someone else can develop and release. For developer integration, it wouldn’t be a simple setting toggle because you need some way to determine if an unanchored object is intended to be picked up or not, which may be one of the reasons there is no open-source project that does this.

This can be Frankensteined, but I can’t ship an implementation like that as a major release. If I start implementing a project like this, the demands won’t stop until the system is complete. Making a good release candidate that 90% covers most cases most likely would be over a month for me to develop, then another month or more to get to 99% (“chasing the nines”) after an initial release. This already happened with Nexus VR Character Model, where it took a month to re-write for V.2 to cover 90% of cases I can think, and another month to make V.2.1 work to cover 99% or so of cases.


As in when you move your head to the side, your body moves with it? That has been a feature since the initial release. Not sure you mean something else since there aren’t any other standard inputs with heads.

1 Like

Hi, I encountered a strange issue while using Nexus VR V2:

When any of the RB2018 tools are fired, for some reason it causes the camera to snap. I demonstrated the problem in the gif below.

demo gif
As you can see, when the superball is fired, the camera snaps. It seems to snap to the same direction every time.

I’m not sure what’s causing it. I’ve done testing with the other RB2018 weapons, and I can confirm it happens with the superball, slingshot, rocket launcher and curiously even the sword and flag.

I originally suspected the BufferModule of causing it, but as it happens with the sword and flag I’m now stuck.

Any ideas?

1 Like

I rely on Roblox’s default backpack for tools, so this may be a Roblox-related problem rather than something I can address. You might be able to work around this by using custom physics properties on the handles and setting the density to a value near 0, or maybe setting Massless on the handles.

1 Like

Found out what the issue was! Turns out that playing animations causes this to happen.

I fixed it by disabling any animation playing code and it works now.

2 Likes

i already have a thousand ideas of VR games. but for real, thanks for making this, this is really useful. And its useful for people like me who have no idea how to code for VR :sweat_smile:

I tried this model in a game, the first person mode is awesome, I could even jump in my generic vehicle and drive it! So cool.

Anyone else have problems with the 3rd person mode camera? 3rd person didn’t seem to work right with the SmoothLocomotion , it was like the camera was moving opposite of my character.

Thanks for making this VR Character Model.

Is anyone else using this model? Does 3rd person mode work for you?