Search Unity

What does it mean to use unity to develop an app? Can I use it as a part of another C++ App?

Discussion in 'Getting Started' started by aarelovich, Dec 4, 2019.

  1. aarelovich

    aarelovich

    Joined:
    Dec 4, 2019
    Posts:
    6
    Hello, I'm new to the whole Unity scene. I have been developing traditional computer Apps for a long time but I have literally zero clue in regards to what a "game engine" is or what it does. So please, bare with me.

    I'm the developer of a medical application which is currently developed using Qt and the MSVC compiler. The application contain experiments where it shows very simple 2D images to the user (sentences and colored squares). However there is a very large, complex interface developed around this that needs to be run normally in the monitor of a PC.

    Most tutorials and introduction texts simply assume that I want to program a game and this is very, very far from the truth, in my case.

    Our application, now, need to be ported to VR HMD. Which means that those 2D images will be shown in the HMD . While everything else should remain as is. Several people have suggested to me that I use Unity. However I want to know what this means, and hence the question.

    I have seen talk of different versions with different splash screens on final builds, which leads me to believe that unity will produce complete excutables and not simply resources or code snippets to be used by another application.

    Is this correct? Can I use unity to simply "tell" the HMD what it should show and then somehow include this in my application?

    I'm sorry if this is very vague, but even though I know unity is a "game engine" I don't exactly know where to start looking for answers on how to do what I need. I was hoping here someone could give me a few pointers or where to start reading or if Unity is just not for what I want.

    Thank you.
     
  2. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    A game engine (such as Unity) builds complete apps. They handle all the heavy lifting of 3D rendering, etc., as well as the boilerplate stuff needed to get any application up and running on a particular platform (kind of like what Qt does for you, only more so). So no, you can't use Unity as part of your existing app; it would be a complete rewrite.

    Have you considered using an off-the-shelf app like Virtual Desktop to simple stream the PC monitor into the HMD?
     
  3. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,205
    Mobile operating systems are the exception here. You can embed Unity into apps made to run on Android and iOS.

    https://blogs.unity3d.com/2019/06/17/add-features-powered-by-unity-to-native-mobile-apps/
     
    JoeStrout likes this.
  4. aarelovich

    aarelovich

    Joined:
    Dec 4, 2019
    Posts:
    6
    Two things. Thank you very, very much for your concise reply. Second, no, I have not considered this, however it is not an options. The HMD contains EyeTracking which is the medical data we require. Hence it needs to interact (to my very crude understanding) with the image shown in the HMD in order to know where the user is looking.
     
  5. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Hmm, that being the case, you are probably better off using Unreal than Unity. As I understand it, your current application is written in C. Unreal uses C++. So you'll have more luck integrating Unreal into your current app (or vice versa), without having to rewrite everything from scratch.

    It's still a huge job, though. But if you get Unreal and start playing with it, in a few weeks you'll probably be in a much better position to understand whether/how you can integrate your app with VR.