Видеоуроки
Interface
Essentials
Advanced
Полезные советы
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров узла
Setting Up Materials
Setting Up Properties
Освещение
Landscape Tool
Sandworm (Experimental)
Использование инструментов редактора для конкретных задач
Extending Editor Functionality
Встроенные объекты
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Objects
Sound Objects
Pathfinding Objects
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
UnigineScript
C++
C#
Унифицированный язык шейдеров UUSL
File Formats
Rebuilding the Engine Tools
GUI
Двойная точность координат
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Art Samples
Tutorials

API Migration

Major Changes

Breaking Changes#

Geodetic Coordinates Order Changes#

We have changed the geodetic coordinates order for GeodeticsPlugin from lon-lat-alt to lat-lon-alt.

Source code (C++)
// before
dvec3 geo_pos = dvec3(lon, lat, alt); 
dvec3 world_pos = geodetics_transformer->geodeticToWorld(geo_pos);

// from now on
dvec3 geo_pos = dvec3(lat, lon, alt); 
dvec3 world_pos = geodetics_transformer->geodeticToWorld(geo_pos);
// or
dvec3 world_pos = geodetics_transformer->geodeticToWorld(dvec3(geo_pos.y, geo_pos.x, geo_pos.z));

Check and update the following methods of the GeodeticsTransformer class:

And a new method has been added:

App Class#

BakeLighting Class#

UNIGINE 2.12 UNIGINE 2.13
getVoxelsPerFrame() Removed. Use getSamplesPerFrame() instead.
setVoxelsPerFrame() Removed. Use setSamplesPerFrame() instead.
bakeEnvironmentProbes() Removed. Use bake() instead.
bakeVoxelProbes() Removed. Use bake() instead.
bake() Set of arguments changed.
bakeAll() Set of arguments changed.
stop() Set of arguments changed.

New Functions

BootConfig Class#

Camera Class#

Compress Class#

UNIGINE 2.12 UNIGINE 2.13
zlibCompress() Set of arguments changed.
zlibDecompress() Set of arguments changed.
zlibSize() Set of arguments changed.

New Functions

Console Class#

The extended Console API makes the appearance and behavior of the application's console and messages printed on the screen fully customizable. It becomes easier to control text output and formatting. Moreover, you can now choose whether to display your messages, errors, or warnings on the screen, print them to the console, or perform both operations at the same time along with filtering written messages by type. All of these improvements enable you to monitor events in the application logic as you see fit.

New Functions

ControlsJoystick Class#

Curve2d Class#

New Functions

CustomApp Class#

Dir Class#

Ffp Class#

New Functions

FileSystem Class#

Game Class#

Image Class#

UNIGINE 2.12 UNIGINE 2.13
FORMAT_ZLC1 Removed.
FORMAT_ZLC2 Removed.
FORMAT_LZ4 Removed.
set() Set of arguments changed.
isBCCompressedFormat() Removed.
isZCompressedFormat() Removed. Use getFileCompression() instead.
save() The resulting format has changed. For saving the DDS image to the stream, use saveDDS() instead.
load() The resulting format has changed. For loading the DDS image from the stream, use loadDDS() instead.
swap() Renamed as swapChannels().

New Functions

Json Class#

Light Class#

LightProj Class#

LightOmni Class#

New Functions

LightEnvironmentProbe Class#

UNIGINE 2.12 UNIGINE 2.13
setAmbientColor() Removed.
getAmbientColor() Removed.
setAmbientIntensity() Removed.
getAmbientIntensity() Removed.
setReflectionColor() Removed.
getReflectionColor() Removed.
setReflectionIntensity() Removed.
getReflectionIntensity() Removed.

New Functions

LightVoxelProbe Class#

UNIGINE 2.12 UNIGINE 2.13
setBakeCaustic() Removed.
isBakeCaustic() Removed.
setBakeNumRays() Removed. Use setBakeQuality() instead.
getBakeNumRays() Removed. Use getBakeQuality() instead.
setBakeZNear() Removed.
getBakeZNear() Removed.
setBakeFullResolutionBounces() Removed.
isBakeFullResolutionBounces() Removed.
setBakeFixLightBleedingIntensity() Removed.
getBakeFixLightBleedingIntensity() Removed.
setBakeFixLightBleedingRadius() Removed.
getBakeFixLightBleedingRadius() Removed.
setAmbientIntensity() Removed.
getAmbientIntensity() Removed.
setAmbientColor() Removed.
getAmbientColor() Removed.
setBakeSamplingResolution() Removed. Use setBakeQuality() instead.
getBakeSamplingResolution() Removed. Use getBakeQuality() instead.
setBakeFixLightBleedingBounce() Removed.
isBakeFixLightBleedingBounce() Removed.
setReflectionColor() Removed.
getReflectionColor() Removed.
setReflectionIntensity() Removed.
getReflectionIntensity() Removed.
setBakeVisibilityEnvironmentProbe() Removed.
isBakeVisibilityEnvironmentProbe() Removed.

