Requested — Edited

Unreal Engine For Robotics Score 238

Quote:

Oh and a unity add on.
Look into Unreal Engine. I’m not sure what kind of unity plug in you are developing, but Unreal is superior In every way.  I will never use Unity again. Recently Unreal has become free after years of high pricing for game developers. I’m Currently developing on this platform and it’s incredible.

Want to see this feature happen? Like it to increase the score.
PRO MEMBER
Synthiam
#1   — Edited
Right on!

1) what kind of stuff are you doing with the Unreal engine? Anything that you can share would be helpful to make sure an integration works for your needs

2) what kind of integration features are you imagining with ARC and Unreal?

(I moved your comment into a feature request, because that's what it is)
PRO MEMBER
USA
#2  
Thanks for moving it. But it was more of a suggestion to abandon deadend Unity:) Unity ties your hands when you are trying to build off their backbone....you're really just limited to plugin development. Unreal allows you to monetize up to a $1 million a year before they take 5% royalties on developed software (or games) using their code. You can smash it, crash it, and tear it apart and reassemble to build what you need. 

I'm working with a friend who is a software developer. We partnered to build a POC for a grant proposal to develop some stand alone software. I don't want to talk about the particulars yet. It is very specific to my needs, but I can see it being very useful for robots too.

Thank you and Jer so much for suggesting a few months ago to look into a developer for my needs! It has been a game changer (pun intended) and he only lives 2 miles from me! LOL!
#3   — Edited
Hey Will, whats your issue with Unity?
Its already all figured out and works great with ARC...live movement recording and playback, its all done!

Unity is great if you are not looking for high polished graphics, but are more into doing Indie Game stuff...
I just ported the whole project to OpenXR, so it can be deployed on any type of headset!
And of course for my needs, it runs directly on my Android device (which is the Oculus Quest), so I do not depend on a high end Window VR ready PC!!
I can make a little demo if you'd like to?:)

But, that said...its not at all a bad thing to develop for the Unreal engine, it is a great game engine after all!!
PRO MEMBER
Canada
#4  
I love unity and unreal also like Opensim (Prim based engine with physics great for building prototypes) but the problem is none are based on open standards.  I was disappointed WebGL support was dropped from latest version of unreal and moved to a 3rd party extension.  
If ARC really wants to become platform independent than any GUI needs to run natively in HTML5 to ensure maximum cross platform support.
PRO MEMBER
USA
#5   — Edited
@will:

Quote:

abandon deadend Unity
I don't think it's a dead-end, likely is more a highway to develop games.
It's an easy road for indies and small shops to create graphic stuff. One good example is @Mickey666Maus is not a developer and he handles very well the environment.

Quote:

Unreal x Unity
Unreal is hardcore, top notch.

c#  (Unity) is much more friendly than a  c++ (Unreal) environment, plus all the safe nets: memory garbage collection, pointer less, no unsafe code. On the other side of the argument is too easy to do inefficient code and bloated copy paste code. 

I've installed for pure curiosity, some people I met on the ROS forums use Unreal for simulation. 

Quote:

I don't want to talk about the particulars yet. It is very specific to my needs
Why Hollywood needs computer games tech more than ever
maybe Will is planning a movie based on a (bartender) robot:)
PRO MEMBER
Synthiam
#6  
Cloud based browser ARC is too slow :(. Resources of both cpu and memory meant be computer needs to be a super computer. Running anything in the browser is not effecient at this time. The closest we have come to a browser based solution is a Remote Desktop to a cloud with ARC installed lol. Surely a future roadmap consideration though! Might see where windows or core takes us to... 

I believe the decision between unity and unreal is based on use cases. Similar to any other technology decision - they each have advantages and disadvantages. 

Ptp, our original virtual reality plugin was openvr. Unity has since switched to openxr. But I’m having trouble with the change now because UI interaction is so different. I’ll have to jump in again and see if I can fix it... but it all seems to be a mess now. The be controllers don’t push the buttons, where the mouse used to. So the user is pretty much stuck in our beta. I know it’s all possible obviously lol - I just can’t t seem to figure out the changes:) yet
#7  
As usual was looking into the new treads and found this one.
Oh my God my head hurts ... it's like the "Meeting of the Minds" here.
Still glad Synthiam has you brain-e-aks though, what would us noobs do without you guys!
:)
PRO MEMBER
USA
#8  
@Mickey, 'Unity dead' is just my personal opinion, but when Epic made Unreal a free product, there just isn't any comparison. Unreal has been a pay product and therefore a paid developed product. And you can see it as soon as you use it. Give it a spin and look at the architecture. Blueprints are so powerful and easy to use and Live Link is just what I need for my product.  And the use of their code is way less restrictive as with Unity. And so is profitability. DJ said he was working on something for Unity and it makes since to look at Unreal to see if it offers DJ a better platform to create whatever he was working on. And yes, always want see what you are working on!!! Video it man!

@PTP Epic has been working a long time on version 5 which will be released in qtr 1 or 2, 2021. I'm curious as to how the new version will handle large data sets (which is what they are boasting). I'm trying to develop something that wont be too dependent on the GPU and will run well on modern PCs. Glad you installed a version to check it out. Blueprints are really powerful. I've been using that type of structure (Nodes) in 3D animation packages for a long while. So its very familiar to me.

@DJ 

Quote:

I believe the decision between unity and unreal is based on use cases. Similar to any other technology decision - they each have advantages and disadvantages.
Absolutely true.
#9  
My question was actually more of a "are you having any specific problems with Unity" question...
But you kind of already had the answer in #2. Your dev is building on Unreal, so that's the platform he will be sticking to!:)

I do not even move away from Photoshop or Fusion 360, although there is Gimp or Blender...
I am such a keyboard shortcut person, and retraining all the muscle memory is just aggravating me after not even being 5min within the environment!!

I was probably just hoping I could scrape some reusable code!!:D

My biggest problem has always been the extraction of those rotations, with Euler angles having gimbal locks and Quaternions just being too much for me to understand!! That was all solved when you found the Bio IK plugin...which I am using now, thanks again for leading me into this direction!! 

I am really curious on what you will be building!!
#10  
And not to hijack the thread, but...
Open xr is kind of strange in how it is handling controller input, once its been setup, its kind of easy to use...

Code:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR;

public class Controller : MonoBehaviour
{
void Start()
{
//This is for the Right Controller, change it for the left Controller
List devices = new List();
InputDeviceCharacteristics rightControllerCharacteristics = InputDeviceCharacteristics.Right | InputDeviceCharacteristics.Controller;
InputDevices.GetDevicesWithCharacteristics(rightControllerCharacteristics, devices);

foreach (var item in devices)
{
Debug.Log(item.name + item.characteristics);
Debug.Log(string.Format("Device found with name '{0}' and role '{1}'", item.name, item.role.ToString()));
}

if (devices.Count > 0)
{
targetDevice = devices[0];
}

}

// Update is called once per frame
void Update()
{

if (targetDevice.TryGetFeatureValue(CommonUsages.primaryButton, out bool primaryButtonValue) && (primaryButtonValue))
{
Debug.Log("Pressing Primary Button");
}

if (targetDevice.TryGetFeatureValue(CommonUsages.secondaryButton, out bool secondaryButtonValue) && (secondaryButtonValue))
{
Debug.Log("Pressing Secondary Button");
}
}
}