Original Competitive Engine Analysis

Share

When we were testing the appropriate engine for developing Project BlueStreak, we tasked our engineers to do a competitive engine analysis. Here are the results:

(originally written by BKP’s Engineering Team: October 21, 2014)

Rendering / Graphics

UE4’s use of physically based materials, screen space and environment reflections, lightmass GI, sub surface shading, SSAO and other post effects, gives it a full suite of next gen rendering tech.

Unity 5 is finally going away from baked lighting to the Enlighten GI system, and will also support many of the post effects and material properties required for next gen graphics, however Unity 5 is still in beta and many of these features are unproven.

Edge – Unreal

Particles / Effects

The base particle systems between the two engines are extremely similar. However, Unreal’s support of beam particles which we use heavily for tracers and laser/lightning effects are a major advantage.

Additionally, Unreal supports GPU particle systems that can push hundreds of thousands of particles. Unity’s base particle system is still limited to the CPU, however there is some plugin support for GPU particles.

Edge – Unreal

Cameras

Unity’s ability to have multiple cameras, each with unique render layers, makes it very easy and fast to implement certain features, such as having a unique FOV just for the first-person arms and weapon, while the environment is rendered at a separate FOV.

It also makes it easier to always render the first person arms/weapon on top of the environment to prevent clipping issues. Unreal will likely require engine level work to support this.

Edge – Unity

Networking

Both engines support replicated vars and RPC, but Unreal’s actor replication that we use for  both players and projectiles is solid, and would be expensive to rewrite in Unity.

Additionally, Unreal’s support for in-editor multiplayer testing and multiple viewports is actually a huge advantage in terms of rapid iteration and testing of multiplayer features.

Edge – Unreal

Animation

The animation tools are more or less on par. Both have nice support in the editor for setting up blend trees and blend spaces. Both have nice animation previewing and animation events. Both support retargeting onto new skeletons.

Both support easy import of FBX files. Unity has more support for playing/blending animations from code, as well as setting up additives and layers. Unity also supports an easier workflow for animators who want to have a master animation file with all of a character’s animations in a single fbx.

Unreal has a better IK solution that is easier for animators to setup.

Edge – Tied

Shaders / Materials

Unreal’s visual shader editor is an extremely valuable tool for artists. Unity only supports this via some plugins (ShaderForge is the most popular).

Edge – Unreal

Platforms

Unity supports last gen and current gen consoles (ps3, ps4, x360, xbone, wii u), windows, mac, linux, vita, ios, android, web player, windows phone.

Unreal supports windows, mac, ios, android, ps4 and xbone.

Edge – Unity

comments