This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
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
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

API Migration

Major Changes#

Breaking Changes#

Joystick and Gamepad Controls Changes#

Interaction is now implemented using SDL library. Joysticks and gamepads now work on Windows and Linux and support hot-plugging. So, you can connect your joystick or gamepad before or after creating an instance of the corresponding class.

You can now create multiple ControlsJoystick and ControlsGamepad having the same numbers. For both of these devices you can access device type (wheel, throttle, etc.) and model.

The ControlsXPad360 class has transformed into ControlsGamepad class, which is now responsible for all gamepads, so the ControlsSixAxis class has been removed.

The following updates were made to the ControlsGamepad class:

  • Added new device types (wheel, throttle, etc.). See the DEVICE_TYPE_* enum of the Input class and DeviceType.
  • Added device model types (XBox 360, XBox One, PS3, etc.). See the MODEL_TYPE_* enum and ModelType.
  • Some devices support connection of multiple players (e.g., XBox 360 supports up to four players connected through XBox 360 gamepads). Now you can get this index via PlayerIndex.
  • Methods setLeftMotor() and setRightMotor() were removed. Vibration for low-frequency and high-frequency motors is now managed via the new setVibration() method enabling you to control vibration duration as well.
  • The getName() now returns the user-friendly name of the gamepad, not the name of its type ("GamePad", "Wheel" etc.)

See the details for other affected classes:

BootConfig Class#

UNIGINE 2.15.1 UNIGINE 2.16
setScreenMessagePluginsInit( const char * ) Removed.
getScreenMessagePluginsInit( ) Removed.

New Functions

Controls Class#

UNIGINE 2.15.1 UNIGINE 2.16
CONTROLS_SIX_AXIS Removed. Use CONTROLS_GAMEPAD instead.
CONTROLS_X_PAD360 Removed. Use CONTROLS_GAMEPAD instead.

New Functions

ControlsApp Class#

UNIGINE 2.15.1 UNIGINE 2.16
setStateButton( int, int ) Renamed as setStateMouseButton( int, Input::MOUSE_BUTTON ).
getStateButton( int ) Renamed as getStateMouseButton( int ).
isStateButton( int ) Renamed as isStateMouseButton( Input::MOUSE_BUTTON ).

New Functions

ControlsJoystick Class#

The following changes were made for this release:

  • Joysticks now support hot-plugging. So, you can connect your joystick before or after create an instance of this class.
  • Added new device types (wheel, throttle, etc.). See the DEVICE_TYPE_* enum of the Input class and the DeviceType property.
  • Some devices support connection of multiple players (e.g., XBox 360 supports up to four players connected through XBox 360 gamepads). Now you can get this index via the PlayerIndex property.
  • Added an initial value for joystick axes (available via getAxisInitialValue(int) ).
  • Added a new enum for the states of the POV (Point-of-View) switch or DPad (POV_*)
  • Both GuidProduct and GuidInstance were removed. Now you should operate with Guid, Vendor, Product, and ProductVersion. The Guid is created on the basis of vendor and product identifiers and product version number. It enables you to identify device model (Controller XBox One, etc.), however, it will be the same for two identical models.

Curve2d Class#

Decal Class#

Dir Class#

UNIGINE 2.15.1 UNIGINE 2.16
mkdir( const char * ) Behavior changed.
mkdir( const char *, int ) Behavior changed.

Editor Class#

UNIGINE 2.15.1 UNIGINE 2.16
videoRestart( - ) Removed.

EditorLogic Class#

UNIGINE 2.15.1 UNIGINE 2.16
render( const EngineWindowPtr& ) Set of arguments changed.

Gui Class#

Input Class#

UNIGINE 2.15.1 UNIGINE 2.16
getMouseCoordDelta( ) Renamed as getMouseDeltaPosition( ).
setMouseCoord( ) Renamed as setMousePosition( Math::ivec2 ).
getMouseCoord( ) Renamed as getMousePosition( ).
getMouseDelta( ) Renamed as getMouseDeltaRaw( ).

New Functions

InputGamePad Class#

Landscape Class#

LandscapeLayerMap Class#

LandscapeMapFileSettings Class#

LandscapeMapFileCompression Class#

UNIGINE 2.15.1 UNIGINE 2.16
COMPRESSOR_TYPE_NONE variable. Removed. Use Landscape::COMPRESSOR_TYPE_NONE instead.
COMPRESSOR_TYPE_JACKALLESS variable. Removed. Use Landscape::COMPRESSOR_TYPE_JACKALLESS instead.
COMPRESSOR_TYPE_LZ4 variable. Removed. Use Landscape::COMPRESSOR_TYPE_LZ4 instead.
COMPRESSOR_TYPE_ZLIB variable. Removed. Use Landscape::COMPRESSOR_TYPE_ZLIB instead.
run( bool, bool ) Removed. Use compress( bool, bool ) and decompress( bool, bool ) instead.
isLoaded( ) Removed.
load( const UGUID& ) Removed.
isCompressed( ) Removed. Use LandscapeMapFileSettings::isCompressed() instead.

New Functions

Light Class#

UNIGINE 2.15.1 UNIGINE 2.16
setShadowScreenSpaceNoiseTranslucent( float ) Removed.
getShadowScreenSpaceNoiseTranslucent( ) Removed.
setShadowScreenSpaceViewBias( float ) Removed.
getShadowScreenSpaceViewBias( ) Removed.

New Functions

LightEnvironmentProbe Class#

LightPlanarProbe Class#

Material Class#

