Upgrading from UNIGINE 2.17 to UNIGINE 2.18
This article contains a brief introduction of the key changes in this release.
Events to Replace Callbacks#
We have improved the core mechanism of tracking various events everywhere across the Engine. The new Engine Event System has replaced callbacks making the task of tracking events more reliable and flexible. Switching to the Event System requires manual migration of your code in every place, where you've used callbacks (many classes are affected). However, it shouldn't take too long, as it mainly involves locating all instances of "addCallback" in your code and replacing them with the new approach according to the instructions given in the API Migration Guide.
For more details on the Event System please refer to the Event Handling article.
VR Moved to Engine Core#
VR support has been moved from plugins into the core of the Engine - making its use much more convenient (unified API, easier initialization, less files in the project).
VR templates have been updated to align with the new API and automatically upload VR controller models from OpenVR. Please, use the updated VR templates for your projects.
- VR plugins (OpenVR, Varjo, Oculus) that implement similar functionality are considered deprecated and will be removed in the next SDK release.
- Built-in VR support for the OpenGL API won't be available since 2.18.1, so if needed, you'll have to use the deprecated VR plugins.
Upgrading your VR projects requires manual migration of your code, In case you've used the VR Template (C++ or C#) as the basis, you'll have to replace it with the new one.
For your convenience we have added detailed instructions on upgrading your VR projects to 2.18.
New Animation System (Experimental)#
We continue development of the new Animation System - a solid foundation for the new versatile Sequencer tool to replace the old Tracker system. Although the Sequencer is in the active development phase, you can check out the progress as experimental functionality, which currently is a code-based animation platform with API for all supported languages (C++, C#, and UnigineScript) which can be already used via code in your application logic.
A set of Animation samples (<SDK_folder>/source/samples/api/animation) has been added to the SDK to demonstrate various aspects of use.
For more details on the Animation System please refer to the Animations article.
A set of new classes has been added, so check out Animation System API Reference for more information on the new way of managing animations via code.
See the following articles for detailed information about deleted, deprecated, and new functions, variables, parameters, etc. that will help you to keep your project up to date.