Search Unity

[RELEASED] World Space Cursor - an input solution for VR and world-space UIs

Discussion in 'Assets and Asset Store' started by vvander, Jan 9, 2015.

  1. vvander

    vvander

    Joined:
    Jan 18, 2011
    Posts:
    72

    The World Space Cursor is a must-have Unity extension
    if you use world space canvases or a 3D UI.
    Especially necessary for Oculus Rift and VR games!!
    Although the regular system cursor will work with world space canvases, it’s drawn in screen space. This looks amateur at best and is completely useless for any VR games. When using this extension, your system cursor will be replaced with a World Space Cursor. That is, it is located in 3D space with your canvas. It will render perfectly in the Oculus Rift and look great in regular games, too. This World Space Cursor will have the same orientation and scale as your canvas, so it looks great no matter how your canvas is positioned. Check out the online demo here!

    – Every selectable Unity UI element works 100%: buttons, text fields, sliders, toggles, and scrollbars
    – Will work with any custom selectable object you create
    – Works with the standard Unity Input system, which means that gamepads, keyboards, and mouse controls are compatible
    – Sensitivity is customizable to your needs
    – Comes with 3 basic cursor images, and a .psd template to easily create your own custom cursors

    World Space Cursor is easy to add to your project and can be up and running within a few seconds using the included documentation (check out the online version here).

    As with all our assets, you can expect great, fast support through our website or this thread.
     
    Last edited: Jan 13, 2015
  2. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Demo does not work very well for me, well it works, but the cursor is really, really slow compared to my own cursor. Feels very strange : ) Great asset for VR projects, price seems a bit high for a cursor asset though.
     
  3. vvander

    vvander

    Joined:
    Jan 18, 2011
    Posts:
    72
    Thanks for the feedback @virror! You're right that the price was a little high for what it is. Our only excuse is that we're new to the asset store and are still learning the ropes. It's been reduced to $5 permanently!

    As for the demo cursor being slow, you're right about that. It will seem especially slow to those used to a faster cursor. We're working on another demo that will allow you to change the sensitivity on the fly (this functionality is already in the plugin, just not in the demo yet).
     
    Last edited: Jan 15, 2015
  4. sharmoni

    sharmoni

    Joined:
    Dec 9, 2008
    Posts:
    14
    I'm modifying my game to run in VR and have been able to use your World Space Cursor to somewhat successfully implement my UI. I did have to change your code to use 3D colliders because I needed the UI canvas to rotate on the x-axis (my player view is down in world space) and that breaks 2D colliders. So now I'm discovering that I can't select game objects with the cursor—I assume because the cursor needs to collide with them and I'm floating it above all the game objects so it doesn't go through them.

    Ok, I just took a minute to test that by extending the collider in the z-axis so it would reach the objects below and that does work. However my main camera view rotates the plane that my objects are on independent of the GUI camera that renders the cursor relative to the screen, so the collider from the cursor doesn't match where the cursor appears to be to player's view.

    Do I need ray casting instead of colliders to make this work? Can I just add a ray cast or should I replace World Space Cursor with your upcoming World Space Crosshair?
     
  5. vvander

    vvander

    Joined:
    Jan 18, 2011
    Posts:
    72
    @sharmoni I apologize for the late reply, it seems that I wasn't subscribed to this thread for some reason.

    Anyway, you bring up some great points. Coincidentally, this last week I finished up World Space Cursor 1.2 which includes 3D colliders by default due to that rotation bug you mentioned (along with some other fun features like canvas bounds checking). The new version is currently waiting on Unity to review it, but hopefully it will be released soon. In the meantime, I'm going to privately send you an advance copy of WS Cursor 1.2 to see if it helps. In this new version, you should be able to rotate your GUI in any direction by any amount and it will still work.

    Version 1.2 should allow it to work with your use case, but if not, don't worry too much. We are also waiting for Unity to approve our World Space Crosshair plugin, which uses raycasting to draw the crosshair on the screen at the correct depth. In the first version of that plugin, it won't be possible to select UI elements with it, but it is theoretically possible to add this functionality and we plan on adding it soon after release. The only complication to adding this functionality yourself is that it would require our custom event module from the WS Cursor plugin, but that won't be an issue for you, of course. So, if WS Cursor 1.2 doesn't solve your issues, it will only be a short week or two until the WS Crosshair 1.0 is released (hopefully).

    For anyone who's wondering, our target for all of these updates is the end of March, though no one can predict how long Unity's review process will take... for example, they already denied the new World Space Crosshair plugin once, saying that we already had a plugin released with the same name. Obviously, the review team didn't look very carefully at it, since it is similar to, but not exactly the same as, World Space Cursor. We resubmitted it and wrote them a note to please check more carefully, but the review process can be tedious and opaque sometimes.

    TL;DR: WS Cursor 1.2 has several new features and bugfixes, but the review process is taking longer than anticipated. World Space Crosshair 1.0 is in a similar situation, in case anyone is waiting on this, as well.


    EDIT: @sharmoni Just re-read your description of your specific setup and it looks like you will probably need to wait for a raycasting solution. I sent you a message with the new WS Cursor 1.2 to see if it helps, but if not and you have a tight deadline, please contact support and we'll get you pointed in the right direction to write it yourself.


    EDIT 2: World Space Crosshair is now released!
     
    Last edited: Mar 23, 2015
  6. squak

    squak

    Joined:
    Oct 17, 2014
    Posts:
    1
    The test scene supplied with the world space cursor assets in the Unity store doesn't function properly on my machine with Unity 5; the cursor doesn't move at all when I move my mouse (and I get an error saying that one or more elements on the canvas needs a box collider, and when I add colliders I get "The referenced script on this Behaviour is missing!"

    Anyone else running into this issue?
     
  7. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    Support on google cardboard also?
     
  8. vvander

    vvander

    Joined:
    Jan 18, 2011
    Posts:
    72
    @squak This is fixed in the latest version. Sorry for the delayed response - for some reason Unity's forums aren't notifying us when there's a reply to our threads.

    @devang_xprt This is a device-independent plugin, so it will work regardless of the hardware that you are using.
     
  9. TooManySugar

    TooManySugar

    Joined:
    Aug 2, 2015
    Posts:
    864
    I used previous version and was a life saver. Mouse going out of canvas was very anoying, now I see its solved. But there was something even more anoying. It did not support stacked canvases. Is it solved?. I keep my ui in a hyerarchy with different canvases and have it prefabed. Do latest version scripts eork with unity 4.6.x?
     
  10. steveh2112

    steveh2112

    Joined:
    Aug 30, 2015
    Posts:
    314
    hi, you demo page is a big 404! are you still supporting this product? will it let me interact with my GUI elements in VR with a mouse just like in screen mode?

    thanks