Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

EditorXR 0.4 available on Unity Package Manager

Discussion in 'EditorXR' started by mtschoen, Sep 28, 2020.

  1. mtschoen

    mtschoen

    Unity Technologies

    Joined:
    Aug 16, 2016
    Posts:
    194
    We are excited to announce that as of today, EditorXR 0.4.12-preview is available through the Unity Package Manager!

    Simply open the Package Manager UI, enable preview packages, click the “+” button in and type `com.unity.editorxr` into text field after clicking “add package from git URL…” For Unity 2019.1 and 2019.2, you will need to edit the `Packages/manifest.json` file manually and add “com.unity.editorxr”: “0.4.12-preview”.


    Not much may appear to change on the surface compared to 0.3. But, under the hood we have many notable changes that should make your lives easier.


    Most importantly, EditorXR now uses the XR Tools Module Loader, which was introduced along with Unity MARS. Using the Module Loader helps us further decouple systems within EditorXR, and makes it easier to integrate EditorXR with MARS and other future packages which might adopt the Module Loader and Functionality Injection architecture. The APIs for developing Tools and Workspaces are largely untouched, but we have replaced or removed a good amount of "plumbing" code which is now handled by the Module Loader package.


    We have also removed the third-party Nition UnityOctree library and replaced it with the new Spatial Hash Module which serves the same purpose, but with a more flexible API which, among other things, supports operations on lists of objects, which is a much more efficient way to handle our use case of adding and potentially updating every object in a scene.


    This version still relies on the old Input Prototype, which is embedded in the EditorXR package and still relies on the legacy input system. It will prompt you to update your input bindings on first import as it always has. We are currently in the process of updating EditorXR to use the new input system, and expect to remove this code in a future release.


    Along with the input refactor, we will be splitting EditorXR into a set of packages which we call the Runtime Authoring Framework. We have received feedback, both from our community of users and from internal teams, that while EditorXR is a great way to get to good fast, adding support for new input devices or build targets can be a challenge, and adding or replacing whole systems like scene picking or haptics should be simplified. Our goal is to provide a modular and extensible system, and the changes we are making will help accomplish this. The solution we have chosen is to create or integrate individual packages that solve these simple problems in isolation (like scene picking or tool management), replacing EditorXR code with those as they come online.


    The XR Interaction Toolkit released last year handles ray-based interaction for both uGUI canvases, as well as interactable scene objects. We are already in the process of replacing EditorXR's MultipleRayInputModule with the equivalent module from the XR Interaction toolkit, and updating our `BaseHandle` to inherit from `BaseInteractable`. This lets us delete some code in EditorXR, and take a step toward unifying editing or authoring systems with gameplay systems. For example, if your app has controller models and a ray pointer, we should be able to just use that to drive EditorXR interactions, rather than having EditorXR always create its own during setup.


    This is our first update in a while, which is a little out of the ordinary. We have always developed EditorXR in the open on our public GitHub repository, in the spirit of being open-source and experimental. We briefly switched to a private repository as we prepared to make EditorXR available through the package manager. Going forward, we will continue to do PRs and push changes to our public GitHub repository.


    That's all, folks. Enjoy!
     
  2. Steven_VR

    Steven_VR

    Joined:
    Jan 11, 2020
    Posts:
    8
    Hello,
    After reading this, it is unclear to me what version of Unity I should use in order to get started with XR Editor.
    Are you saying if I use 2020.x everything works fine but in 2019.1 and 2019.2 I have to do modifications?
    Or are you saying it only works in 2019.1 and 2019.2?
    And with the input system.... it is still only the old input system?
    I am starting a new project and ideally this would be with a version of XR editor, on a 2020 with a version of Unity with OpenXR and with the new input system.
     
    Last edited: Feb 3, 2021
    ROBYER1 likes this.
  3. mtschoen

    mtschoen

    Unity Technologies

    Joined:
    Aug 16, 2016
    Posts:
    194
    Hi there! Sorry for the confusion. :)

    A project configured to use XR Plugin Management cannot render to the HMD in edit mode. We are working to address this limitation, but at the time of writing, this means that you cannot use EditorXR in edit mode in Unity 2020.1 and above. However, EditorXR has some limited functionality in _play mode_ and Player builds, which is described in more detail here. This runtime functionality is supported in Unity 2020.1 and above.

    If you would like to use EditorXR in edit mode, you must use Unity 2019.1, 2019.2, 2019.3, or 2019.4, and you just enable VR using the Project Settings > Player > XR Settings menu, _not_ the XR Plugin Management package and related plugin packages.

    Unfortunately, EditorXR is not compatible with the new input system. We are working to resolve this. You should be able to use the new input system alongside EditorXR, as long as you choose "both" systems in Player Settings.

    You will not be able to use EditorXR in Edit Mode, but you should be able to use the runtime functionality. Are you interested in building new features on top of EditorXR, or just using it as part of your editing workflow? In the former case (extending EditorXR), I would recommend that you wait until our next update, or at least bear in mind that we may need to make breaking changes to address the issues I described above.

    I hope this clears things up! Thank you for your interest in EditorXR, and for your patience while we work to improve it.
     
  4. Steven_VR

    Steven_VR

    Joined:
    Jan 11, 2020
    Posts:
    8
    Thank you! This is extremely helpful and clarifies a ton.
    I'll start with 2019.4 and use "both" input systems. Between your clarification and the thread below (Am I too stupid to install EditorXR) I have it up and running again now.
    I am intending to use it for my creation (editing) workflow and not part of a runtime experience. I would like to modify EditorXR to be more keyboard and mouse based (the wands are just cumbersome) but it sounds like modifying EditorXR should wait until after your next release? ;):D
     
  5. mtschoen

    mtschoen

    Unity Technologies

    Joined:
    Aug 16, 2016
    Posts:
    194
    Yeah... we should have a much better setup for modifying and extending, especially when it comes to input. I don't have an ETA on this yet, so if you want to explore the code and do some prototyping, don't let me stop you! Just know that the old input prototype in `EditorXR/Runtime/libs` is going away, so anything that you do with `ActionMaps`, etc. will have to be replaced.

    Happy hacking! :)
     
    Steven_VR likes this.
  6. Sab_Rango

    Sab_Rango

    Joined:
    Aug 30, 2019
    Posts:
    121
    Hey! This Editor + VR is just future!!!!!
    I know that built in binary development is not fast, So think it's better implement all Editor VR technology to kinda Runtime-playmode- VR, and find the way to not to destroy objects after playing the editor!


    I mean kinda add another a UI button close to play buttons. So it will run not the real played game but will run editor modification mesh building, level designing stufs!
     
  7. Underwurlde

    Underwurlde

    Joined:
    Jul 6, 2017
    Posts:
    6
    Hi, this is great news. I'm testing EditorXR in 2020.2.4f1, it works but since I'm using URP the controllers just show as pink. Could you advise the best way to fix this please? Thanks.
     
  8. tran10

    tran10

    Joined:
    Nov 30, 2020
    Posts:
    13
    Hello,
    Thank you so much for release.
    I am testing EditorVR with Unity 2020.1.17 and SteamVR 2.7.3 with HMD Vive.
    Unfortunately, when I open Window, i didn't see EditorVR. Could you have any advise?
    upload_2021-3-16_16-55-10.png

    Thank you so much for your response.
     
  9. Underwurlde

    Underwurlde

    Joined:
    Jul 6, 2017
    Posts:
    6
    Unity 2020.1 and above can currently only run the EditorXR in play mode.

    You can run the EditorVR in edit mode, from post above "you must use Unity 2019.1, 2019.2, 2019.3, or 2019.4, and you just enable VR using the Project Settings > Player > XR Settings menu, _not_ the XR Plugin Management package and related plugin packages."
     
  10. tran10

    tran10

    Joined:
    Nov 30, 2020
    Posts:
    13
    Thank you so much, I will test it in play mode with unity 2020.1.17
     
  11. unfitforbingo

    unfitforbingo

    Joined:
    Jul 28, 2017
    Posts:
    3
    Dang. Got really excited, then really disappointed. VR in edit mode is (was...) a killer feature.

    Built-in support for VR editing would be incredible. I have tried using the Unity editor in desktop mode within VR, but many features are inaccessible this way and often the only remedy is to take all the gear off, make a change, put it back on again. Sometimes I try to balance the headset on my head without it falling off just to keep everything nearby. It's a bit of an acrobatic exercise...

    Just my anecdotes :p

    Apparently new tools are under development, if collaborator comments on GitHub issues are to be believed. Patience is hard sometimes.
     
  12. mtschoen

    mtschoen

    Unity Technologies

    Joined:
    Aug 16, 2016
    Posts:
    194
    Thanks for the encouragement! It really helps to hear from users who appreciate our work, and I'm looking forward to sharing what we've been working on. We really appreciate your patience. :)
     
    Bentoon likes this.
  13. Alex_Sour

    Alex_Sour

    Joined:
    Feb 2, 2018
    Posts:
    5
    So that means it should work in newer Unity versions again soon?
    I really hope so, as this is a really cool concept to me.
     
  14. mtschoen

    mtschoen

    Unity Technologies

    Joined:
    Aug 16, 2016
    Posts:
    194
    I've learned to avoid the word "soon," since it means different things to different people. :)

    EditorXR as it exists today likely won't be getting updates to support newer Unity versions, but we are working on a more modular solution which will eventually enable editing scenes in VR. It's too early to make any promises, but the concept will live on.
     
  15. Alakelele

    Alakelele

    Joined:
    Apr 5, 2018
    Posts:
    24
    I see, thanks for the hard work but how come the Exec folks haven't funded this project properly ? There will be a huge market for VR editors pretty soon. It seems that newer versions of Unity should come preinstalled with a VR editor feature (Unreal does it), do you need us to give the good word to the higher ups ?
     
    Last edited: Feb 9, 2022
  16. HeyBishop

    HeyBishop

    Joined:
    Jun 22, 2017
    Posts:
    238
    I was directed to this thread by @amirebrahimi_unity from here.

    I still feel like I'm skipping a crucial step.
    I've installed the following:
    Unity 2020.3.25f1
    EditorXR 0.4.12
    XR Interaction Toolkit 2.0.0
    Under XR Plug-in Management, I have selected OpenXR.

    The scene I've created works well (as in, it plays on my Quest 1, interactions work as expected).

    Now I'd like to manipulate the scene with the EditorXR tool.

    Under Project Settings>EditorXR>Conext Manager, I have checked all the options there:
    upload_2022-3-6_14-41-13.png

    The scene still plays fine, but still no EditorXR.

    Then, I add a gameobject to the scene with the EditingConextManager component, and now when I enter play mode, I get "Display 1 No cameras rendering".

    What am I overlooking?
     
    Last edited: Mar 6, 2022
  17. HeyBishop

    HeyBishop

    Joined:
    Jun 22, 2017
    Posts:
    238
    One more thing of note:
    Whenever I save the scene, the following message appears in the console:

    Saving Prefab to immutable folder is not allowed: Packages/com.unity.editorxr/Runtime/Scripts/Modules/SnappingModule/Prefabs/MenuFaceSnapping.prefab
    UnityEditor.EditorApplication:Internal_CallGlobalEventHandler ()
     
  18. amirebrahimi_unity

    amirebrahimi_unity

    Joined:
    Aug 12, 2015
    Posts:
    400
    Do you have a camera in your scene?
     
  19. amirebrahimi_unity

    amirebrahimi_unity

    Joined:
    Aug 12, 2015
    Posts:
    400
    If you installed this via git you might check whether you have any modifications on that prefab. If so, try reverting them. If not, then you could try removing the package and added it back with a fresh git checkout.
     
  20. Alakelele

    Alakelele

    Joined:
    Apr 5, 2018
    Posts:
    24
    2022 here, still nothing ?
     
    jawasjnsdjn likes this.
  21. akent99

    akent99

    Joined:
    Jan 14, 2018
    Posts:
    588
    Are the APIs for accessing VR devices in Editor mode from Unity available? Or an explainer?

    I want it in Edit mode. In my case, I want to use with Sequences package (position characters in scenes more quickly and accurately) and Animation Rigging package (move IK targets of characters to create simple animation clips directly in the Animation window). Entering Play mode is not an option here - I need to stay in Editor mode to use all the Unity editor tools and windows. I just want a better "mouse". I am happy looking at the screen, using mouse for menus, etc.

    But I would like to be able to move objects more precisely with a 6 degrees-of-freedom mouse (aka VR hand controller - x/y/z movements and rotations). Using a 2D mouse is slower and less precise. So I personally don't care about the HMD side of things. I was thinking "select the object to move in the scene with the normal mouse, then pick up and use the VR controller to perform relative movements to move the object (when a button is pressed etc).

    Any examples on how to use the APIs to get VR inputs without entering Play mode? I don't need (or even want) HMD rendering. Examples so far for reading from VR devices seem to assume you are in Play mode...
     
  22. Alakelele

    Alakelele

    Joined:
    Apr 5, 2018
    Posts:
    24
    Hello there, you were able to make it work ? By which miracle ? Are you using something different than Quest 2 ?
     
  23. akent99

    akent99

    Joined:
    Jan 14, 2018
    Posts:
    588
    No, I did not get it to work, but I did an educational hack using the Unity Virtual Capture app. I added the relevant camera component to a car in a scene, then I could use my iPhone to move the car around. I could not pick up and drop, but it taught me a few things
    (1) Fast feedback loops are critical. It was quite sluggish because it was also streaming the camera to the iphone. I turned that off, and it felt much better. But precise movement was still hard due to latency.
    (2) I really do want grab and release triggers with relative movements (natural in a VR app).
    (3) It really needs to be aligned with the screen. I added it to the car sideways at first and there was no way to train my brain to move the phone sideways for front/back movement due to being off by 90 degrees.

    But I did not learn any new APIs from EditorXR. I still think this would be great to have, but been too busy to try it out with VR controllers. I did not get past step 1 of working out how to get the controller position without being in Play mode.
     
  24. Alakelele

    Alakelele

    Joined:
    Apr 5, 2018
    Posts:
    24
    I think it's too much for just one person to handle the work needed, they had a working editor that has been abandoned, nobody on the team can answer when we'll get an update (2024 at best). While it is a standard feature on Unreal now, what is going on with the heads at Unity to let that great tool to rot ?
     
  25. SebastianMaj

    SebastianMaj

    Joined:
    Nov 28, 2013
    Posts:
    113
    Hello,

    I was hoping this could receive an update. I would love to try out the editor in VR, I feel like it offers a great experience when level designing being able to see the changes visually especially when working on VR game. Hoping to hear back!
     
  26. EduardoMontero

    EduardoMontero

    Joined:
    Jan 31, 2022
    Posts:
    1
    Hi!

    I was trying to set the EditorXR (0.4.12) package for my project in Unity 2022.2.1f1 but I didn`t find a way to make it work. As far as I have read, the only way to make it work is using the runtime version.

    I followed the information I found in this link but I`m still unable to use it.

    When I press 'Play' nothing happens, I see that some new elements appear in my hierarchy, but nothing is show in screen.
     
  27. ddooms

    ddooms

    Joined:
    Jun 10, 2015
    Posts:
    7
    Hey, is this project still in development? Any ETA on when it might be updated? Is there a place I can follow for changes etc.?
    I'm interested in building onto EditorXR features and I would appreciate any information on when this package might become more viable for production. I'd also love to see a roadmap for this feature, if there is one.