Hi,
Does anybody know if it’s possible to access/hook the native menus on Mac/Windows? I know that UIKit can be used on iOS, and trying to figure out a way to do native UI stuff on Mac/Windows while having Unity run as normal in the game window.
Thanks,
Brett
its not possible.
On iOS it works due to how views etc work and cause you have the basic program setup.
But on Windows and OSX to use them you would need the application sources so you can hook up a full event handling etc.
Also with 3D context, native OS UI is discussable from its use because you can’t put it on top of 3D contexts anyway without fearing trouble or rendering problems, you could only put them next to the 3D view.
if putting next to it in an own window is your target, then its possible through a plugin on windows and osx too.
Hi Dreamora,
Yeah, that’s what I thought. Mostly I want to just hook the menus and possibly replace them with my own. It probably is possible from a plugin but would be nasty hack I think. Oh well, maybe Unity version 9.0 will have it, haha…
Cheers,
Brett
That kind of usage will potentialy always require the source license as you want to embedd unity as rendering into another applicatin then and you want to hook it into your apps event handling, not hack into the rendering engines one etc …
question is what you want to do so it would be of any importance at all
Same as iPhone. It would be nice if I could create some native dialogs that could be used for advanced configuration rather than always fighting the Unity UI, stuff like that. Places where I want a native look and feel, not a game one.
There is no “same as iOS” as the stuff that works there works there because of how iOS works.
Desktop OS don’t work in such a limited sandbox world with so little screenspace and UI at a time.
If you don’t want to create a game / interactive 3D application but an application that happens to have a 3D canvas, I would recommend to use a render engine in your application, not a fullscale game engine that can not be embedded or used as “rendering component” and which does not exist nor offer any library usage for such a purpose and likely won’t for quite some time as there is no way to talk into the engine aside of SendMessage (not even real unmanaged plugins can impact the engine through any other way)
Look at OGRE or Irrlicht for such a usage, thats at least what I would recommend
… or create a GUI skin that -looks- like the OS’s window system.