New Functions

Log Class#

LightWorld Class#

Object Class#

UNIGINE 2.12 UNIGINE 2.13
setMessageShadersReload() Removed.
getMessageShadersReload() Removed.

Material Class#

UNIGINE 2.12 UNIGINE 2.14
reloadShader() Removed.
reloadShaders() Removed.
updateShadersHash() Removed.

New Functions

Materials Class#

UNIGINE 2.12 UNIGINE 2.13
reloadShaders() Removed.

Mesh Class#

ObjectMeshDynamic Class#

Object Class#

UNIGINE 2.12 UNIGINE 2.13
setBakeToVoxelProbe() Removed. Use setBakeToGI() instead.
getBakeToVoxelProbe() Removed. Use getBakeToGI() instead.

New Functions

ObjectLandscapeTerrain Class#

New Functions

ObjectMeshSkinned Class#

New Functions

ObjectMeshStatic Class#

ObjectParticles Class#

Player Class#

Render Class#

UNIGINE 2.12 UNIGINE 2.13
setCloudsShadowShafts() Removed.
isCloudsShadowShafts() Removed.
setCloudsSimplifiedDepthTest() Removed.
isCloudsSimplifiedDepthTest() Removed.
setColorBrightness() Renamed as setColorCorrectionBrightness().
getColorBrightness() Renamed as getColorCorrectionBrightness().
setColorContrast() Renamed as setColorCorrectionContrast().
getColorContrast() Renamed as getColorCorrectionContrast().
setColorGamma() Renamed as setColorCorrectionGamma().
getColorGamma() Renamed as getColorCorrectionGamma().
setColorSaturation() Renamed as setColorCorrectionSaturation().
getColorSaturation() Renamed as getColorCorrectionSaturation().
setColorTextureImage() Renamed as setColorCorrectionLUTImage().
getColorTextureImage() Renamed as getColorCorrectionLUTImage().
setColorTextureName() Renamed as setColorCorrectionLUTPath().
getColorTextureName() Renamed as getColorCorrectionLUTPath().
setColorWhite() Renamed as setColorCorrectionWhite().
getColorWhite() Renamed as getColorCorrectionWhite().
getEnvironmentHazePhysicalSunColorCorrectionSaturation() Renamed as getEnvironmentHazePhysicalSunColorSaturation().
getEnvironmentHazePhysicalAmbientColorCorrectionSaturation() Renamed as getEnvironmentHazePhysicalAmbientColorSaturation().
setStereoReprojection() Removed.
getStereoReprojection() Removed.
setStereoReprojectionFixBlur() Removed.
isStereoReprojectionFixBlur() Removed.
setStereoReprojectionBuffersFixBlur() Removed.
isStereoReprojectionBuffersFixBlur() Removed.
setStereoReprojectionThreshold() Removed.
getStereoReprojectionThreshold() Removed.
setSSRImportanceSampling() Removed.
isSSRImportanceSampling() Removed.
setSSRRoughnessQuality() Removed.
getSSRRoughnessQuality() Removed.
setSSGINormalThreshold() Removed.
getSSGINormalThreshold() Removed.
setSSGIRayTracing() Removed.
isSSGIRayTracing() Removed.
setSSGIRayTracingDenoise() Removed. Use setSSGIDenoise() instead.
isSSGIRayTracingDenoise() Removed. Use isSSGIDenoise() instead.
setSSGIRayTracingThreshold() Removed. Use setSSGIThreshold() instead.
getSSGIRayTracingThreshold() Removed. Use getSSGIThreshold() instead.
setSSGIResolution() Removed.
getSSGIResolution() Removed.
setSSGIQuality() Removed.
getSSGIQuality() Removed.
setStereo() Removed. Use setViewportMode() instead.
getStereo() Removed. Use getViewportMode() instead.
setPanorama() Removed. Use setViewportMode() instead.
getPanorama() Removed. Use getViewportMode() instead.

New Functions

Stream Class#

Texture Class#

