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.
Options

Sharing Service server discovery

Hi All,

I got the shared holograms demo from Holographic Academy 240 working. We'd like to show it as a demo, however how it is currently built, you need to rebuild the unity project just to re-set the server address.

Of course we can work around this with static ip addresses on a router that we bring around, but it would be much easier if we could do server discovery on a local network.

Is there any way to do this with how the server is built? Otherwise, might be nice for a future server iteration.

Thanks

Answers

  • Options

    Hi @nturley,

    I have also run the Acedemy 240 code at a few locations, including our first WinHUGR.org user group meeting and I agree it is a pain to rebuild all of the clients just because you are joined to different network. I am also planning on implementing the HoloToolkit version in a number of my own applications.

    Server discovery would be nice, but I was thinking of going the simpler lower tech approach of building an interface into the client to allow the client to have its target Server Address ip adjusted at runtime by the user. I figure it would be an order of magnitude more convenient to enter (perhaps with voice based keywords) the ip on a deployed client than to edit, rebuild and redeploy each time.

    However, just one of the many things I haven't gotten around to yet myself. I would gladly use a server discover alternative if someone got that working before I (or someone else) get around to the configurable client approach.

    Windows Holographic User Group Redmond

    WinHUGR.org - - - - - - - - - - - - - - - - - - @WinHUGR
    WinHUGR YouTube Channel -- live streamed meetings

  • Options
    Nothing to share yet, but tody i started work on porting that sample to Unity's matchmaking service, UNET, which removes the server app entirely, with the goal of making HoloBlocks multiplayer over the internet. Not a zero-cost solution to deploy but more workable across network boundaries.
  • Options

    @HoloSheep definitely a decent idea to put in an interface. Haven't played much with data entry within unity. I'm guessing this would be a bit clunky but definitely usable. It's a shame there is no concept of app settings (that I have found.) Hopefully we will see some configuration options available in the future.

    @DeckTwelve sounds interesting! I don't see why something like this wouldn't work. We're definitely looking at sharing spaces over the web as well.

  • Options

    @nturley said:
    @HoloSheep definitely a decent idea to put in an interface. Haven't played much with data entry within unity. I'm guessing this would be a bit clunky but definitely usable.

    Since the keyboard is indeed kind of a clunky experience, that was why I was thinking of using voice commands and the keyword recognizer.

    It's a shame there is no concept of app settings (that I have found.) Hopefully we will see some configuration options available in the future.

    The UWP api has support for App settings.

    Windows Holographic User Group Redmond

    WinHUGR.org - - - - - - - - - - - - - - - - - - @WinHUGR
    WinHUGR YouTube Channel -- live streamed meetings

  • Options
    AlexDAlexD ✭✭✭
    edited June 2016

    That's the same way we've approached data entry in the past. what we've done is simply add a UIText field that's only visible once you activate it with a voice command. To simplify data entry, we just made use of the Virtual Keyboard feature in the device portal. Of course the IP is saved in AppSettings so you don't have to do it every time you start the app, just when you switch the location.

  • Options

    @AlexD said:
    That's the same way we've approached data entry in the past. what we've done is simply add a UIText field that's only visible once you activate it with a voice command. To simplify data entry, we just made use of the Virtual Keyboard feature in the device portal. Of course the IP is saved in AppSettings so you don't have to do it every time you start the app, just when you switch the location.

    Nice that's a great approach! Can you use the virtual keyboard within a Unity app?

  • Options

    @HoloSheep said:

    The UWP api has support for App settings.

    Ah yeah of course that would be in there. I meant more that I haven't found any way to edit those settings outside of an app (like how an iphone has app settings.)

  • Options
    AlexDAlexD ✭✭✭

    @nturley said:

    @AlexD said:
    That's the same way we've approached data entry in the past. what we've done is simply add a UIText field that's only visible once you activate it with a voice command. To simplify data entry, we just made use of the Virtual Keyboard feature in the device portal. Of course the IP is saved in AppSettings so you don't have to do it every time you start the app, just when you switch the location.

    Nice that's a great approach! Can you use the virtual keyboard within a Unity app?

    No, the virtual input from Device Portal will actually send the input to the HoloLens device and it figures out where to send it from there.

  • Options
    AlexDAlexD ✭✭✭
    edited July 2016

    Took me a while to discover it but there's actually a discovery mechanism built into HoloToolkit.
    Essentially the server (and every client) will open a socket on port 20605 and use that for discovery. You need to broadcast a message on your network on port 20605 and see who responds. The response will have a "SystemRole" (Server, PrimaryClient, SecondaryClient) embedded in the response so you can detect who's who.

    I found this when looking at the ProfilerX application in the HoloToolkit.
    Implementation details in the DiscoveryClientImpl.cpp in the Common classes.

    Haven't gotten to a point where I implemented this in Unity to be readily usable by the app but will start on that soon.

  • Options

    Moving to Discussion category

  • Options

    Did anyone manage to get the "Auto Discover Server" in HoloToolkit working? Right now, when I enabled "Show Detailed Logs", I get "Looking for servers..." being polled every couple of seconds.

    My laptop and PC are on the same network. 10.0.0.21 and 10.0.0.51 . It is not detecting servers. I opened the UDP ports from Firewall from 20600-20610, and verified direct communication with "Connect On Awake" works.

    Any help would be great :)

  • Options

    @mohamedmansour said:
    Did anyone manage to get the "Auto Discover Server" in HoloToolkit working?

    Over on github a version of sharing working over UNET has been included.

    https://github.com/Microsoft/HoloToolkit-Unity/tree/master/Assets/HoloToolkit-Examples/SharingWithUNET

    We've been experimenting and for the most part it works as advertised, there is still a problem we've found where placed holograms are not in the same physical location from one player to the next but we haven't ruled out user error.

Sign In or Register to comment.