UNIGINE 2.15.1 UNIGINE 2.16
TEXTURE_SOURCE_CURVE Renamed as TEXTURE_SOURCE_RAMP.
WIDGET_TEXTURE_CURVE Renamed as WIDGET_TEXTURE_RAMP.
getTextureCurve( int ) Renamed as getTextureRamp( int ).
getTextureCurveOverride( int ) Renamed as getTextureRampOverride( int ).
isEngine( ) Renamed as isFileEngine( ).
destroyShaders( ) Removed.

New Functions

Materials Class#

ObjectGui Class#

UNIGINE 2.15.1 UNIGINE 2.16
setBackground( bool ) Type of argument changed.
getBackground( ) Renamed as isBackground( ).
setDepthTest( bool ) Type of argument changed.
getDepthTest( ) Renamed as isDepthTest( ).
setMouseShow( bool ) Type of argument changed.
getMouseShow( ) Renamed as isMouseShow( ).

ObjectGuiMesh Class#

UNIGINE 2.15.1 UNIGINE 2.16
getMouseShow( ) Renamed as isMouseShow( ).

New Functions

ObjectMeshStatic Class#

Player Class#

Due to the fact that now there may be several windows, methods getDirectionFromScreen(), getProjectionFromScreen() и getScreenPosition() were changed. Now there is a group of similar methods available for direction, projection, and position (relative to the current main window, relative to the specified window, relative to the screen):

All coords-related arguments (mouse_x, mouse_y, screen_x, screen_y), are now specified in world coordinates.

There are no default -1 values for coordinates and size arguments anymore to avoid ambiguity.

UNIGINE 2.15.1 UNIGINE 2.16
getDirectionFromScreen( ) Set of arguments changed.
getDirectionFromScreen( ) Set of arguments changed.

New Functions

Plugin Class#

UNIGINE 2.15.1 UNIGINE 2.16
gui( EngineWindowPtr& ) Set of arguments changed.
render( const EngineWindowPtr& ) Set of arguments changed.

Property Class#

New Functions

Render Class#

UNIGINE 2.15.1 UNIGINE 2.16
setShadowShaftsLength( float ) Removed. Use setScreenSpaceShadowShaftsLength( float ) instead.
getShadowShaftsLength( ) Removed. Use getScreenSpaceShadowShaftsLength( ) instead.
setShadowShaftsExposure( float ) Removed.
getShadowShaftsExposure( ) Removed.
setShadowShafts( bool ) Removed. Use setScreenSpaceShadowShaftsMode( int ) instead.
isShadowShafts( ) Removed. Use getScreenSpaceShadowShaftsMode( int ) instead.
getColorCorrectionCurve( ) Renamed as getColorCorrectionRamp( ).
resetColorCorrectionCurve( ) Renamed as resetColorCorrectionRamp( ).
resetColorCorrectionSaturationCurve( ) Renamed as resetColorCorrectionSaturationRamp( ).
setLandscapeTerrainCullingBackFace( float ) Removed.
getLandscapeTerrainCullingBackFace( ) Removed.
setLandscapeTerrainCullingFrustumPadding( float ) Removed.
getLandscapeTerrainCullingFrustumPadding( ) Removed.
setLandscapeTerrainCullingAggressive( bool ) Removed.
isLandscapeTerrainCullingAggressive( ) Removed.
setLandscapeTerrainGeometryFadeLods( float ) Removed.
getLandscapeTerrainGeometryFadeLods( ) Removed.
setMotionBlurNeatSilhouettes( bool ) Removed.
isMotionBlurNeatSilhouettes( ) Removed.
setSSRNoiseStep( float ) Removed.
getSSRNoiseStep( ) Removed.
setSSRNoiseRay( float ) Removed.
getSSRNoiseRay( ) Removed.
setSSRFastTracing( bool ) Removed.
getSSRFastTracing( ) Removed.
getScreenshot( const Ptr<Image> & ) Removed.
getBlack2DArrayTexture( ) Set of arguments changed.
getBlack2DTexture( ) Set of arguments changed.
getBlack2DUIntTexture( ) Set of arguments changed.
getBlack3DTexture( ) Set of arguments changed.
getBlackCubeTexture( ) Set of arguments changed.
getGray2DArrayTexture( ) Set of arguments changed.
getGray2DTexture( ) Set of arguments changed.
getGray2DUIntTexture( ) Set of arguments changed.
getGray3DTexture( ) Set of arguments changed.
getGrayCubeTexture( ) Set of arguments changed.
getWhite2DArrayTexture( ) Set of arguments changed.
getWhite2DTexture( ) Set of arguments changed.
getWhite2DUIntTexture( ) Set of arguments changed.
getWhite3DTexture( ) Set of arguments changed.
getWhiteCubeTexture( ) Set of arguments changed.

New Functions

RenderEnvironmentPreset Class#

Renderer Class#

RenderState Class#

New Functions

RenderTarget Class#

Shader Class#

TerrainDetailMask Class#

Texture Class#

UNIGINE 2.15.1 UNIGINE 2.16
All texture sampler flags. Renamed with the SAMPLER_ prefix.
All texture format flags. Renamed with the FORMAT_ prefix, along with a new FORMAT_MIPMAPS flag added.
isBilinear( ) Removed.
setFlags( int ) Removed. Use setSamplerFlags( int ) instead.
getFlags( ) Removed. Use getSamplerFlags( ), getFormatFlags( ), and getAllFlags( ) instead.

New Functions

UGUID Class#

UNIGINE 2.15.1 UNIGINE 2.16
isEmpty( ) Return value type changed.
isValid( ) Return value type changed.

New Functions

UserInterface Class#

Widget Class#

WidgetCanvas Class#

WidgetExternBase Class#

WidgetScroll Class#

WidgetTreeBox Class#

Varjo Class#

Last update: 2022-09-28
Build: ()