New Right-Click Menu


So how do we disable it? I have other things I want to use with right-clicks in my domain and since all these other functions are covered elsewhere in the interface it is redundant.

It sort of feels like those old webhosting sites like angelfire that added content to your website like ads and things that you couldn’t get rid of.

If you ask me this should be an optional script to run, not hardcoded.


Only get the menu when i double click the right mouse button.


Wouldn’t this be a context based right click depending on its usage? How are you using it or what is your desired right click result?


Nothing at the moment, but I prefer that to be up to me as a domain owner rather than others.


Maybe it should be called like a function you can stack options onto, basically a dynamic right click menu? or are you saying no menu to right click.


I’m saying in the new version of the interface they added a new right click menu. I want to disable it for everybody visiting my domain because I think it sucks to have something foreign taking up VR space and I don’t want it there. Not only are the menu items redundant but it does not fit into the look of the ui I will have in my domains and I want to make my own right-click menus. It should have been implemented as an optional script… not forced on everybody. I think somebody has lost sight of what hifi is supposed to be. It is supposed to be a platform you can use to design your VR site, not a pre-designed one.

A dev said it could be disabled but unfortunately he did not say how to disable it, and somehow the thread managed to disappear.


But hey it’s open-sourced. If interface turns into a clunky piece of crap nobody wants to use, somebody will just make a better one. Sound familiar?


Hifi should be getting simpler to use not more complicated.its becoming like a piano to play, forgets who said that.The ui is lacking a overall coherent design and is in danger of turning into secondlife. I think we should belooking at good modern touch screen solutions something elegant beautiful and simple like what I am .


I think the only UI they should worry about is the window menu at the top. They shouldn’t be messing with UI in the window itself at all. If I want my users to access all those options I will implement it myself in my own right click menu.

I know they want HMD users to be able to access these functions, but you can always just slightly lift your HMD to use them. It’s going to ruin immersion to have to use any of these functions anyway. If anything use a function key + right click to show the menu, or only show the menu when a HMD is being worn. Raw right click is too valuable of real estate to be using for this.I think a lot of HMD users are going to be using controllers other than a mouse anyway…


Sorry @Zappoman I know you worked hard on it, but it wasn’t your idea and you did get paid after all…


Im not so happy with the right context menu. It’s appearing to many times on my screen without i want it.

So, or we need a different key for the right mouse button menu.
Or and that sounds better, improve mouselook so it works without the need of right mouse button. Because that is the main reason it get triggered.


The right click menu is the most legible of the menus in the rift way easier to read than the online user list. I’m not sure about the colour scheme but what do i know about fashion.


For anybody else who was using right-click from scripting and now seeks an alternative – the mouse wheel or middle button also triggers an event:

