I’m brand new to UE4 (a few evenings of messing about), so I apologise if any of the feedback below is down to being a clueless rookie. I’m evaluating UE4 for use in a game project. I’m using the 4.8.3 Linux version on nVidia. Some experiences so far:
First off, huge thanks to Epic for working on the Linux editor and game targeting. WIthout this, UE4 would be a non-starter for me. Overall, most things are working well. The build from git sources went smooth as silk, and it appears to run well in general. I know the Linux client is a lot newer than the Windows one, so nice work so far!
One thing I wish for on Linux is tessellation shader support. My graphics card and driver support GL_EXT_tessellation_shader, so I think this should be possible. The lack of it caused me some initial confusion when experimenting, thinking I was doing something wrong. (Which still might also be true )
I like the idea of GLSL/HLSL independent shaders, as in the built in graphical editor for cross-platform goodness. I’ve noticed the lack of some built in functions available in both GLSL and HLSL, such as smoothstep, or shader flow control constructs, which would be nice to have in time. Things like smoothstep aren’t essential, since I was able to build it myself out of a function node, but I’m not sure about flow control. There’s an “if” node, but I get the sense it’s a “math if”, not a “flow control if”, and I didn’t see any shader loop functions available. Sorry if I’ve just missed them - I’m still learning what’s what. I’m aware of the “custom” node, but if I understand it right, it is risky for cross platform work; it would only suffice where HLSL and GLSL had the very same syntax, and it would be easy to make mistakes.
It would be handy to have a way to dump logs from the integrated compilation process to a file. I use emacs rather than kdevelop for editing, and I’ve figured out how to do command line builds, but this requires at least a subsequent UE4 editor recompilation or restart. It’s not a critical thing, but the integration with exterior tools is a bit rough. I found a 3rd party plugin to improve this, never got it to work.
That’s all for now. Overall the Linux editor seems to be supporting most things I have tried to do with it, with the exception of the tessellation shader and shading language functions mentioned above. Of those, only tessellation is a feature parity difference, so I hope that’ll appear in due course.