Announcement

Collapse
No announcement yet.

VR UMG Compatibility Plugin!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    VR UMG Compatibility Plugin!

    Edit: In talking with Nick Darnell of Epic it turns out we were both working on a similar system at the same time, he's is a little more integrated into the engine (you can see an example on his twitter here), It should be ready for 4.13 or close to it so if you can wait for that I suggest you should

    Yay
    No more messing with crazy work arounds to get UMG to work in VR.

    I spent the last couple of days working on a compatibility plugin that allows you to manually trigger UMG events.
    This allows us to finally have traces and the like interact natively with UMG

    The Project can be found on my GitHub


    Here's a little example:


    I also just did a video showing the included example project if that's more your thing:


    It's pretty early on so I'm really looking for feedback from the UE community

    Oh and currently I've only compiled it for 4.11 but I'll work on getting a 4.12 version up tomorrow

    As always this will remain free so if you feel like supporting me feel free to donate.
    -----Donate-----
    Attached Files
    Last edited by mitchemmc; 07-11-2016, 08:29 AM.
    UE4 VR Cookbook
    Mitch's VR Lab tutorial series
    VR Content Examples

    #2
    My god. You are a legend!

    This is just perfect timing.


    I will do some testing and let you know how i get on! (initial impressions pretty good from the test, but will try it with a project) running 4.12.5 here btw. Compiled fine.
    Last edited by gozu; 07-11-2016, 04:00 AM.
    Outer Planet Studios
    http://outerplanet.webflow.io/

    Comment


      #3
      Awesome Mitch ! Perhaps Epic can look at it and decide to add it to ue4 !

      Comment


        #4
        Okay some feed back, perhaps quite early, and to be honest a little fanboyish.

        Its PERFECT.
        Add VR Widget component, had to change some visibility and focus settings on my existing widgets, but that is all working.

        You sir. Are a true hero of the people.
        Last edited by gozu; 07-11-2016, 04:00 AM.
        Outer Planet Studios
        http://outerplanet.webflow.io/

        Comment


          #5
          Thank you so much, echoing what the others have already said. You've taken down one of the very big hurdles for designers with UE. I really do hope you know how much your are appreciated by this community.

          Comment


            #6
            Just to follow up after spending the day implementing into an existing project and testing all uses that i can think of, it's pretty great.
            Only catch 22 seems to be the side effect of say, passing a motion controller action event, to something inside a widget (widget inside a widget inside a widget :P), it's possibly just a focus thing i have to figure out, possibly even something really silly, not a big deal. Passing through keyboard or mouse input works as expected however, even mouse clicks!

            In case anyone is curious, here is my usage case:
            Have a menu system that works from a Vive motion controller, have the same menu system also fall back to mouse interaction when the controller is off, or if the user is using a headset without motion (eg Rift)

            Here are some shots for the curious.

            begin:
            Click image for larger version

Name:	Spectator-Beginplay.PNG
Views:	1
Size:	271.4 KB
ID:	1111826

            tick:
            Click image for larger version

Name:	Spectator-Tick.PNG
Views:	1
Size:	152.8 KB
ID:	1111827

            trace from mouse:
            Click image for larger version

Name:	Spectator-Tracetype1.PNG
Views:	1
Size:	289.9 KB
ID:	1111828

            trace from controller:
            Click image for larger version

Name:	Spectator-Tracetype2.PNG
Views:	1
Size:	285.8 KB
ID:	1111829

            input event:
            Click image for larger version

