Unreal Engine 4: First Build
by PhoenixGames on May.28, 2016, under Software and Games, Software Engines
After many years using Torque (in various forms) as my primary games engine, I have decided to evaluate some other options. The main two that I intend to try are Unreal Engine 4, and Unity. I may also try Cryengine.
The main issue that I have with Unity is it’s lack of source access, and it’s use of C# instead of C++. I feel that, as a programmer, I would be more comfortable moving from Torque to Unreal (since it uses C++, and has source access) than Unity.
I had some issues with downloading UE4 from the Epic games launcher, but I was able to download and build the source from github. I was using Visual Studio 2015, and I had a few minor issues.
The first issue was that the build required ATL, but atl isn’t included in the Express editions of visual studio. I was able to fix this by making changes to: “\UnrealEngine-release\Engine\Plugins\Developer\VisualStudioSourceCodeAccess\Source\VisualStudioSourceCodeAccess\VisualStudioSourceCodeAccess.Build.cs” .
I commented out:
if (WindowsPlatform.bHasVisualStudioDTE)
{
// This module requires atlbase.h to be included before Windows headers, so we can make use of shared PCHs. This
// module will always have its own private PCH generated, if necessary.
PCHUsage = PCHUsageMode.NoSharedPCHs;
Definitions.Add(“VSACCESSOR_HAS_DTE=1”);
}
else
{
Definitions.Add(“VSACCESSOR_HAS_DTE=0”);
}
And replaced it with one line:
Definitions.Add(“VSACCESSOR_HAS_DTE=0”);
Everything else seemed to compile fine, and I was able to run the game in the editor. I am still having some issues packing the game and creating the .exe however.
So far I think Unreal is a slick and very powerful engine, but I am concerned about the learning curve. I have given myself about a month to get reasonably competent with it, I can’t really afford to spend any more time on it than that. If I can’t get comfortable with it by then, I will probably have to stick with T3D for the time being.
I will probably try to create a simple demo project in the next month, as a learning experience. I also want to experiment with porting my spherical terrain code over, since my virtual world project will need this code, regardless of what engine I end up using.