Hover-UI-Kit icon indicating copy to clipboard operation
Hover-UI-Kit copied to clipboard

Support for Unreal Engine

Open zachkinstner opened this issue 10 years ago • 8 comments

This will require investigation and some experience working with Unreal Engine. See this forum discussion where developers are expressing interest for Unreal support.

zachkinstner avatar Jan 30 '15 19:01 zachkinstner

Tweet from @SynesthesiaVR:

@zachkinstner Loving the menu system. Would you be looking to add support for it in @UnrealEngine also?

zachkinstner avatar Feb 15 '15 19:02 zachkinstner

I may make some progress towards this goal during my changes in #18 (refactoring for Hoverboard).

zachkinstner avatar Mar 13 '15 19:03 zachkinstner

See the Mono for Unreal Engine announcement:

  • Create game projects purely in C#
  • Complete support for the .NET 4.5/Mobile Profile API

zachkinstner avatar Mar 13 '15 19:03 zachkinstner

Actors in UE4 are a bit different than GameObjects in Unity. In Unity, GameObject is C# class which you cannot directly extend. In UE4, Actor is a C++ class which you can extend and customize using inheritance.

in UE4 an Actor actually contains a hierarchy of components attached to one another. You can see this in the example above, where the Light and Particle are attached to the Mesh.

Similarly in UE4, Actors have a Root Component, which can be any subclass of Scene Component. A Scene Component gives the Actor a location, rotation, and scale in the world which is applied hierarchically to all components underneath it. Many of the components that you will use are subclassed from Scene Component, because it is really useful to have a position!

nested hierarchies can be created by attaching Scene Components to one another, since they have a transform - similar to parenting transforms in Unity. Actor Components (the base-class for all components) can only be attached directly to the Actor itself.

zachkinstner avatar Mar 13 '15 19:03 zachkinstner

After further research this weekend, I'm getting the sense that "Mono for Unreal" is something you choose to do on a project-specific basis. For Hovercast to be useful for developers on standard Unreal projects, it would need to be something that you can drop-in easily, without a bunch of extra infrastructure and/or licensing.

So, it seems that a "port" to Unreal Engine will require a complete re-write in C++. I'm capable of doing this, but it would be time-consuming, and two codebases makes project maintenance much more difficult. Maybe the C++ code would become the "core", which could then be wrapped via C# for Unity.

I'd be happy to hear about alternatives! Please let me know...

zachkinstner avatar Mar 16 '15 13:03 zachkinstner

Just wanted to chime in and say, Unreal support would be awesome

dborgesr avatar Jul 04 '17 07:07 dborgesr

Hi, are you still working on Unreal support? Would love to use this in our senior project

cianarogers avatar Feb 20 '19 22:02 cianarogers

Hi @cianarogers, thanks for your interest! Unfortunately, there's no Unreal port for Hover UI Kit, and I don't currently have plans for it in the foreseeable future. Sorry!

I'm currently focused on building my VR music-making app, called EXA: The Infinite Instrument, which uses Hover UI Kit extensively.

zachkinstner avatar Feb 21 '19 17:02 zachkinstner