(function() {
  this.clickDownOnEntity = function(uuid,evt) {
    if (evt.button === 'MIDDLE' /*'RIGHT'*/) { /*do stuff*/ }

And on my machine changing the first occurrence of id: root to id: none within interface/resources/qml/VrMenu.qml seems to be a benign way to temporarily neutralize the VrMenu.


Besides, for HMD, a flat 2D menu is the absolute wrong way to do it. In HMD mode, the menus should be spatialized, not unlike the in-world selection panels in Sword Art Online. So what that means, is designing an architecture that permits script to put those up easily and under the control of the designer.


I think the real question is how often will a HMD user need these menus anyway? And why should non-HMD users have to see this? A right click is a very often-used action and I don’t think any of these are important enough to justify taking up right-click-space.

Right clicks need to be reserved for contextual menus and should be left up to the domain owner. This isn’t the web and it isn’t mozilla firefox. It is virtual reality and when you create a domain you should have complete control over that.

I think having to change a qml file in the interface is the wrong way to force users to go about it. We can’t change interface.exe files of users that come in our domain or use our scripts. What about domains that are games? What about scripts that are applications? Maybe somebody will make a 3d modelling app… What then?

It’s a real nuisance already and that’s just moving around your avatar.


@Zappoman posted this script as an example to override right click menu. Thanks Zappo!

var MAPPING_NAME = “com.highfidelity.rightClickExample”;
var mapping = Controller.newMapping(MAPPING_NAME);
mapping.from(Controller.Hardware.Keyboard.RightMouseClicked).to(function (value) {

Script.scriptEnding.connect(function () {

Still the only problem is that users will now expect the right click menu everywhere.


I noticed some weird habbit with the right mouse context menu. And i still have not figured out how.

It seems that the right mous ebutton contect menu also appears with some key combination. Annoying.

Problem, still not figured out what combinations, because it seems to happen random and with different combinations.


The existing application menu popup is a placeholder that does not yet capture our design direction. Here is where we are going right now and what we are thinking:

We want the Virtual World UX to be very similar for 2D + mouse, HMD, and HMD + hand controller users.

Keyboards and mice should be optional but not required, since many HMD users won’t have them.

Typical hand controllers (Oculus touch, Vive, Morpheus) will have several buttons on each hand and maybe an X/Y stick.

Most of the time you want zero visible UI, or entirely user-created UI (through scripts). Mostly you just want to see the 3D world, with nothing on top of it.

Left-click, trigger (controller) means grab or interact in some way. Scripts can set/override what ‘interact’ means.

Right-click or secondary right thumb button (controller) brings up a ‘console’ of some kind, which contains commonly used options, like “Quit”, or “Go Home”, or “Mute”, or “Show Address Bar”. This is what the existing application menu widget is a placeholder for. We’re just starting work on this console, not sure what the best look should be. We think that in a manner similar to web pages, you always need a way to get to ‘system’ options that are above the scope of what is going on in the particular place/domain you are standing. It probably makes sense that even this ‘console’ can certainly be user-defined (I would think at the scope of the user, not the domain, btw), but our first mission here is just to design one that works well.

The 2D design case for the console is simpler, most of our questions around design are related to the 3D HMD case - what do I do if I bring up this console and then walk away from it? It is an object in the world that others can see me looking at? How far away from me is it? Does it follow me around? What are good looking button/control choices in 3D?

Sorry if simply stapling in the menu caused confusion, we just wanted to get something there as a placeholder for this future work.


One other thing to add to Philip’s comments. We are very aware of “right handedness vs left handedness” – not to out anyone but people in the highest levels of the team are afflicted/blessed with wrong-handedness.

So when we talk about things you do with your right hand vs left hand… please be aware that our vision is to allow users to individually tweak their “dominant side” if they choose to.

You can actually do this today, thanks to some of the recent controller changes. If you for example want to change which hand controller button acts as primary grab, you can change that without recompiling any code, by simply adjusting your settings files. Someday we will build a UI that allows users to customize things without editing JSON files… but know that the current code supports this personalization (if you know where to look).


On one hand I can see the importance of having controls in the same place all time (e.g. a user is being lagged with 1000 flying dildos and swastika flags and wants to leave in hurry), but I can also see it from a domain owner/app developer perspective (e.g. a game developer who doesn’t want to design his game based on the same controls used in Quake 2).

I think the only difficulty would be whether the user is wearing a HMD or not. All other controllers would be a simple matter of moving your real hand to your mouse to use these functions (or whatever pointing device you are using), but it’s a little more complicated with a HMD. I think all this can be accomplished in HMD mode just by having a small floating button somewhere around you (even behind you if you want) that you can press to open up a control menu. There is no need to reserve any hardware at all for this (Right-click, secondary right thumb button (controller), etc).

I don’t think the difference between the 2D dropdown menus at the top of the window and a floating dot menu would be all that unexpected, unsettling or hard for a user to get used to. I think it’s probably even better to think of it as a light switch when it comes to vr. You can just flip it when you want the light on, but the user can move the light switch anywhere that is convenient for them