[FEATURE REQUEST] Fileserve like Havok Vision engine for rapid prototyping on mobile

For anyone who don’t know what Fileserve feature of Havok Vision engine is:

  1. You deploy a dummy client to your mobile device (ios or android), then turn on “FileServe” on your editor (on PC)

  2. Launch your dummy client on device, it’ll pull level content straight from your editor via network (internal wifi or internet), and cache them, and you can test-play your level on device

  3. “FileServe” will keep track of all content changes on your pc, and make sure device will get get updated content when request

So unless you updated core engine code, you only need to deploy a dummy client to your device once, and get rid of whole “build-package-deploy” process, and always fetching up-to-date content on your pc via wifi

It’s a killer feature for mobile development. I’m surprise that not many public accessible game engines support this kind of functionality (many developers do implemented all kind of asset hot-reload in their own game titles ). To my knowledge, Godot engine (MIT licensed) might be the only alternative who has similar feature.

Well, watching this week’s twitch broadcast, it seems it’s already in the road map! (around 26:30, josh adams talking about streaming content to mobile device)

We already have something very similar in the engine, but it’s not polished enough to have on by default. We call the current system “Cook On The Fly” (COTF)- basically, the cooker runs in a mode where it’s a file server as well as the cooker. So, if you run the game with “-filehostip=xx.xx.xx.xx”, the game will connect to the PC or Mac running the COTF server, which will then listen for file requests from the game, and cook files as needed.

This works fine (and we use it constantly internally) if you manually run the cooker on the command line, or if you use Unreal Frontend or the Game Launcher (which is set as experimental in the editor). However, we ran into issues with using it with the One Click Deploy method that we expect people to use. Issues involved multiple cookers running at once, and other things like that, so to be safe/conservative, we decided to make it always precook the data.

Another problem with what we have now is that if content changes, you need to restart the cooker, which slows down the process.

Our new method is what we call “Cook On The Side”, where the editor itself is the cooker/fileserver, and the game just talks to the editor that launched the game. This can track outdated files much better, and will never have the “launched multiple cookers if you click One Click Deploy too fast”, etc. This is in the editor now, but we want to do some more edge-case testing before making this the default.

Hope this helps explain where we are and where we are going!

Hi Josh,

Thanks for the info. ( somehow I missed your reply)

Is it already possible to enable “Cook On The Side” in 4.3 version? And when publishing to mobile device, how to specific which ip (cooker/fileserver) to connect to?