The following is not intended to be a complete list of CRYENGINE 5.5 C++ API changes, rather it is an indication of the most important changes that Programmers need to be aware of.
This release officially deprecates
Plugin update support has been refactored in order to provide more opportunities for hooking into various system events. The OnPluginUpdate function has been replaced with several different callbacks and an accompanying enumeration entry:
Function | Enum Entry | Note |
---|---|---|
UpdateBeforeSystem | IEnginePlugin::EUpdateStep::BeforeSystem | |
UpdateBeforePhysics | IEnginePlugin::EUpdateStep::BeforePhysics | Replaces EUpdateType_PrePhysicsUpdate |
MainUpdate | IEnginePlugin::EUpdateStep::MainUpdate | Replaces EUpdateType_Update |
UpdateBeforeFinalizeCamera | IEnginePlugin::EUpdateStep::BeforeFinalizeCamera | |
UpdateBeforeRender | IEnginePlugin::EUpdateStep::BeforeRender | |
UpdateAfterRender | IEnginePlugin::EUpdateStep::AfterRender | |
UpdateAfterRenderSubmit | IEnginePlugin::EUpdateStep::UpdateAfterRenderSubmit |
To enable a specific update, call IEnginePlugin::EnableUpdate with the specific step enumeration entry.
The Game Framework, also known as CryAction, is currently being removed - with vital parts moving into other parts of the Engine.
The Game Framework was previously responsible for starting the Engine:
Previous Initialization Flow
New Initialization Flow
This results in possible issues with existing code where the game framework was presumed to exist at a certain point. In this case, correct your code by moving the use of IGameFramework to the ESYSTEM_EVENT_GAME_POST_INIT system event.
The Game Framework was previously responsible for updating the Engine. This has now been changed to move the management of each frame to CrySystem. This change should not impact on existing code.