TextureCurve Class#

Viewport Class#

UNIGINE 2.12 UNIGINE 2.13
MODE_DEFAULT Removed. Use Render::VIEWPORT_MODE_DEFAULT instead.
MODE_PANORAMA_180_CURVED Removed. Use Render::VIEWPORT_MODE_PANORAMA_CURVED_180 instead.
MODE_PANORAMA_360_CURVED Removed. Use Render::VIEWPORT_MODE_PANORAMA_CURVED_360 instead.
MODE_PANORAMA_FISHEYE Removed. Use Render::MODE_PANORAMA_FISHEYE_* instead.
MODE_PANORAMA_360_FISHEYE Removed. Use Render::MODE_PANORAMA_FISHEYE_* instead.
MODE_PANORAMA_180_LINEAR Removed. Use Render::VIEWPORT_MODE_PANORAMA_LINEAR_360 instead.
MODE_PANORAMA_360_LINEAR Removed. Use Render::VIEWPORT_MODE_PANORAMA_LINEAR_360 instead.
MODE_PANORAMA_360_LINEAR Removed. Use Render::VIEWPORT_MODE_STEREO_ANAGLYPH instead.
MODE_PANORAMA_360_LINEAR Removed. Use Render::VIEWPORT_MODE_STEREO_INTERLACED instead.
MODE_PANORAMA_360_LINEAR Removed. Use Render::VIEWPORT_MODE_STEREO_HORIZONTAL instead.
MODE_PANORAMA_360_LINEAR Removed. Use Render::VIEWPORT_MODE_STEREO_VERTICAL instead.
MODE_PANORAMA_360_LINEAR Removed. Use Render::VIEWPORT_MODE_STEREO_SEPARATE instead.
MODE_PANORAMA_360_LINEAR Removed. Use Render::VIEWPORT_MODE_STEREO_REPLICATE instead.
isPanorama180() Removed. Use isPanorama() instead.
isPanorama360() Removed. Use isPanorama() instead.

New Functions

World Class#

Xml Class#

Syncker Plugin#

  • The Synchronous mode was removed with a part of its functionality taken by the Asynchronous one.
  • Improved support for NVIDIA Quadro G-Sync. The Syncker now uses NVIDIA API to set synchronization groups and barriers. When running in NVIDIA mode (-sync_swap nvidia) detailed information on the current synchronization state is printed to the console. Works only for NVIDIA Quadro GPUs.
  • Changed the way the Master's getTime() and Slave's getMasterTime() work. Now there is a universal getTime() method of the base Syncker class now returning the time of the last buffer swap (beginning of the current frame, not some current moment of time on the Master). A new getIFps() method was also added enabling you to get the last frame time. Differences between Syncker::getTime() / Syncker::getIFps() and Game::getTime() / Game::getIFps() are as follows:
    • Syncker returns double values instead of floats.
    • Syncker::getIFps() implements a more accurate frame time calculation method (right after swapping buffers).
    • getTime() returns the current Master's frame time (even when called from a Slave).

Syncker Class#

UNIGINE 2.12 UNIGINE 2.13
isAsynchronous() Removed.

New Functions

Syncker::Master Class#

UNIGINE 2.12 UNIGINE 2.13
getTime() Removed. Use Syncker::getTime() instead.
setSlavePlayer() Return value changed.
setSlavePlayer() Return value changed.

New Functions

Syncker::Slave Class#

UNIGINE 2.12 UNIGINE 2.13
getMasterTime() Removed. Use Syncker::getTime() instead.

Syncker::Manager Class#

UNIGINE 2.12 UNIGINE 2.13
getArgIsAsyncMode() Removed.
initMasterBroadcast() Set of arguments changed.
initMasterMulticast() Set of arguments changed.
initSlaveBroadcast() Set of arguments changed.
initSlaveBroadcast() Set of arguments changed.
initSlaveMulticast() Set of arguments changed.
initSlaveMulticast() Set of arguments changed.
initSlaveUnicast() Set of arguments changed.
initSlaveUnicast() Set of arguments changed.

New Functions

IG Changes#

  • Now all IG components should be inherited from the ComponentBaseInterface class just like all other C++ components.

IGConfig Class#

The IGConfig class now enables you to get data of various types (from int, float, and string to entities, views, etc.) from the configuration, make modifications and save them to a file.

UNIGINE 2.12 UNIGINE 2.13
isExist() Removed. Use isVariableExist() instead.

New Functions

Last update: 24.11.2020