Hello, devs. Sorry if I made any mistakes in my sentences. English is not my primary language
I recently started developing a VR game, and I found the Bottom Bar to be quite annoying for certain types of game. Since there’s no official way to disable it, I came up with a simple workaround.
What I do is teleport the bar 20 studs upward every frame, effectively moving it out of the player’s view. It’s a very easy trick to implement, yet I haven’t seen anyone mention it before.
So I decided to share it here — just to let other VR developers know that yes, it is possible to hide or show the Bottom Bar.
Some topics that inspired me to make this :
https://devforum.roblox.com/t/how-do-i-remove-the-vr-bottom-bar/
https://devforum.roblox.com/t/how-to-remove-the-ui-vr-bottom-bar-from-roblox-gameclient
Here is a video showing the result:
Files :
File of the button shown in the video :
ToggleVrBarButton.rbxm (5.8 KB)
And here’s a module version of this :
local VrBarToggler = {}
local Toggled
local Offset = 20
local VRBar
local RenderConnection
repeat wait() until game.Loaded
local function IsVr()
return workspace.Camera:FindFirstChild("VRCorePanelParts") ~= nil
end
local function StartUpdating()
if not RenderConnection and VRBar then
RenderConnection = game:GetService("RunService").RenderStepped:Connect(function()
VRBar.Position += Vector3.new(0, Offset, 0)
end)
end
end
function VrBarToggler:ShowVrBar()
Offset = 0
Toggled = true
end
function VrBarToggler:HideVrBar()
Offset = 20
Toggled = false
end
--[[
Visible : If true, the VR Bar will be visible by default
If false, the VR Bar will be hidden by default
]]
function VrBarToggler:Init(Visible: boolean)
if not IsVr() then
return
end
local vrParts = workspace.Camera:WaitForChild("VRCorePanelParts", 5)
if not vrParts then
warn("VRCorePanelParts not found.")
return
end
VRBar = vrParts:WaitForChild("BottomBar_Part", 5)
if not VRBar then
warn("BottomBar_Part not found.")
return
end
if Visible then
VrBarToggler:ShowVrBar()
else
VrBarToggler:HideVrBar()
end
StartUpdating()
end
return VrBarToggler
Exemple script using the module :
local VRBarToggler = require(game.ReplicatedStorage:WaitForChild("VRBarToggler"))
VRBarToggler:Init(true)
task.wait(5)
VRBarToggler:HideVrBar()
task.wait(2)
VRBarToggler:ShowVrBar()