Difficulty of cross-platform development


I am part of a group of three that is thinking about creating a game on UE4. This is the first time any of us has tried UE4, and we’re excited to learn. Funnily enough, each of us uses a different OS; I’m on Ubuntu 16.04, another one of us is on MacOS, and the final person is on Windows 10. Previously, we’ve used Unity to develop cross-platform, but this has meant that I’ve been forced to develop on Windows 10.

I’d like to ask what kind of difficulties, if any, our group should be taking into consideration. Can all three of us work from the same git repo and be able to compile and run? How about just between Mac and Windows (I can work on Windows 10 like I do for Unity if need be)? Would we have a final product that runs on all three platforms?

Thanks in advance,

How’d you make out? I’m in also the same situation.

From what I read on the wiki, and tested myself a little - you can edit, compile, and run your UE4 project in Linux. I think you can do the same in MacOS too…

But to distribute your game you need to cross-compile it on Windows, even for all targets (MacOS/Linux/iOS/Android/Windows/etc). But you can work on the game in Linux, run it for testing, and then just open the project on a Windows machine and cross-compile when you are ready to release.

A new, community-hosted Unreal Engine Wiki - Announcements and Releases - Unreal Engine Forums - installing the editor in linux
A new, community-hosted Unreal Engine Wiki - Announcements and Releases - Unreal Engine Forums - cross-compiling on windows for linux

Edit: Oh and Unreal Editor supports git natively. So you guys could each work in your own local git repo and push/pull changes to each other. (Or have a central repo on github or your own server)

I wouldn’t expect this to be easy. Although the desired goal is to have engine features work across all platforms that’s not always the case, so you might see weird stuff through the course of development on non-windows machines especially.

Obviously everyone has their preference when it comes to OS’s though. The files you submit to source control don’t have to be any different on the machines (HOWEVER be very careful how you set this up. Windows is case insensitive, Linux isn’t. That can seriously mess you up with source control if you aren’t all constantly aware of that).