API Migration
Major Changes#
- The TextureCurve class has been renamed as TextureRamp class.
- The ControlsXPad360 class has transformed into ControlsGamepad class.
- Removed the ControlsSixAxis class. Use ControlsGamepad instead.
- Added a new ControlsGamepad class.
- Added a new Ultraleap class.
- Added a new UltraleapDevice class.
- Added a new UltraleapBone class.
- Added a new UltraleapFinger class.
- Added a new UltraleapHand class.
- Added a new UltraleapArm class.
- Added a new Displays class.
- Added a new InputEvent class.
- Added a new InputEventMouseButton class.
- Added a new InputEventMouseWheel class.
- Added a new InputEventMouseMotion class.
- Added a new InputEventKeyboard class.
- Added a new InputEventText class.
- Added a new EngineWindow class.
- Added a new WindowEvent class.
- Added a new WindowEventGeneric class.
- Added a new WindowEventDrop class.
- Added a new WindowManager class.
- Added a new CustomSystemProxy class.
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 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:
ObjectMeshStatic Class#
Description goes here2
UNIGINE 2.15.1 | UNIGINE 2.16 |
---|---|
setLightmapTextureSurface( int, int ) | Renamed as setLightmapSourceSurface( int, int ). |
getLightmapTextureSurface( int ) | Renamed as getLightmapSourceSurface( int ). |
New Functions
- SURFACE_CUSTOM_TEXTURE_MODE_UNIQUE
- SURFACE_CUSTOM_TEXTURE_MODE_SURFACE
- getSurfaceCustomTexture( int )
- setSurfaceCustomTexture( const Ptr<Texture> &, int )
- getSurfaceCustomTexturePath( int )
- setSurfaceCustomTexturePath( const char *, int )
- getSurfaceCustomTextureSourceSurface( int )
- setSurfaceCustomTextureSourceSurface( int, int )
- getSurfaceCustomTextureMode( int )
- setSurfaceCustomTextureMode( ObjectMeshStatic::SURFACE_CUSTOM_TEXTURE_MODE, int )
- isSurfaceCustomTextureEnabled( int )
- setSurfaceCustomTextureEnabled( bool, int )
RenderEnvironmentPreset Class#
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( ). |
New Functions
- PASS_LIGHTMAP_DATA
- CALLBACK_BEGIN_ENVIRONMENT
- CALLBACK_END_ENVIRONMENT
- CALLBACK_BEGIN_SSSS
- CALLBACK_END_SSSS
- getEnvironmentHazeScatteringMieFresnelPower( )
- getEnvironmentHazeScatteringMieFresnelIntensity( )
- getEnvironmentHazeScatteringMieIntensity( )
- getScreenSpaceShadowShaftsQuality( )
- setScreenSpaceShadowShaftsQuality( int )
- getScreenSpaceShadowShaftsResolution( )
- setScreenSpaceShadowShaftsResolution( int )
- getViewportMain( )
- TONEMAPPER_FILMIC
- TONEMAPPER_ACES
- TONEMAPPER_MIX_ACES_WITH_REINHARD
- TONEMAPPER_REINHARD
- TONEMAPPER_REINHARD_LUMA_BASED
- CALLBACK_BEGIN_SKY
- CALLBACK_END_SKY
- isColorCorrectionHuePerColor( )
- setColorCorrectionHuePerColor( bool )
- isColorCorrectionSaturationPerColor( )
- setColorCorrectionSaturationPerColor( bool )
- isColorCorrectionByCurves( )
- setColorCorrectionByCurves( bool )
- getVignetteMaskTexturePath( )
- setVignetteMaskTexturePath( const char * )
- getVignetteMaskPower( )
- setVignetteMaskPower( float )
- getVignetteMaskIntensity( )
- setVignetteMaskIntensity( float )
- isVignetteMask( )
- setVignetteMask( bool )
- getNoiseIntensity( )
- setNoiseIntensity( float )
- isNoise( )
- setNoise( bool )
- getChromaticAberrationSamples( )
- setChromaticAberrationSamples( int )
- getChromaticAberrationNoiseIntensity( )
- setChromaticAberrationNoiseIntensity( float )
- getChromaticAberrationIntensity( )
- setChromaticAberrationIntensity( float )
- isChromaticAberration( )
- setChromaticAberration( bool )
- getTonemapperMode( )
- setTonemapperMode( Render::TONEMAPPER )
- getGLContext( )
- getD3D11Context( )
- getD3D11Device( )
- getD3D11Factory( )
RenderState Class#
Renderer Class#
Material Class#
Description goes here2
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
Decal Class#
Input Class#
Description goes here2
UNIGINE 2.15.1 | UNIGINE 2.16 |
---|---|
getMouseCoordDelta( ) | Removed. |
getMouseDelta( ) | Set of arguments changed. |
New Functions
- MOUSE_BUTTON_UNKNOWN
- MOUSE_AXIS_UNKNOWN
- MOUSE_AXIS_X
- MOUSE_AXIS_Y
- NUM_MOUSE_AXES
- CODE_UNKNOWN
- CODE_ESC
- CODE_F1
- CODE_F2
- CODE_F3
- CODE_F4
- CODE_F5
- CODE_F6
- CODE_F7
- CODE_F8
- CODE_F9
- CODE_F10
- CODE_F11
- CODE_F12
- CODE_PRINTSCREEN
- CODE_SCROLL_LOCK
- CODE_PAUSE
- CODE_BACK_QUOTE
- CODE_DIGIT_1
- CODE_DIGIT_2
- CODE_DIGIT_3
- CODE_DIGIT_4
- CODE_DIGIT_5
- CODE_DIGIT_6
- CODE_DIGIT_7
- CODE_DIGIT_8
- CODE_DIGIT_9
- CODE_DIGIT_0
- CODE_MINUS
- CODE_EQUALS
- CODE_BACKSPACE
- CODE_TAB
- CODE_Q
- CODE_W
- CODE_E
- CODE_R
- CODE_T
- CODE_Y
- CODE_U
- CODE_I
- CODE_O
- CODE_P
- CODE_LEFT_BRACKET
- CODE_RIGHT_BRACKET
- CODE_RETURN
- CODE_CAPS_LOCK
- CODE_A
- CODE_S
- CODE_D
- CODE_F
- CODE_G
- CODE_H
- CODE_J
- CODE_K
- CODE_L
- CODE_SEMICOLON
- CODE_QUOTE
- CODE_BACK_SLASH
- CODE_LEFT_SHIFT
- CODE_Z
- CODE_X
- CODE_C
- CODE_V
- CODE_B
- CODE_N
- CODE_M
- CODE_COMMA
- CODE_DOT
- CODE_SLASH
- CODE_RIGHT_SHIFT
- CODE_LEFT_CTRL
- CODE_LEFT_CMD
- CODE_LEFT_ALT
- CODE_SPACE
- CODE_RIGHT_ALT
- CODE_RIGHT_CMD
- CODE_MENU
- CODE_RIGHT_CTRL
- CODE_INSERT
- CODE_DELETE
- CODE_HOME
- CODE_END
- CODE_PGUP
- CODE_PGDOWN
- CODE_UP
- CODE_LEFT
- CODE_DOWN
- CODE_RIGHT
- CODE_NUM_LOCK
- CODE_NUMPAD_DIVIDE
- CODE_NUMPAD_MULTIPLY
- CODE_NUMPAD_MINUS
- CODE_NUMPAD_DIGIT_7
- CODE_NUMPAD_DIGIT_8
- CODE_NUMPAD_DIGIT_9
- CODE_NUMPAD_PLUS
- CODE_NUMPAD_DIGIT_4
- CODE_NUMPAD_DIGIT_5
- CODE_NUMPAD_DIGIT_6
- CODE_NUMPAD_DIGIT_1
- CODE_NUMPAD_DIGIT_2
- CODE_NUMPAD_DIGIT_3
- CODE_NUMPAD_RETURN
- CODE_NUMPAD_DIGIT_0
- CODE_NUMPAD_DOT
- NUM_CODES
- KEY_UNKNOWN
- KEY_LEFT_SHIFT
- KEY_RIGHT_SHIFT
- KEY_LEFT_CTRL
- KEY_LEFT_CMD
- KEY_LEFT_ALT
- KEY_RIGHT_ALT
- KEY_RIGHT_CMD
- KEY_RIGHT_CTRL
- KEY_PRINTSCREEN
- KEY_SCROLL_LOCK
- KEY_CAPS_LOCK
- KEY_NUM_LOCK
- KEY_PAUSE
- KEY_MENU
- KEY_NUMPAD_DIGIT_0
- KEY_NUMPAD_DIGIT_1
- KEY_NUMPAD_DIGIT_2
- KEY_NUMPAD_DIGIT_3
- KEY_NUMPAD_DIGIT_4
- KEY_NUMPAD_DIGIT_5
- KEY_NUMPAD_DIGIT_6
- KEY_NUMPAD_DIGIT_7
- KEY_NUMPAD_DIGIT_8
- KEY_NUMPAD_DIGIT_9
- KEY_NUMPAD_DIVIDE
- KEY_NUMPAD_MULTIPLY
- KEY_NUMPAD_MINUS
- KEY_NUMPAD_PLUS
- KEY_NUMPAD_RETURN
- KEY_NUMPAD_DOT
- KEY_NUMPAD_HOME
- KEY_NUMPAD_END
- KEY_NUMPAD_PGUP
- KEY_NUMPAD_PGDOWN
- KEY_NUMPAD_INSERT
- KEY_NUMPAD_DELETE
- KEY_NUMPAD_UP
- KEY_NUMPAD_LEFT
- KEY_NUMPAD_DOWN
- KEY_NUMPAD_RIGHT
- KEY_ESZETT
- KEY_U_UMLAUT
- KEY_O_UMLAUT
- KEY_A_UMLAUT
- KEY_ACUTE_ACCENT
- KEY_U_WITH_GRAVE
- KEY_SUPERSCRIPT_TWO
- KEY_ANY_SHIFT
- KEY_ANY_CTRL
- KEY_ANY_ALT
- KEY_ANY_CMD
- CALLBACK_MOUSE_DOWN
- CALLBACK_MOUSE_UP
- CALLBACK_MOUSE_AXES
- CALLBACK_MOUSE_MOTION
- CALLBACK_KEY_DOWN
- CALLBACK_KEY_PRESS
- CALLBACK_KEY_UP
- CALLBACK_CODE_DOWN
- CALLBACK_CODE_PRESS
- CALLBACK_CODE_UP
- CALLBACK_TEXT_PRESS
- CALLBACK_IMMEDIATE_INPUT
- NUM_CALLBACKS
- MOUSE_MASK_LEFT
- MOUSE_MASK_MIDDLE
- MOUSE_MASK_RIGHT
- MOUSE_MASK_DCLICK
- MOUSE_MASK_AUX_0
- MOUSE_MASK_AUX_1
- MOUSE_MASK_AUX_2
- MOUSE_MASK_AUX_3
- forceSetSysMouseAxis( Input::MOUSE_AXES, int )
- getAndClearSysMouseAxis( Input::MOUSE_AXES )
- getSysMouseAxis( Input::MOUSE_AXES )
- setSysMouseButtonsMask( int )
- getSysMouseButtonsMask( )
- forceSetSysKey( Input::KEY, bool )
- getAndClearSysKey( Input::KEY )
- getSysKey( Input::KEY )
- forceSetSysCode( Input::CODE, bool )
- getAndClearSysCode( Input::CODE )
- getSysCode( Input::CODE )
- sendUserEvent( const Ptr<InputEvent> & )
- getEventsBuffer( Vector<Ptr<InputEvent>> & )
- getMouseAxisByName( const char * )
- getMouseAxisName( Input::MOUSE_AXES )
- getMouseButtonByName( const char * )
- getMouseButtonName( Input::MOUSE_BUTTON )
- getMouseFrameCoord( )
- getLastMouseButtonUp( )
- getLastMouseButtonPressed( )
- getLastMouseButtonDown( )
- getMouseButtonEvent( Input::MOUSE_BUTTON )
- getKeyByName( const char * )
- getKeyName( Input::KEY )
- getLastKeyUp( )
- getLastKeyPressed( )
- getLastKeyDown( )
- getKeyEvent( Input::KEY )
- getCodeByName( const char * )
- getCodeName( Input::CODE )
- getLastCodeUp( )
- getLastCodePressed( )
- getLastCodeDown( )
- getCodeEvent( Input::CODE )
- isCodeUp( Input::CODE )
- isCodeDown( Input::CODE )
- isCodePressed( Input::CODE )
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
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 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.
UNIGINE 2.15.1 | UNIGINE 2.16 |
---|---|
getGuidProduct( ) | Removed. |
getGuidInstance( ) | Removed. |
New Functions
- DEVICE_TYPE_UNKNOWN
- DEVICE_TYPE_GAME_CONTROLLER
- DEVICE_TYPE_WHEEL
- DEVICE_TYPE_ARCADE_STICK
- DEVICE_TYPE_FLIGHT_STICK
- DEVICE_TYPE_DANCE_PAD
- DEVICE_TYPE_GUITAR
- DEVICE_TYPE_DRUM_KIT
- DEVICE_TYPE_THROTTLE
- POV_NOT_PRESSED
- POV_UP
- POV_UP_RIGHT
- POV_RIGHT
- POV_DOWN_RIGHT
- POV_DOWN
- POV_DOWN_LEFT
- POV_LEFT
- POV_UP_LEFT
- getProductVersion( )
- getProduct( )
- getVendor( )
- getGuid( )
- getAxisInitialValue( int )
- getDeviceType( )
- getPlayerIndex( )
Widget Class#
WidgetCanvas Class#
WidgetTreeBox Class#
Shader Class#
Texture Class#
RenderTarget Class#
UNIGINE 2.15.1 | UNIGINE 2.16 |
---|---|
bindColorTexture( int, const Ptr<Texture> & ) | Set of arguments changed. |
bindDepthTexture( const Ptr<Texture> & ) | Set of arguments changed. |
New Functions
- bindUnorderedAccessTexture3D( int, const Ptr<Texture> &, bool, bool, int, int )
- bindUnorderedAccessTextureCubeArray( int, const Ptr<Texture> &, bool, bool, int, int, int )
- bindUnorderedAccessTextureCube( int, const Ptr<Texture> &, bool, bool, int, int )
- bindUnorderedAccessTexture2DArray( int, const Ptr<Texture> &, bool, bool, int, int )
- bindUnorderedAccessTexture2D( int, const Ptr<Texture> &, bool, bool, int )
- bindDepthTextureCubeArray( const Ptr<Texture> &, int, int, int )
- bindDepthTextureCube( const Ptr<Texture> &, int, int )
- bindDepthTexture2DArray( const Ptr<Texture> &, int, int )
- bindDepthTexture2D( const Ptr<Texture> &, int )
- bindColorTexture3D( int, const Ptr<Texture> &, int, int )
- bindColorTextureCubeArray( int, const Ptr<Texture> &, int, int, int )
- bindColorTextureCube( int, const Ptr<Texture> &, int, int )
- bindColorTexture2DArray( int, const Ptr<Texture> &, int, int )
- bindColorTexture2D( int, const Ptr<Texture> &, int )
Property Class#
App Class#
Description goes here2
UNIGINE 2.15.1 | UNIGINE 2.16 |
---|---|
setButtonPressFunc( int (*func)(int button) ) | Removed. |
setButtonReleaseFunc( int (*func)(int button) ) | Removed. |
getKeyName( int ) | Removed. |
setKeyPressFunc( int (*func)(unsigned int key) ) | Removed. |
setKeyPressUnicodeFunc( int (*func)(unsigned int key) ) | Removed. |
setKeyReleaseFunc( int (*func)(unsigned int key) ) | Removed. |
setKeyState( int, int ) | Removed. |
getKeyState( int ) | Removed. |
setMouse( int, int ) | Removed. |
setMouseAxis( int, int ) | Removed. |
getMouseAxis( int ) | Removed. |
setMouseButton( int ) | Removed. |
getMouseButton( ) | Removed. |
getMouseButtonName( int ) | Removed. |
getMouseButtonState( int ) | Removed. |
getMouseX( ) | Removed. |
getMouseY( ) | Removed. |
getName( ) | Renamed as getVideoAppName( ). |
buttonPress( int ) | Removed. |
buttonRelease( int ) | Removed. |
clearKeyState( int ) | Removed. |
clearMouseAxis( int ) | Removed. |
clearMouseButtonState( int ) | Removed. |
keyPress( unsigned int ) | Removed. |
keyPressUnicode( unsigned int ) | Removed. |
keyRelease( unsigned int ) | Removed. |
setExternalWindowFocused( bool ) | Removed. |
isExternalWindowFocused( ) | Removed. |
New Functions
LightPlanarProbe Class#
AppVarjo Class#
EditorLogic Class#
Description goes here2
UNIGINE 2.15.1 | UNIGINE 2.16 |
---|---|
render( const EngineWindowPtr& ) | Set of arguments changed. |
Plugin Class#
Description goes here2
UNIGINE 2.15.1 | UNIGINE 2.16 |
---|---|
gui( EngineWindowPtr& ) | Set of arguments changed. |
render( const EngineWindowPtr& ) | Set of arguments changed. |
UGUID Class#
Description goes here2
UNIGINE 2.15.1 | UNIGINE 2.16 |
---|---|
isEmpty( ) | Return value type changed. |
isValid( ) | Return value type changed. |