First Person VR

Hi! I am trying to make my game VR compatible, however, when you first load into the game in VR, Roblox automatically puts you in this weird third-person camera that teleports to the player when you stop moving. To put yourself in first person, you have to click the right joystick, but I want it to be in first person when you join and for it to lock in first person. Is there any way to do this? I can’t find a tutorial for what I’m looking for anywhere.

1 Like

You will need to use VRService to manage any inputs from a VR device.

Using the information from VRService such as VREnabled to see if a user is using a VR device. If so you can set their Camera.CameraType to Scriptable and manually use its CFrame to match what UserCFrameChanged provides as an offset to the player’s character.

However my two cents is adding VR support to your game on Roblox adds a lot of annoying development challenges that won’t pay off well given the lack of VR usage. If you just want to make a game that is compatible with VR users but primarily will be used by non-VR users I think it is best to keep to what Roblox provides. Since good VR games need everything to have VR’s limitations and design practices in mind.

2 Likes

I believe there is an open source VR module, I can’t remember the name for it though.

Ok, thanks. I just wanted to make it so it’s in first person and you can see your body but that seems to be a lot more work than I anticipated lol.

Yes, I’ve seen this one being used. It’s functionally fine, but I don’t think people understand that using something like this doesn’t make their game instantly enjoyable in VR.

If you want to make a game that supports VR, it’s best to make a game that is designed for VR only, or in the worse case designed for VR first and then be adapted to work on other input types.

1 Like

Yes, that is the one I was talking about. It is way better than roblox’ default VR controls (which are vomit inducing last time I tried them)

HOW TO KNOW IF AN OBJECT IS A PART

Edit: I have figured out how to do this, but I still need a way to know if an object is a part. I am making a game where you have to assemble a machine, but I can’t find a way to check if an object is a part or not. I want to make it so that if someone grabs an object that isn’t a part, it doesn’t snap to the machine, but if it is a part, it does snap to the machine. Is there any way to do this?

HOW TO GET A PLAYER’S VEHICLE

I am making a game where you can get in and out of a car, but I don’t know how to get a player’s vehicle. Is there any way to get the vehicle that a player is in? I looked it up, and the only thing I could find was .vehicle, but that didn’t work for me. Any help is appreciated!

HOW TO MAKE A SOUND PLAY OVER AND OVER AGAIN

I am making a game where you can play a sound that loops over and over again, but I don’t know how to do that. I found a tutorial that was supposed to help, but it didn’t work. Here’s what I have so far:

local sound = script.Parent:WaitForChild(“Sound”) local isPlaying = false local function onButton1Down() if isPlaying then isPlaying = false sound:Stop() else isPlaying = true sound:Play() end end script.Parent.Button1Down:Connect(onButton1Down)

I have no idea what I’m doing wrong, but I don’t know what to do. Any help is appreciated!

HOW TO MAKE A PLAYER JOIN A ROOM

I am making a game where you can join a room as a player, but I don’t know how to do that. I looked it up, and I couldn’t find anything about how to do it. I want to make it so that when you click a button, it takes you to a place in the game where you play as a player (not the default characters). Any help is appreciated!

How to use Functions with variables and properties changing