Hello everyone.

The Mixed Reality Forums here are no longer being used or maintained.

There are a few other places we would like to direct you to for support, both from Microsoft and from the community.

The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.

For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.

If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.

And always feel free to hit us up on Twitter @MxdRealityDev.

UWP vs Unity

Does anyone know if I am required to use Unity? Are there any limitations which would prevent me from developing a solution using UWP, C#, and XAML? Alternatively, if I use a UWP presentation technology, such as MonoGame, would it work? Thank you!

Best Answers

Answers

  • james_ashleyjames_ashley ✭✭✭✭

    @STonstad,

    From the documentation, it really looks like your XAML apps are going to be for 2D. 3D games and environments use Unity. The documentation does suggest using SharpDX with UWP if you really want access to DirectX features, but in my experience Unity would be a heck of a lot easier.

    James

    James Ashley
    VS 2017 v5.3.3, Unity 2017.3.0f3, MRTK 2017.1.2, W10 17063
    Microsoft MVP, Freelance HoloLens/MR Developer
    www.imaginativeuniversal.com

  • If you're not using Unity, you're essentially going to be building your own middleware or framework -- depending on your background, I agree Unity would be much easier :).

  • With that being said, if you are a C++ developer then you are more or less required to work with UWP instead of Unity. There are pros and cons to either approach, it just depends on your level of comfort and how much of the details you want to know about :)

  • Thank you for the guidance. Unity is fine if you are inexperienced with graphics programming. For the rest of us access to DirectX via C++ or SharpDX is preferable.

  • I think you guys are missing the point here. Unity is not the right way to start in many business applications. I see Unity as a studio that can create your scenegraph and when you're happy with it, you can export(!) it to an UWP application. Oh, and you can 'script' it up a bit with C#.. (yes, this is a major simplification, but I hope you get my point).
    This works awesome for games, etc. but if you have 3D models (assets) that are dynamically generated (ex. CFD results) then Unity is not making your life happier.

    The other option is, as you said, DirectX. The template with the SDK actually uses the beautiful SwapChainPanel and SharpDX, which is a great wrapper around DX. However, it is not making it very easy if all you're interested in is to display the vertices&material data.

    Writing your own middleware layer (which I have done many times, unfortunately) is a big, big pain because it requires so much expertise. Microsoft understood this when they created XNA, and when they dropped support for this, it was therefore quickly picked up by the MonoGame community.

    I think the HoloLens would therefore benefit tremendously from support for MonoGame. It would make it a lot easier for business users to show their data in 3D, without having to learn HLSL or other DX-related stuff.
    If you guys could make a MonoGame template, I think that would make many business developers happy! Or perhaps a tutorial on how to get it accomplished?

  • I found myself in a similar situation where adapting my own middleware is becoming more attractive. Ive started to look into monogame and I have pushed a simple 2d pong game to the hololens using monogame (albeit no interations). This was either luck or by design as there is a UWP Monogame template available. Since then, Ive been working on how to replicate the Holographic Template using Monogame.

  • Jimbohalo10Jimbohalo10 ✭✭✭
    edited July 2016

    @JVareck77 said:
    I found myself in a similar situation where adapting my own middleware is becoming more attractive. Ive started to look into monogame and I have pushed a simple 2d pong game to the hololens using monogame (albeit no interations). This was either luck or by design as there is a UWP Monogame template available. Since then, Ive been working on how to replicate the Holographic Template using Monogame.

    Great work, for everyone else here is a link to some one else doing similar work on Monogame here

    The GitHub project is Monogame: One framework for creating powerful cross-platform games

    The reason you found the UWP-Monogame template is because you are running Visual Studio 2015 Enterprise as many of us here run Visual Studio 2015 Community Version, so if you wish to donate your the Holographic Template using Monogame.
    for Community version we will all be very grateful. B):)o:)

    UPDATE for VS 2015 Community Users
    Install the NuGet Package Monogame here
    While VS2015 is closed, and restart File -> New -> Project -> Installed Templates -> Visual C# -> Scroll Down Select Monogame as below

  • I'm not a Unity guru, but the Unity docs seem to say you can script mesh creation:
    http://docs.unity3d.com/ScriptReference/Mesh.html
    I think you could read mesh data from a file and build it and modify it just fine. Would that work for your business applications?

Sign In or Register to comment.