TL;DR: For a prospective project, I would have to write most of an Android app in Java or Kotlin, including game logic, but not UI. Is this officially supported?
I’m considering using UE for a future Android project. It would be significantly data-driven, so I’d need to do resource management in Java/Kotlin, back-end api socket management, and necessary dependencies on java bytecode-based libraries. A lot of the business logic/game logic would have to be able to be written in Kotlin for UE4 to be a viable option. Is there an officially supported method for building such an app for Android? The following is just discussion:
There are a number of ways I could imagine that interop happening. I’m expecting something like, that Java (ART) code would listen on an event bus for events I would raise with blueprints. I’d expect hooks for resource management on startup and shutdown, plus maybe Android Activity lifecycle events. I would expect threading to be entirely decoupled.
Alternatively, I suppose I could somehow try to manage the UE lifecycle from an Android app, essentially embedding the engine. It seems like that must necessarily be problematic. I don’t know much about UE’s requirements, and I’d much rather have UE do what it does however its developers designed it.