This week, the CRYENGINE 5.4 Preview is a major update which couldn’t have been achieved without all of the feedback from the community. There are several major advancements and integrations that we think will make things more accessible and let you achieve even more, more rapidly.
With over 623 improvements, fixes and features this release includes all new Vulkan API support, and although it’s our first step on the road you can expect further support on this soon. Also included is the Entity Component System with unified standard entities across C++ and Schematyc.
For Artists, we have a much requested Substance integration for the reading of material archives and manipulation of texture inputs with in-editor graphing. Additionally, we have expanded the feature set of the terrain system to allow for better blending of terrain and objects within your level.
Iterating on existing technology there is a second iteration of the Asset System which provides improvements and extended usage across tools, with thumbnail generation and all new dependency tracking. To get started, you can find the CRYENGINE 5.4 Preview on Github HERE!
The build is based on a CRYENGINE 5.4 Preview release. So please make sure to remember to backup your projects before trying out the Preview build.
Coming Soon
For more information, see the Important CRYENGINE 5.4 Data and Code Changes article.
If you are upgrading from CRYENGINE 5.3, please read this topic:
Both internally and externally, we have seen the industry embrace the concept of harnessing procedural texture creation to extend the usage of individual assets. For some time now, our internal teams have actively used Substance in their workflow so it is a logical addition to be supported within our Sandbox Editor.
With this integration, we are using Substance Archive files (*.sbsar) to create Substance Graph instances and generate textures out of them. The important thing to keep in mind is that CRYENGINE implementation doesn't directly output graph outputs from a substance graph, but rather pre-configured texture outputs that are using substance graph outputs as inputs.
Keep in mind the archive still needs to be built inside of the Substance Designer where the properties are then exposed to the Sandbox Editor through the archive for the modular end result.
For many years now one of the most heavily requested upgrades to the Engine is that of the 3D Engine and specifically the terrain system. In 5.4, we have added several terrain features that allow for the blending and integration of separate objects into the terrain mesh. This dramatically extends the possibilities of current terrain editing tools, allowing for a much higher level of detail, overhangs, or terrain over the objects allowing for general greater flexibility.
A slight overview on the integration goes as follows:
In the current release, the object meshes get copied at an early stage into the heightmap mesh and become a seamless part of the terrain mesh supporting most of the heightmap properties and 3D terrain materials.
Also, as a side note to the terrain blending, we have enabled auto high-pass in the 5.4 version of the Engine, thus eliminating an additional and cumbersome step to users, and which only pertained to terrain materials.
With 5.4, the engine includes a beta version of the Vulkan renderer to accompany the DX12 implementation from last year. Vulkan being a cross-platform 3D graphics and compute API that enables developers to have high-performance real-time 3D graphics applications with balanced CPU/GPU usage.
For the preview release, Vulkan support in CRYENGINE will be compatible for projects on PC, and aim for additional Android support beyond the 5.4 release.
To enable the Vulkan renderer, you need to enter "r_driver=vk" into your .cryproject file. Keep in mind you must also run the remote shader compiler locally as the renderer is dependent on this step.
A longstanding issue within CRYENGINE is the reliance on game code to expose and manage entities within your scene. CRYENGINE's Component Entity System provides a modular and intuitive way to construct games. The technology works at both the system level and the entity level.
The interaction model within the Sandbox Editor allows Developers to create a blank entity container that houses the advanced game logic wrapped into specific components. Examples of base components are: Mesh, Light, Constraints, or even Character Controllers.
With these components, you can then develop prefabs to be placed by Level Designers throughout your game for standardization and exposure to Schematyc for triggering and event updating.
Upgraded in 5.4 is the new "Extended Detail Bending" toggle - found in the vegetation shader. The history behind this feature comes out of our Robinson: The Journey development and how we needed a more accurate and physically dependent bending solution for our vegetation.
This feature provides Artists with much more control over detail bending on their branches. For example, new bending allows not only small micro movement on leaves, but also whole branches of trees or chunks of grass. So Artists can have one big chunk of grass with phased animations so that movement looks natural. Aiding in the variations, we also apply a world-space mapped noise texture to simulate random breeze for variations to the movement.
We have added the following templates in C#:
Carrying on with our Launcher improvements, we have also expanded our selection of templates to get you up and running with CRYENGINE. Several things have been brought over from our C++ arsenal and that includes the Plugin and 3rd Person templates in a C# flavor.
5.4 will also introduce the new Sandbox Editor Plugin template, this allows for development of new Sandbox Editor functionality when using the yet to be released full Sandbox Editor source code. In future release, we expect to add more templates to CRYENGINE which not only shows the beginning part, but also finalized examples that guide you through each phase of game development.
In 5.3, we shipped a base implementation of the Asset System (that was long overdue in the Sandbox Editor) that allows users to directly interact with their assets and directories. We know that the most optimal solution is to never touch the Windows Explorer in order to achieve the change you want - the Asset System certainly brings us one step closer to this reality. To achieve this, we have now added direct drag-and-drop support for the Asset Browser along with other tools integration (Material Editor, Particle Editor).
To aid in the assistance of changing the paths or managing dependencies, we have introduced an all new Dependency Graph with the 5.4 version of the Engine.
Now within the Asset Browser, we have exposed dynamic CGF switching functionality with the added benefit of having a direct view of a thumbnail to preview and select the asset that best suits your needs in your development. That allows you to step down the list to find the asset best suited for your scenario.
With the 5.4 full release, the Sandbox Editor source code will be provided to users so that they can extend the Sandbox Editor for their own custom tools and applications. In this release, we have taken time to provide the resources and knowledge necessary to work within the Sandbox Editor code and to develop Editor Plugins that are fully integrated with the Sandbox Editor and its most advanced systems.
With the release of the Sandbox Editor source code, we have also planned to expose a new Sandbox Editor programming section within our Technical Documentation. This section would include sample plugins that can be used to access and extend the Sandbox Editor from the base we deliver.
We are looking forward to contributions from the community to strengthen and supplement the tools that are offered with CRYENGINE!
- CRYENGINE Team