Name:	Spectator-Inputaction.PNG
Views:	1
Size:	194.8 KB
ID:	1111830

            Maybe, that will help anyone out there trying to do a similar thing.
            YAY.
            Attached Files
            Last edited by gozu; 07-11-2016, 04:10 AM.
            Outer Planet Studios
            http://outerplanet.webflow.io/

            Comment


              #7
              Hey everyone just an update, In talking with Nick Darnell of Epic it turns out we were both working on a similar system at the same time, he's is a little more integrated into the engine (you can see an example on his twitter here), It should be ready for 4.13 or close to it so if you can wait for that I suggest you should if you need it for 4.11 or 4.12 you can still use mine
              UE4 VR Cookbook
              Mitch's VR Lab tutorial series
              VR Content Examples

              Comment


                #8
                Good news!

                Hopefully Gear VR developers won't be forgotten (we don't have motion controller, but we do use gaze and touchpad / gamepad) with native implementation in 4.13

                Comment


                  #9
                  Astonishing!

                  Congrats Mitch, this is good stuff
                  ENTER REALITY

                  VR Solutions

                  Contact us for more informations

                  Comment


                    #10
                    Great stuff, much cleaner workaround than custom umg designer components. Looking forward to playing with this
                    Plugins: TensorFlow - Socket.io Client - ZipUtility - Leap Motion - Hydra - Myo - RealSense - CIM

                    Comment


                      #11
                      Excellent! Looking forward to using this. Does this successfully handle hover events as well?

                      Comment


                        #12
                        Mitch, you are a wizard. Thanks!

                        Comment


                          #13
                          Originally posted by CognitionTom View Post
                          Excellent! Looking forward to using this. Does this successfully handle hover events as well?
                          yes it does.


                          *edit*

                          Can't wait for Nick's solution, hopefully he can also include his gamepad work. In the meantime, this one is pretty great.
                          Last edited by gozu; 07-11-2016, 07:52 PM. Reason: words
                          Outer Planet Studios
                          http://outerplanet.webflow.io/

                          Comment


                            #14
                            Hey folks, glad to see you've got it working, i however am hitting problems when trying to implement the plugin in my own projects, or opening the example project, it appears to be missing two relevant Dlls, and want to recompile them, then fails to do so, suggesting i rebuild from source. Is this only compatible with source builds or the launcher engine as well?

                            Comment


                              #15
                              I unzipped example project, placed into my unreal projects directory in win-explo...
                              opened UE launcher, opened the example project and when asked for that exact same thing, agreed to rebuild, and let it do it's thing.
                              I had no failure.
                              it then opened after build.

                              if its not building the example project...
                              it might be a VS2015 issue, they just came out with a update for 4.11 to fix an issue with VS2015... not sure if that could be it...

                              other than that... you could try...

                              From CognitionTom, he helped me get a RAMA plugin to work using this method...

                              Assuming UE4.11, and visual studio 2015 community are installed you can use option a or option b for any step along the way (try both just to learn how it works):

                              1a: From the unreal project browser, create a new UE4 c++ project (so that it creates a solution file)

                              1b: From an existing UE4 project ( IE you could use the example project here... ) create a new c++ class (so that it creates a solution file) doesn't matter what kind.

                              2: When it opens visual studio you can just close it out if you're using step 5a.

                              3a: Navigate to the project directory (Or just right click on content, select show in explorer, then go up a directory), create a new folder "Plugins". DO NOT create this under the content directory, has to go in the project directory above it.

                              3b: Open Edit>Plugins from the UE4 editor, then click new plugin at the bottom right pane. This will create the Plugins folder for you.

                              4: Copy the 'VRUMGPlugin-master' folder out of the zip file and into the Plugins directory.

                              5a: Close the UE4 editor and reopen the project. It will ask you if you would like to rebuild. select yes.

                              5b: In UE4 editor click File>Refresh Visual Studio Project, then open the solution in visual studio (double clicking the .sln file should do), right click on the project in visual studio, and select build. Restart the UE4 editor.

                              If you hit a snag, it's almost definitely a visual studio problem. Make sure the project builds properly if you just ask it to create a new c++ class. if that won't build, try reinstalling VS2015 (Remember community version is free so long as you login with your microsoft account inside the Visual Studio Application)

                              hope this help's ya. if not i am sure others will get ya up and going.
                              Last edited by WilliamHooper; 07-13-2016, 02:08 AM.

                              Comment

                              Working...
                              X