Search Unity

  1. How can our website serve you better? Give us your feedback. Take our survey and let us know.
    Dismiss Notice
  2. Read here for Unity's latest plans on OpenXR.
    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:
    139
    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
  3. mtschoen

    mtschoen

    Unity Technologies

    Joined:
    Aug 16, 2016
    Posts:
    139
    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:
    139
    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:
    84
    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
     
unityunity