Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Unreal Engine #2

Open
zachkinstner opened this issue Jan 30, 2015 · 8 comments
Open

Support for Unreal Engine #2

zachkinstner opened this issue Jan 30, 2015 · 8 comments
Assignees
Milestone

Comments

@zachkinstner
Copy link
Member

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

@zachkinstner zachkinstner self-assigned this Jan 30, 2015
@zachkinstner zachkinstner changed the title Add Support for Unreal Engine Add support for Unreal Engine Jan 30, 2015
@zachkinstner zachkinstner changed the title Add support for Unreal Engine Support for Unreal Engine Feb 2, 2015
@zachkinstner
Copy link
Member Author

Tweet from @SynesthesiaVR:

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

@zachkinstner zachkinstner modified the milestone: Long-Term Feb 26, 2015
@zachkinstner
Copy link
Member Author

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

@zachkinstner
Copy link
Member Author

See the Mono for Unreal Engine announcement:

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

@zachkinstner
Copy link
Member Author

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
Copy link
Member Author

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

@dborgesr
Copy link

dborgesr commented Jul 4, 2017

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

@cianarogers
Copy link

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

@zachkinstner
Copy link
Member Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants