Before 3.6.2: To compile the code provided, you need to have Microsoft Visual C++ 2010 installed.
Starting with 3.6.2: To compile the code provided, you need to have Microsoft Visual C++ 2012 installed.
Starting with 3.8.4: Refer to Visual Studio Supported Versions_dup.
In addition, depending on the targets you want to support as well as the kinds of customizations required, you might need to install the SDKs listed below.
Chapters:
Children:
Related Pages:
In this section, all SDKs that are not included in the code package are listed, with some comments.
From this, you can create the list of SDKs required for a project, given what parts you want to use pre-compiled binaries for, and which parts you want to rebuild.
The code shipped in the CRYENGINE packages makes certain assumptions about the location of 3rd party SDKs relative to the Code folder.
It's easiest to put the SDKs you require in the same location, so you don't have to reconfigure the project include and library paths.
The engine consumes SDKs from the Code\SDKs
folder.
The following SDKs are required for the PC platform:
Dependency | Version | Path | Notes |
---|---|---|---|
Cinemizer | Before 3.8.1: 3.0.0 |
| Before 3.8.1: Optional, controlled by EXCLUDE_CINEMIZER_SDK |
DirectX SDK | Before 3.7.0: June 2010 |
| Before 3.7.0: Required. |
Intel GPA | Before 3.6.1: 2012 R15 |
| Optional, controlled by CRY_PROFILE_MARKERS_USE_GPA |
Oculus | Before 3.8.1: 0.1.5 |
| Optional, controlled by EXCLUDE_OCULUS_SDK |
OpenVR | Starting with 5.0.0: 0.9.17 (included by default) |
| Optional, presence automatically detected by WAF. |
OSVR | Starting with5.0.0: 0.6 |
| Optional, presence automatically detected by WAF. |
SteamWorks | Before 5.0.0: 1.28 |
| Optional, controlled by USE_STEAM |
WWISE | Before 3.6.8: 2013.2.7 | Before 5.2.0: Oculus support, starting with 5.0.0: | In 3.6.X, for FMOD packages: Not used |
FMOD Studio | Starting with 5.0.0: 1.08.00 |
| Optional, presence automatically detected by WAF. |
AMD GPU Services | Starting with 3.8.1: 2.1 |
| Download Link |
NVAPI | Starting with 3.8.1: r343 |
|
The following SDKs are required for building binaries for a specific platforms:
Dependency | Version | Path | Notes |
---|---|---|---|
X360 XDK |
| Only required when targeting XBox 360. | |
PS3 Cell SDK | 420.001 |
| Only required when targeting PS3. |
XOne XDK | Please check Xbox One Supported Versions |
| Only required when targeting XBox One. |
PS4 SDK | Please check PS4 SDK versions |
| Only required when targeting PS4. |
PS4 Pad Support | Please check PS4 SDK versions |
| Starting with 3.6.4: Only required when targeting Win64 |
Android SDK/NDK | Android SDK API-19 |
| Starting with 3.7.0: |
When developing for one of the above platforms, please update the firmware as well as development environment to match the SDK version.
The Sandbox consumes SDKs from the Code\SDKs
folder. Before 3.8.0, the Code\Sandbox\SDKs
folder is also used.
Rebuilding of the Sandbox is not required as long as the interfaces declared in CryCommon are not changed. In that case, you can use the pre-built binaries from the CRYENGINE SDK package.
If this doesn't happen during development, you wont need to rebuild the Sandbox, and the SDKs listed here needn't be obtained.
Dependency | Version | Path | Notes |
---|---|---|---|
FbxSdk | Before 3.6.2: 2013.3 | Before 3.6.2 | Required. |
Xtreme ToolkitPro | 13.4.0 |
| Required. Note on building XT Toolkit. |
The Sandbox plugins consume SDKs from the Code\SDKs
folder. Before 3.8.0, the Code\Sandbox\SDKs
folder is also used.
Rebuilding of the Sandbox plugins is not required unless you wish to customize them. Instead, you can use the pre-built binaries from the CRYENGINE SDK package.
If there is no need for customization, you wont need to rebuild the Sandbox plugins, and the SDKs listed here needn't be obtained.
Dependency | Version | Path | Notes |
---|---|---|---|
Perforce API | Starting with 3.6.2: 2014.1 |
| Required only for PerforcePlugin. |
FbxSdk | Before 3.6.2: 2012.1 | Before 3.6.2: | Required only for FBXPlugin. |
The resource compiler consumes SDKs from the Code\SDKs
folder. Before 3.7.1, the Code\Tools\SDKs
folder is also used.
The resource compiler is built from the Code\Solutions\Pipeline.sln
solution file
Rebuilding of the Resource Compiler is not required unless you wish to customize it. Instead, you can use the pre-built binaries from the CRYENGINE SDK package.
If there is no need for customization, you wont need to rebuild the Resource Compiler, and the SDKs listed here needn't be obtained.
Dependency | Version | Path | Notes |
---|---|---|---|
FbxSdk | Before 3.6.2: 2013.3 | Before 3.6.2: | Required. |
CUDA | Before 3.6.2: 4.2 |
| Before 3.6.2: Required. |
PowerVR Tex Lib | Starting with 3.7.0: 3.3 | Before 3.6.2: | Optional: Used when |
Alembic | Starting with 3.8.4: 1.5.8 | Starting with 3.8.4: | Required. |
hdf5 | Starting with 3.8.4: 1.8.15-patch1 | Starting with 3.8.4: | Required for Alembic. |
ilmbase | Starting with 3.8.4: 2.2.0 | Starting with 3.8.4: | Required for Alembic. |
szip | Starting with 3.8.4: 2.1 | Starting with 3.8.4: | Required for hdf5. |
The asset exporter plugins are used to export assets for CRYENGINE from 3rd party applications such as Autodesk 3ds Max, Autodesk Maya, Autodesk MotionBuilder and Adobe Photoshop.
Rebuilding of the 3rd party plugins is not required unless you wish to customize them. Instead, you can use the pre-built binaries from the CRYENGINE SDK package.
If there is no need for customization, you wont need to rebuild the 3rd party plugins, and the SDKs listed here needn't be obtained.
Dependency | Version | Path | Notes |
---|---|---|---|
3ds Max SDK | SDK 12 to 16 are supported (3ds Max 2010 to 2014) |
| Only required for building 3ds Max plugins. |
Maya SDK | 2009 to 2014 are supported. |
| Only required for building Maya plugins. |
MotionBuilder | 75, 2012, 2014 are supported. |
| Only required for building MotionBuilder plugins. |
Photoshop SDK | CS4 Windows. |
| Only required for building Photoshop plugins (aka CryTIFF plugin). |
STLport is an open source implementation of the Standard Template Library (STL) different from the default implementation shipping with Visual Studio.
Usage of STLport is no longer recommended since the improvements in the Visual Studio shipped STLs.
The STLport source code is included in the CRYENGINE SDK. However, Visual Studio needs to be set up to make use of STLport instead of the default STL implementation using the following steps:
The header files and static libraries are located in:
Code\SDKs\Scaleform\Include
Code\SDKs\Scaleform\Lib
Each Lib directory contains static libraries for Release, Profile and Debug configurations.
For certain CRYENGINE licensing packages that include Scaleform, Crytek may provide headers and library files directly.
Scaleform Video libraries need to be obtained directly from Autodesk.
To toggle Scaleform Video on/off can be done by changing the following define statement inside the file:Code\CryEngine\CrySystem\Scaleform\ConfigScaleform.h:
#define ENABLE_GFX_VIDEO
The following table describes the various solution files supplied with the CRYENGINE SDK.
Starting with version 3.7.0, the WAF build system is used to generate solutions.
Projects and solutions are no longer shipped, you can now regenerate appropriate project files using WAF.
Some stand-alone tools still use solution and project files. In this case the appropriate project and/or solution files will be in the Tool's code folder.
It is currently not possible to build CRYENGINE with a root path containing a space character (e.g. C:\Program Files\CryENGINE would not work).
Solution file | Description |
---|---|
| Engine and Sandbox. |
| Additional Tools. |
| Pipeline Tools (RC, CryTifPlugin etc). |
| Sandbox Plugins. |
When compiling the engine from Visual Studio, you can pick between several configurations.
Each has different implications on compile-time and run-time performance.
Configuration | Compilation Type | Runtime Performance | Use for |
---|---|---|---|
Debug | Dynamic libraries | Slow | Use the Debug configuration as a programmer if you need to debug code and require that no symbol is optimized away. |
Profile | Dynamic libraries | Good | Use the Profile configuration for general development. Compiled code will be optimized ensuring good performance at run-time. |
Release | Static link | Best | Use the Release configuration for releasing to customers. Compiled code will be optimized for best run-time performance. |
Profile Server Only | Dynamic libraries | Good | MSBuild solutions (before 3.8.1): This is the dedicated server version of Profile. |
Release Server Only | Static link | Best | MSBuild solutions (before 3.8.1): The is the dedicated server version of Release. |
For the PS3 and PS4, all configurations will use static linking, regardless of the configuration setting.
Sometimes, as a programmer, you are working on a specific section of the engine code. In that case, you may want to mix Debug and Profile settings using the solution configuration.
Use the 'Profile' configuration for the projects you are not working on, and 'Debug' configuration for the one you are working on. This way, you'll have reasonable run-time performance as well as a good debugging experience.
Versions 3.7.0 to 3.8.1: WAF does not target dedicated folders, and this section does not apply to those builds.
For these versions, this section only applies to MSBuild-based builds.
Dedicated server binaries are stored in a folder bin/XX_dedicated (Before 3.8.4: BinXX_Dedicated
), where XX is the platform on which the server is hosted.
It is possible for clients to connect to a server hosted on a different platform than the client is running on.
Even though some dedicated server binaries have the same name as the client binaries (such as CrySystem.dll), they are not interchangeable. Mixing the use of dedicated and non-dedicated binaries is NOT supported.
There are currently dedicated server configurations for the following platforms:
Platform | Compiled using | Location |
---|---|---|
Windows, x86 | Visual Studio | Before 3.8.4: |
Windows, x64 | Visual Studio | Before 3.8.4: |