Writing Cross Platform Code

So I’m prototyping out a project at the moment and built some pretty impressive systems in blueprint. Its all a bit of a mess and I want to start cleaning up and consolidating. I’m a C++ programmer at heart, so my first reaction is to start porting my systems across to C++. That’s how I prefer to work and then I just use blueprint as a game play logic layer on top of my C++ systems. However I haven’t published a game yet with UE4 so it dawned on me that perhaps C++ might introduce cross-platform issues I’m unaware of. As far as I understand, blueprint is entirely cross platform, so my game should technically publish and run on just about everything that UE4 supports since it is all blueprint right now. My question is, if I start porting out parts of my blueprints over to C++, am I going to create cross platform issues later on. For example, when it comes time to compile and publish for Mac or Linux, am I going to run into platform specific issues and need to start putting #ifdef all over the place? Just wondering what experience other’s have had in this regard… do projects generally compile without issues, or is it just minor stuff that is easy to work around or do people run into major problems that need to be considered from the beginning. I’m wondering how much thought I need to put into it now before I go writing thousands of C++ lines. I don’t want to find out later on that none of it compiles for some platform as I didn’t take something or other into account for example.

Unless you’re doing some exotic things, everything should “just work” on multiple platforms. But keep in mind you’ll need to have a mac to build the mac version of your game.

Yep, understand about needing the mac.