This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Version Control
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
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

API Migration

Major Changes#

Breaking Changes#

UNIGINE and User Plugins#

The plugin files structure has been rearranged, approach to their naming has changed as well.

The naming convention is:

  • <vendor_name><plugin_name>_plugin_<precision>_x64<debug_version>.* for Windows binaries
  • lib<vendor_name><plugin_name>_plugin_<precision>_x64<debug_version>.so for Linux binaries
  • <vendor_name><plugin_name>.h for headers

The paths to plugin files are as follows.

For UNIGINE plugins:

  • binaries — bin\plugins\Unigine\<plugin_name> (e.g. bin\plugins\Unigine\ARTTracker\UnigineARTTracker_plugin_double_x64d.dll)
  • headers — include\plugins\Unigine\<plugin_name>\Unigine<plugin_name>.h (e.g. include\plugins\Unigine\ARTTracker\UnigineARTTracker.h)

For user plugins:

  • binaries — bin\plugins\<vendor_name>\<plugin_name> (e.g. bin\plugins\Vendor\Plugin\VendorPlugin_plugin_double_x64.dll)
  • headers — include\plugins\<vendor_name>\<plugin_name>\<vendor_name><plugin_name>.h (e.g. include\plugins\Vendor\Plugin\VendorPlugin.h)

Adjust the build paths and plugin names for all plugins in the projects that you've migrated.

Gamepad and Joystick Input#

The following changes were made for this release:

  1. ControlsGamePad and ControlsJoystick classes were completely replaced with InputGamepad and InputJoystick respectively with all necessary functions migrated.

    Instances of these classes are managed by the Engine, therefore, you should not create or delete them manually anymore. Previously the number of gamepads was predefined and equal to 4, so you had to get active devices via the corresponding methods (GetActiveGamePad() and GetCountActiveGamePads()), now these methods are removed, because the numbers of gamepads and joysticks changes dynamically as you connect or disconnect devices (these numbers are not limited by the Engine, while there is an SDL limit of 16 devices). To get the number of currently connected joysticks or gamepads use Input::getNumGamePads() and Input::getNumJoysticks().

    You can get a particular joystick or gamepad (as InputGamePad or InputJoystick class instances) by its number via the Input::getGamePad() and Input::getJoystick() methods.

    In case a joystick/gamepad is disconnected the corresponding InputGamePad / InputJoystick class instance is not removed from the list, you can check its availability via the isAvailable method.

    New connected devices are become bound to the first InputGamePad / InputJoystick class instance that is unbound (isAvailable == false) and become available again. In case there are no unbound instances a new one is created and added to the list.

  2. Gamepads and joysticks are now updated automatically by the Engine, so the updateEvents() method is removed from InputGamePad and InputJoystick classes as unnecessary.
  3. Event buffer is now available for gamepads and joysticks enabling you to avoid lost input events. You can get the last gamepad button event from the buffer via the InputJoystick::getButtonEvent() method and get the whole current buffer via InputJoystick::getButtonEvents(). The same for joysticks (InputJoystick::getButtonEvent() and InputJoystick::getButtonEvents() respectively).
  4. A new set of callbacks has been added to the Input class for both, joysticks and gamepads, enabling you to track various events:

See the instructions and examples below to migrate your code related to gamepads and joysticks to UNIGINE 2.17 properly:

  • Remove all calls to the ControlsJoystick::updateEvents() method.
  • Remove all lines creating and deleting instances of InputGamePad and InputJoystick classes.
  • Replace ControlsJoystickPtr -> InputJoystickPtr
  • Replace InputGamePad::BUTTON* -> Input::GAMEPAD_BUTTON*
  • Replace InputGamePad::AXIS* -> Input::GAMEPAD_AXIS*
  • Replace ControlsJoystick::POV* -> Input::JOYSTICK_POV*
  • Add <UnigineInput.h> instead of <UnigineControls.h> where necessary.
UNIGINE 2.16.1 UNIGINE 2.17
Source code (C++)
// checking for gamepads and getting the active one
if (Input::getCountActiveGamePads() == 0)
{
	Log::error("GamepadInput::init(): No available gamepads!\n");
	return;
}

gamepad = Input::getActiveGamePad(0);

// ...

// reload the current world if X button is pressed
if (gamepad->isButtonPressed(InputGamePad::BUTTON::BUTTON_X))
	World::reloadWorld();

// activate vibration if Y button is pressed
if(gamepad->isButtonDown(InputGamePad::BUTTON::BUTTON_Y))
	gamepad->setVibration(low_frequency, high_frequency, vibration_duration);

// getting the active gamepad
if(!gamepad && Input::getCountActiveGamePads() > 0)
	gamepad = Input::getActiveGamePad(0);

// ...

// getting the name of the last pressed button
for (int i = 0; i < InputGamePad::NUM_BUTTONS; i++)
{
	if (gamepad->isButtonDown((InputGamePad::BUTTON)i))
		last_button_down = getGamePadButtonName((InputGamePad::BUTTON)i);
}
Source code (C++)
// checking for gamepads and getting the active one
if (Input::getNumGamePads() > 0)
	gamepad = Input::getGamePad(0);
else
{
	Log::error("GamepadInput::init(): No available gamepads!\n");
	return;
}

// ...

// reload the current world if X button is pressed
if (gamepad->isButtonPressed(Input::GAMEPAD_BUTTON_X))
	World::reloadWorld();

// activate vibration if Y button is pressed
if(gamepad->isButtonDown(Input::GAMEPAD_BUTTON_Y))
	gamepad->setVibration(low_frequency, high_frequency, vibration_duration);

// getting the active gamepad
if(!gamepad && Input::getNumGamePads())
	gamepad = Input::getGamePad(0);

// ...

// getting the name of the last pressed button
for (int i = 0; i < Input::NUM_GAMEPAD_BUTTONS; i++)
{
	Input::GAMEPAD_BUTTON i_button = Input::GAMEPAD_BUTTON(i);

	if (gamepad->isButtonDown(i_button))
		last_button_down = getGamePadButtonName(i_button);
}
Source code (C++)
// including a header required for managing joysticks
#include <UnigineControls.h>

// declaring the list of joysticks
Unigine::Vector<Unigine::ControlsJoystickPtr> joysticks;

// ...

// setting the number of joysticks
int count_joysticks = 4;

// creating and adding joysticks to the list
for (int i = 0; i < count_joysticks; i++)
	joysticks.append(ControlsJoystick::create(i));

// ...

for (int i =0; i < count_joysticks; i++)
{
	// performing joystick update
	joysticks[i]->updateEvents();

	// iterating over all available joysticks
	if (joysticks[i]->isAvailable())
	{
		// printing joystick number
		Log::message("Joystick Number: %s", String::itoa(joysticks[i]->getNumber()));

		// getting the names of pressed buttons
		for (int j = 0; j < joysticks[i]->getNumButtons(); j++)
			if (joysticks[i]->getButton(j) != 0)
				last_pressed_buttons[i] = joysticks[i]->getButtonName(j);
	}
}

// ...

// removing all created joysticks
for(int i =0; i < joysticks.size(); i++)
	joysticks[i].deleteLater();
Source code (C++)
// including a header required for managing joysticks
#include <UnigineInput.h>

// declaring the list of joysticks
Unigine::Vector<Unigine::InputJoystickPtr> joysticks;

// ...

// setting the number of joysticks
int count_joysticks = Input::getNumJoystics();

// adding joysticks to the list
for (int i = 0; i < count_joysticks; i++)
	joysticks.append(Input::getJoystick(i));

// ...

for (int i =0; i < count_joysticks; i++)
{

	// iterating over all available joysticks
	if (joysticks[i] && joysticks[i]->isAvailable())
	{
		// printing joystick number
		Log::message("Joystick Number: %s", String::itoa(i));

		// getting the names of pressed buttons
		for (int j = 0; j < joysticks[i]->getNumButtons(); j++)
			if (joysticks[i]->getButton(j) != 0)
				last_pressed_buttons[i] = joysticks[i]->isButtonPressed(j);
	}
}

// ...

// just clearing the list of joysticks (instances are managed by the Engine)
joysticks.clear();

Engine Background Update#

Added a new background update mode to ensure rendering for windows minimized to tray (this can be useful for grabbing frame sequences in background when the application window is minimized). Thee modes are available now:

To manage modes use setBackgroundUpdate() / getBackgroundUpdate() methods.

UNIGINE 2.16.1 UNIGINE 2.17
Source code (C++)
Engine::get()->setBackgroundUpdate(true);
Source code (C++)
Engine::get()->setBackgroundUpdate(Engine::BACKGROUND_UPDATE_RENDER_NON_MINIMIZED);

Asynchronous GPU-to-CPU Data Transfer#

Implementation of Vulkan and DirectX 12 support has changed a lot, and the old-style way of getting GPU-generated data on CPU has become invalid.

Thus, we have removed Texture::getImage/StructuredBuffer::getData() methods and added the following ones instead:

All other methods transferring data generated by GPU to CPU (returning the result as an Image) have been replaced with the ones that return their result as a Texture. In order to get this data as Image (the way it was before) you'll have to transfer the obtained data to CPU using a synchronous or asynchronous transferring method of the Render class - Render::transferTextureToImage() or Render::asyncTransferTextureToImage() respectively. This is relevant for methods like Viewport::renderImage*(), Render::renderImage*(), FieldShoreline::createShorelineDistanceField(), WidgetSpriteViewport::renderTexture(), and others. Render::compressImage()/Render::asyncCompressImage() represent the only exception - they cannot output the result to a texture accepting callbacks as arguments.

UNIGINE 2.16.1
Source code (C++)
temporary_texture = Render::getTemporaryTexture2D(window->getRenderSize().x, window->getRenderSize().y, Texture::FORMAT_RGB8);
temporary_texture->copy2D();

// transferring texture data to CPU
temporary_texture->getImage(image);

// flipping image if necessary
if (!Render::isFlipped())
	image->flipY();
	
// saving an image to a file
image->save("screenshot.dds");
UNIGINE 2.17
Source code (C++)
TexturePtr temporary_texture = Render::getTemporaryTexture2D(window->getClientRenderSize().x, window->getClientRenderSize().y, Texture::FORMAT_RGB8);
temporary_texture->copy2D();

// transferring texture data to CPU
Render::asyncTransferTextureToImage(
	nullptr,
	MakeCallback([this](ImagePtr image)
		{
			// flipping image if necessary
			if (!Render::isFlipped())
				image->flipY();

			// saving an image to a file
			image->save("screenshot.dds");

		}),
	temporary_texture);

Other related API changes:

Safe Types for Matrices#

To avoid various issues with passing unsafe pointers to arrays when creating, setting, or getting values of matrices (mat2, mat3, mat4, and dmat4) we have added a pack of safe types for them (mat2x2_values, mat3x3_values, etc.) and replaced all constructors, setters, and getters that received unsafe pointers with new ones receiving these safe types.

So, starting from 2.17 when creating, setting, or getting values of matrices you'll have to specify the corresponding types explicitly. You can also use the old-style way at your own risk if you want, as we have added a set of unsafe conversion functions to MathLib, that you'll have to call when using unsafe pointers.

UNIGINE 2.16.1 UNIGINE 2.17
Source code (C++)
float *elements;
elements = new float[9];

// ...

Math::mat3 myMatrix = Math::mat3(elements);
Source code (C++)
// - - - - - - - - - - - - - - 
//        New Style
// - - - - - - - - - - - - - - 
Math::mat3x3_values elements;

// ...

Math::mat3 myMatrix = mat3(elements);

// - - - - - - - - - - - - - - 
//        Old Style
// - - - - - - - - - - - - - - 
float *elements;
elements = new float[9];

// ...

Math::mat3 myMatrix; 
myMatrix = Math::mat3(Math::unsafeToMat3x3(elements));

New Math Functions

Body Class#

UNIGINE 2.16.1 UNIGINE 2.17
setObject( const Ptr<Object> &, bool ) Return value changed.

Camera Class#

Controls Class#

UNIGINE 2.16.1 UNIGINE 2.17
CONTROLS_GAMEPAD Removed.
CONTROLS_JOYSTICK Removed.

CustomSystemProxy Class#

UNIGINE 2.16.1 UNIGINE 2.17
getWindowHitTestResult( WIN_HANDLE ) Removed.
setWindowResizeBorderSize( WIN_HANDLE, int ) Removed.
isDragAreaIntersection( uint64_t, int, int ) Removed. Use getHitTestAreaIntersection( uint64_t, int, int ) instead.
getDraggableWindow( ) Removed.
getResizableWindow( ) Removed.

New Functions

DecalMesh Class#

Displays Class#

Editor Class#

EditorLogic Class#

UNIGINE 2.16.1 UNIGINE 2.17
render( const EngineWindowViewportPtr& ) Set of arguments changed.

Engine Class#

EngineWindow Class#

UNIGINE 2.16.1 UNIGINE 2.17
Enum STATE Removed. Use TYPE instead.
Enum GROUP_TYPE Removed. Use EngineWindowGroup.GROUP_TYPE instead.
setCamera( const Ptr<Camera> & ) Moved to EngineWindowViewport::setCamera( const Ptr<Camera> & ).
getCamera( ) Moved to EngineWindowViewport::getCamera( ).
EngineWindow( const char *, int, int, int ) Removed.
EngineWindow( int, int, int ) Removed.
EngineWindow( const Math::ivec2 &, int ) Removed.
setMain( bool ) Removed. Use EngineWindowViewport::setMain( bool ) instead.
isMain( ) Removed. Use EngineWindowViewport::isMain( ) instead.
isSeparateWindow( ) Removed.
isSeparateGroup( ) Removed.
isNestedWindow( ) Removed.
isNestedGroup( ) Removed.
isWindow( ) Removed.
isGroup( ) Removed.
getState( ) Removed.
getGroupType( ) Removed. Use EngineWindowGroup::getGroupType( ) instead.
getIcon( const Ptr<Image> & ) Return value changed.
setConsoleUsage( bool ) Removed. Use EngineWindowViewport::setConsoleUsage( bool ) instead.
isConsoleUsage( ) Removed. Use EngineWindowViewport::isConsoleUsage( ) instead.
setProfilerUsage( bool ) Removed. Use EngineWindowViewport::setProfilerUsage( bool ) instead.
isProfilerUsage( ) Removed. Use EngineWindowViewport::isProfilerUsage( ) instead.
setVisualizerUsage( bool ) Removed. Use EngineWindowViewport::setVisualizerUsage( bool ) instead.
isVisualizerUsage( ) Removed. Use EngineWindowViewport::isVisualizerUsage( ) instead.
setResizeBorderSize( int ) Removed.
getResizeBorderSize( ) Removed.
isFullscreen( ) Removed. Use EngineWindowViewport::isFullscreen( ) instead.
setMouseGrab( bool ) Removed. Use EngineWindowViewport::setMouseGrab( bool ) instead.
getHitTestResult( const Math::ivec2 & ) Set of arguments changed.
addChild( const Ptr<Widget> &, int ) Removed.
removeChild( const Ptr<Widget> & ) Removed.
getChild( int ) Removed.
getNumChildren( ) Removed.
setGroupUsage( bool ) Removed.
isGroupUsage( ) Removed.
setNestedUsage( bool ) Removed.
isNestedUsage( ) Removed.
getNumNestedWindows( ) Removed. Use EngineWindowGroup::getNumNestedWindows( ) instead.
getNestedWindow( int ) Removed. Use EngineWindowGroup::getNestedWindow( int ) instead.
getNestedWindowIndex( const Ptr<EngineWindow> & ) Removed. Use EngineWindowGroup::getNestedWindowIndex( const Ptr<EngineWindow> & ) instead.
containsNestedWindow( const Ptr<EngineWindow> & ) Removed. Use EngineWindowGroup::containsNestedWindow( const Ptr<EngineWindow> & ) instead.
containsNestedWindowGlobal( const Ptr<EngineWindow> & ) Removed. Use EngineWindowGroup::containsNestedWindowInHierarchy( const Ptr<EngineWindow> & ) instead.
getParentGroup( ) Set of arguments changed.
getGlobalParentGroup( ) Set of arguments changed.
isGlobalChildOf( const Ptr<EngineWindowGroup> & ) Set of arguments changed.
getCurrentTab( ) Removed. Use EngineWindowGroup::getCurrentTab( ) instead.
getTabWidth( int ) Removed. Use EngineWindowGroup::getTabWidth( int ) instead.
getTabHeight( int ) Removed. Use EngineWindowGroup::getTabHeight( int ) instead.
getTabBarWidth( int ) Removed. Use EngineWindowGroup::getTabBarWidth( int ) instead.
getTabBarHeight( int ) Removed. Use EngineWindowGroup::getTabBarHeight( int ) instead.
getTabLocalPosition( int ) Removed. Use EngineWindowGroup::getTabLocalPosition( int ) instead.
getTabBarLocalPosition( int ) Removed. Use EngineWindowGroup::getTabBarLocalPosition( int ) instead.
setHorizontalTabWidth( int, int ) Removed. Use EngineWindowGroup::setHorizontalTabWidth( int, int ) instead.
setVerticalTabHeight( int, int ) Removed. Use EngineWindowGroup::setVerticalTabHeight( int, int ) instead.
setSeparatorPosition( int, int ) Removed. Use EngineWindowGroup::setSeparatorPosition( int, int ) instead.
getSeparatorPosition( int ) Removed. Use EngineWindowGroup::getSeparatorPosition( int ) instead.
setSeparatorValue( int, float ) Removed. Use EngineWindowGroup::setSeparatorValue( int, float ) instead.
getSeparatorValue( int ) Removed. Use EngineWindowGroup::getSeparatorValue( int ) instead.
swapTabs( int, int ) Removed. Use EngineWindowGroup::swapTabs( int, int ) instead.
isHover( const Math::ivec2 & ) Removed.
isClientHover( const Math::ivec2 & ) Removed.
getHoverTabBar( const Math::ivec2 &, Math::ivec2 &, Math::ivec2 & ) Removed.
getHoverTabBarArea( const Math::ivec2 &, Math::ivec2 &, Math::ivec2 & ) Removed.
getVideoModeName( ) Removed.
disableFullscreen( ) Removed. Use EngineWindowViewport::disableFullscreen( ) instead.
enableFullscreen( int, int ) Removed. Use EngineWindowViewport::enableFullscreen( int, int ) instead.
isChild( const Ptr<Widget> & ) Removed. Use EngineWindowViewport.isChild( const Ptr<Widget> & ) instead.
arrange( ) Removed.
expand( ) Removed.
setSkipRenderEngine( bool ) Removed. Use EngineWindowViewport::setSkipRenderEngine( bool ) instead.
isSkipRenderEngine( ) Removed. Use EngineWindowViewport::isSkipRenderEngine( ) instead.

New Functions

FieldShoreline Class#

UNIGINE 2.16.1 UNIGINE 2.17
createShorelineDistanceField( const Ptr<Texture> &, int, int, int ) Set of arguments changed.

Gui Class#

Image Class#

ImageConverter Class#

UNIGINE 2.16.1 UNIGINE 2.17
setGGXMipmapsQuality( Image::GGX_MIPMAPS_QUALITY ) Set of arguments changed.
getGGXMipmapsQuality( ) Set of arguments changed.
run( CallbackBase1<Ptr<Image>> *, const Ptr<Image> & ) Set of arguments changed.

New Functions

Input Class#

InputEvent Class#

InputGamePad Class#

JointWheel Class#

Light Class#

UNIGINE 2.16.1 UNIGINE 2.17
setRenderTransparent( bool ) Renamed as setRenderOnTransparent( bool ).
getRenderTransparent( ) Renamed as isRenderOnTransparent( ).
setRenderWater( bool ) Renamed as setRenderOnWater( bool ).
getRenderWater( ) Renamed as isRenderOnWater( ).
getShadowScreenSpace( ) Renamed as isShadowScreenSpace( ).
getDepthTexture( ) Renamed as getShadowTexture( ).

LightEnvironmentProbe Class#

UNIGINE 2.16.1 UNIGINE 2.17
setReflectionViewportMask( int ) Renamed as setGrabViewportMask( int ).
getReflectionViewportMask( ) Renamed as getGrabViewportMask( ).
setBoxProjection( bool ) Removed. Use setProjectionMode( LightEnvironmentProbe::PROJECTION_MODE ) instead.
isBoxProjection( ) Removed. Use getProjectionMode( ) instead.
setDynamic( bool ) Removed. Use setGrabMode( LightEnvironmentProbe::GRAB_MODE ) instead.
isDynamic( ) Removed. Use getGrabMode( ) instead.
setBakeMipmapsQuality( float ) Removed.
getBakeMipmapsQuality( ) Removed.
setBoxGI( float ) Renamed as setBoxAmbientParallax( float ).
getBoxGI( ) Renamed as getBoxAmbientParallax( ).
setParallax( float ) Renamed as setSphereReflectionParallax( float ).
getParallax( ) Renamed as getSphereReflectionParallax( ).
setTexture( const Ptr<Texture> & ) Removed. Use setTexturePath( float ) instead.
getTexture( ) Removed. Use getTexturePath( ) instead.
setTextureImage( const Ptr<Image> &, bool ) Removed.
getTextureImage( const Ptr<Image> & ) Removed.
setDistanceScale( float ) Renamed as setGrabDistanceScale( float ).
getDistanceScale( ) Renamed as getGrabDistanceScale( ).
setRenderFacesPerFrame( int ) Renamed as setGrabDynamicFacesPerFrame( LightEnvironmentProbe::GRAB_DYNAMIC_FACES_PER_FRAME ).
getRenderFacesPerFrame( ) Renamed as getGrabDynamicFacesPerFrame( ).
setResolution( int ) Renamed as setGrabResolution( LightEnvironmentProbe::GRAB_RESOLUTION ).
getResolution( ) Renamed as getGrabResolution( ).
setSupersampling( int ) Renamed as setGrabSupersampling( LightEnvironmentProbe::GRAB_SUPERSAMPLING ) and changed parameter type.
getSupersampling( ) Renamed as getGrabSupersampling( ) and changed return value type.
setZFar( float ) Renamed as setGrabZFar( float ).
getZFar( ) Renamed as getGrabZFar( ).
setZNear( float ) Renamed as setGrabZNear( float ).
getZNear( ) Renamed as getGrabZNear( ).
setDynamicCorrectRoughness( Render::CORRECT_ROUGHNESS ) Removed. Use setGrabGGXMipmapsQuality( Render::GGX_MIPMAPS_QUALITY ) instead.
getDynamicCorrectRoughness( ) Removed. Use getGrabGGXMipmapsQuality( ) instead.
setUseSunColor( bool ) Renamed as setMultiplyBySkyColor( bool ).
isUseSunColor( ) Renamed as isMultiplyBySkyColor( ).
setBakeVisibilityEmission( bool ) Renamed as setGrabBakeVisibilityEmission( bool ).
isBakeVisibilityEmission( ) Renamed as isGrabBakeVisibilityEmission( ).
setBakeVisibilitySky( bool ) Renamed as setGrabBakeVisibilitySky( bool ).
isBakeVisibilitySky( ) Renamed as isGrabBakeVisibilitySky( ).
setBakeVisibilityLightWorld( bool ) Renamed as setGrabBakeVisibilityLightWorld( bool ).
isBakeVisibilityLightWorld( ) Renamed as isGrabBakeVisibilityLightWorld( ).
setBakeVisibilityLightOmni( bool ) Renamed as setGrabBakeVisibilityLightOmni( bool ).
isBakeVisibilityLightOmni( ) Renamed as isGrabBakeVisibilityLightOmni( ).
setBakeVisibilityLightProj( bool ) Renamed as setGrabBakeVisibilityLightProj( bool ).
isBakeVisibilityLightProj( ) Renamed as isGrabBakeVisibilityLightProj( ).
setBakeVisibilityVoxelProbe( bool ) Renamed as setGrabBakeVisibilityVoxelProbe( bool ).
isBakeVisibilityVoxelProbe( ) Renamed as isGrabBakeVisibilityVoxelProbe( ).
setBakeVisibilityEnvironmentProbe( int ) Renamed as setGrabBakeVisibilityEnvironmentProbe( bool ).
isBakeVisibilityEnvironmentProbe( ) Renamed as isGrabBakeVisibilityEnvironmentProbe( ).
setBakeVisibilityLightmap( bool ) Renamed as setGrabBakeVisibilityLightmap( bool ).
isBakeVisibilityLightmap( ) Renamed as isGrabBakeVisibilityLightmap( ).

New Functions

LightVoxelProbe Class#

UNIGINE 2.16.1 UNIGINE 2.17
setTextureImage( const Ptr<Image> & ) Removed. Use setTexturePath( const char * ) instead.
getTextureImage( const Ptr<Image> & ) Removed. Use getTexturePath( ) instead.
setTexture( const Ptr<Texture> & ) Removed. Use setTexturePath( const char * ) instead.
getTexture( ) Removed. Use getTexturePath( ) instead.

MeshStatic Class#

NavigationMesh Class#

UNIGINE 2.16.1 UNIGINE 2.17
setMeshName( const char *, int ) Renamed as setMeshPath( const char *, bool ).
getMeshName( ) Renamed as getMeshPath( ).

Node Class#

NodeExternBase Class#

UNIGINE 2.16.1 UNIGINE 2.17
updatePosition( ) Removed.

Object Class#

ObjectExternBase Class#

UNIGINE 2.16.1 UNIGINE 2.17
updatePosition( ) Removed.

ObjectGuiMesh Class#

UNIGINE 2.16.1 UNIGINE 2.17
ObjectGuiMesh( const Ptr<Mesh> &, const char * ) Removed.
ObjectGuiMesh( const char *, const char *, bool ) Removed.
setMesh( const Ptr<Mesh> & ) Removed.
getMesh( const Ptr<Mesh> & ) Removed.
setMeshName( const char * ) Removed. Use setMeshPath( const char * ) instead.
getMeshName( ) Removed. Use getMeshPath( ) instead.
createMesh( const char *, bool ) Removed.
applyMeshProcedural( const Ptr<Mesh> & ) Set of arguments changed.
loadMesh( const char * ) Removed.
saveMesh( const char * ) Removed.

New Functions

ObjectMeshCluster Class#

UNIGINE 2.16.1 UNIGINE 2.17
ObjectMeshCluster( const char *, bool ) Removed.
setMesh( const Ptr<Mesh> & ) Removed.
getMesh( const Ptr<Mesh> & ) Removed.
setMeshName( const char *, bool ) Removed. Use setMeshPath( const char * ) instead.
getMeshName( ) Removed. Use getMeshPath( ) instead.
setMeshNameForce( const char * ) Removed.
getNumSurfaceTargets( int ) Removed. Get a static mesh for the object and use MeshStatic::getNumSurfaceTargets() instead.
getSurfaceTargetName( int, int ) Removed. Get a static mesh for the object and use MeshStatic::getSurfaceTargetName() instead.
createMesh( const char *, bool ) Removed.
findSurfaceTarget( const char *, int ) Removed. Get a static mesh for the object and use MeshStatic::findSurfaceTarget () instead.
applyMeshProcedural( const Ptr<Mesh> & ) Set of arguments changed.
loadMesh( const char * ) Removed.
saveMesh( const char * ) Removed.

New Functions

ObjectMeshClutter Class#

UNIGINE 2.16.1 UNIGINE 2.17
ObjectMeshClutter( const char *, bool ) Removed.
setMesh( const Ptr<Mesh> & ) Removed.
getMesh( const Ptr<Mesh> & ) Removed.
setMeshNameForce( const char * ) Removed. Use setMeshPath( const char * ) instead.
setMeshName( const char * ) Removed. Use setMeshPath( const char * ) instead.
getMeshName( ) Removed. Use getMeshPath( ) instead.
getNumSurfaceTargets( int ) Removed. Get a static mesh for the object and use MeshStatic::getNumSurfaceTargets() instead.
getSurfaceTargetName( int, int ) Removed. Get a static mesh for the object and use MeshStatic::getSurfaceTargetName() instead.
createMesh( const char *, bool ) Removed.
findSurfaceTarget( const char *, int ) Removed. Get a static mesh for the object and use MeshStatic::findSurfaceTarget () instead.
applyMeshProcedural( const Ptr<Mesh> & ) Set of arguments changed.
loadMesh( const char * ) Removed.
saveMesh( const char * ) Removed.

New Functions

ObjectMeshSplineCluster Class#

UNIGINE 2.16.1 UNIGINE 2.17
getMeshName( ) Removed.
getNumSurfaceTargets( int ) Removed. Get a static mesh for the object and use MeshStatic::getNumSurfaceTargets() instead.
getSurfaceTargetName( int, int ) Removed. Get a static mesh for the object and use MeshStatic:getSurfaceTargetName() instead.
findSurfaceTarget( const char *, int ) Removed. Get a static mesh for the object and use MeshStatic::findSurfaceTarget () instead.

New Functions

ObjectMeshStatic Class#

UNIGINE 2.16.1 UNIGINE 2.17
ObjectMeshStatic( const Ptr<Mesh> & ) Removed.
ObjectMeshStatic( const char *, variable, bool ) Removed.
setCIndex( int, int, int ) Removed.
getCIndex( int, int ) Removed.
setColor( int, const Math::vec4 &, int ) Removed.
getColor( int, int ) Removed.
getMesh( const Ptr<Mesh> & ) Removed.
setMesh( const Ptr<Mesh> &, bool ) Removed.
setMeshNameForce( const char * ) Removed. Use setMeshPath( const char * ) instead.
setMeshName( const char * ) Removed. Use setMeshPath( const char * ) instead.
getMeshName( ) Removed. Use getMeshPath( ) instead.
getMeshSurface( const Ptr<Mesh> &, int, int ) Removed.
getNormal( int, int, int ) Removed.
getNumCIndices( int ) Removed.
getNumColors( int ) Removed.
getNumSurfaceTargets( int ) Removed. Get a static mesh for the object and use MeshStatic::getNumSurfaceTargets() instead.
getNumTangents( int ) Removed.
setNumTexCoords0( int, int ) Removed.
getNumTexCoords0( int ) Removed.
setNumTexCoords1( int, int ) Removed.
getNumTexCoords1( int ) Removed.
getNumTIndices( int ) Removed.
getNumVertex( int ) Removed.
getSurfaceTargetName( int, int ) Removed. Get a static mesh for the object and use MeshStatic::getSurfaceTargetName() instead.
setSurfaceTransform( const Math::mat4 &, int, int ) Removed.
setTangent( int, const Math::quat &, int, int ) Removed.
getTangent( int, int, int ) Removed.
setTexCoord0( int, const Math::vec2 &, int ) Removed.
getTexCoord0( int, int ) Removed.
setTexCoord1( int, const Math::vec2 &, int ) Removed.
getTexCoord1( int, int ) Removed.
setTIndex( int, int, int ) Removed.
getTIndex( int, int ) Removed.
setVertex( int, const Math::vec3 &, int, int ) Removed.
getVertex( int, int, int ) Removed.
addEmptySurface( const char *, int, int ) Removed.
addMeshSurface( int, variable, variable, const Ptr<ObjectMeshStatic> &, int, int ) Removed.
addMeshSurface( const char *, const Ptr<Mesh> &, int, int ) Removed.
addMeshSurface( const char *, const Ptr<ObjectMeshStatic> &, int, int ) Removed.
addSurfaceTarget( int, const char * ) Removed.
createMesh( const char *, bool ) Removed.
findSurfaceTarget( const char *, int ) Removed. Get a static mesh for the object and use MeshStatic::findSurfaceTarget () instead.
applyMeshProcedural( const Ptr<Mesh> & ) Set of arguments changed.
loadMesh( const char * ) Removed.
saveMesh( const char * ) Removed.
updateSurfaceBounds( int ) Removed.
getMeshStatic( ) Removed.
isFlushed( ) Removed.

New Functions

ObjectParticles Class#

UNIGINE 2.16.1 UNIGINE 2.17
DEFLECTOR_REFLECTOR Removed.
DEFLECTOR_CLIPPER Removed.
setCollision( int ) Removed. Use setCollisionEnabled( ) instead.
getCollision( ) Removed. Use isCollisionEnabled( ) instead.
setDeflectorAttached( int, int ) Removed.
isDeflectorAttached( int ) Removed.
setDeflectorEnabled( int, bool ) Removed.
isDeflectorEnabled( int ) Removed.
setDeflectorRestitution( int, float ) Removed.
getDeflectorRestitution( int ) Removed.
setDeflectorRoughness( int, float ) Removed.
getDeflectorRoughness( int ) Removed.
setDeflectorSize( int, const Math::vec3 & ) Removed.
getDeflectorSize( int ) Removed.
setDeflectorTransform( int, const Math::Mat4 & ) Removed.
getDeflectorTransform( int ) Removed.
setDeflectorType( int, int ) Removed.
getDeflectorType( int ) Removed.
setForceAttached( int, int ) Removed.
isForceAttached( int ) Removed.
setForceAttenuation( int, float ) Removed.
getForceAttenuation( int ) Removed.
setForceAttractor( int, float ) Removed.
getForceAttractor( int ) Removed.
setForceEnabled( int, bool ) Removed.
isForceEnabled( int ) Removed.
setForceRadius( int, float ) Removed.
getForceRadius( int ) Removed.
setForceRotator( int, float ) Removed.
getForceRotator( int ) Removed.
setForceTransform( int, const Math::Mat4 & ) Removed.
getForceTransform( int ) Removed.
setPhysicsIntersection( int ) Removed. Use setPhysicsIntersectionEnabled( bool ) instead.
getPhysicsIntersection( ) Removed. Use isPhysicsIntersectionEnabled( ) instead.
setNoiseAttached( int, int ) Removed.
isNoiseAttached( int ) Removed.
setNoiseEnabled( int, bool ) Removed.
isNoiseEnabled( int ) Removed.
setNoiseForce( int, float ) Removed.
getNoiseForce( int ) Removed.
setNoiseFrequency( int, int ) Removed.
getNoiseFrequency( int ) Removed.
getNoiseImage( int ) Removed.
setNoiseOffset( int, const Math::vec3 & ) Removed.
getNoiseOffset( int ) Removed.
setNoiseScale( int, float ) Removed.
getNoiseScale( int ) Removed.
setNoiseSize( int, int ) Removed.
getNoiseSize( int ) Removed.
setNoiseStep( int, const Math::vec3 & ) Removed.
getNoiseStep( int ) Removed.
setNoiseTransform( int, const Math::Mat4 & ) Removed.
getNoiseTransform( int ) Removed.
setNumDeflectors( int ) Removed.
getNumDeflectors( ) Removed.
setNumForces( int ) Removed.
getNumForces( ) Removed.
setNumNoises( int ) Removed.
getNumNoises( ) Removed.
addDeflector( ) Removed.
addForce( ) Removed.
addNoise( ) Removed.
removeDeflector( int ) Removed.
removeForce( int ) Removed.
removeNoise( int ) Removed.
saveStateForces( const Ptr<Stream> & ) Removed.
restoreStateForces( const Ptr<Stream> & ) Removed.
saveStateNoises( const Ptr<Stream> & ) Removed.
restoreStateNoises( const Ptr<Stream> & ) Removed.
saveStateDeflectors( const Ptr<Stream> & ) Removed.
restoreStateDeflectors( const Ptr<Stream> & ) Removed.
setNoiseSeed( int, int ) Removed.
getNoiseSeed( int ) Removed.

New Functions

ObjectWaterGlobal Class#

UNIGINE 2.16.1 UNIGINE 2.17
setSoftIntersection( float ) Renamed as setSoftInteraction( float ).
getSoftIntersection( ) Renamed as getSoftInteraction( ).
setSubsurfaceDiffuseIntensity( float ) Renamed as getSubsurfaceDecalsIntensity( ).
getSubsurfaceDiffuseIntensity( ) Renamed as setSubsurfaceDecalsIntensity( float ).
setDiffuseDistortion( float ) Renamed as setDecalsDistortion( float ).
getDiffuseDistortion( ) Renamed as getDecalsDistortion( ).

New Functions

ObjectWaterMesh Class#

UNIGINE 2.16.1 UNIGINE 2.17
setMeshName( const char *, int ) Removed. Use setMeshPath( const char *, bool ) instead.
getMeshName( ) Removed. Use getMeshPath( ) instead.

PackageUng Class#

Physics Class#

Player Class#

Plugin Class#

UNIGINE 2.16.1 UNIGINE 2.17
gui( const EngineWindowViewportPtr& ) Set of arguments changed.
render( const EngineWindowViewportPtr& ) Set of arguments changed.

Render Class#

UNIGINE 2.16.1 UNIGINE 2.17
Enum CORRECT_ROUGHNESS Removed.
setEnvironmentCorrectRoughness( int ) Removed. Use setEnvironmentGGXMipmapsQuality( Render::GGX_MIPMAPS_QUALITY ) instead.
getEnvironmentCorrectRoughness( ) Removed. Use getEnvironmentGGXMipmapsQuality( ) instead.
setSSAORadius( float ) Removed.
getSSAORadius( ) Removed.
setSSAORayTracingThreshold( float ) Removed.
getSSAORayTracingThreshold( ) Removed.
setSSAOIntensityLightedSide( float ) Removed.
getSSAOIntensityLightedSide( ) Removed.
setSSAOResolution( int ) Removed.
getSSAOResolution( ) Removed.
setSSAOQuality( int ) Removed.
getSSAOQuality( ) Removed.
setSSAODenoiseQuality( int ) Removed.
getSSAODenoiseQuality( ) Removed.
setSSAORayTracingDenoise( bool ) Removed.
isSSAORayTracingDenoise( ) Removed.
setSSAORayTracing( bool ) Removed.
isSSAORayTracing( ) Removed.
setSSAONoise( bool ) Removed.
isSSAONoise( ) Removed.
setSSAOColorClampingVelocityThreshold( float ) Removed.
getSSAOColorClampingVelocityThreshold( ) Removed.
setSSAOColorClampingIntensity( float ) Removed.
getSSAOColorClampingIntensity( ) Removed.
setSSAODenoiseRadius( float ) Removed.
getSSAODenoiseRadius( ) Removed.
setSSAODenoiseThreshold( float ) Removed.
getSSAODenoiseThreshold( ) Removed.
setSSAODenoiseGaussianSigma( float ) Removed.
getSSAODenoiseGaussianSigma( ) Removed.
setSSAODenoiseIntensity( float ) Removed.
getSSAODenoiseIntensity( ) Removed.
setSSAOPreset( int ) Removed.
getSSAOPreset( ) Removed.
getSSAOPresetName( int ) Removed.
getSSAOPresetNumNames( ) Removed.
setBentNormalDenoiseQuality( int ) Removed.
getBentNormalDenoiseQuality( ) Removed.
setBentNormalRayTracing( bool ) Removed.
isBentNormalRayTracing( ) Removed.
setBentNormalRayTracingThreshold( float ) Removed.
getBentNormalRayTracingThreshold( ) Removed.
setBentNormalRayTracingDenoise( bool ) Removed.
isBentNormalRayTracingDenoise( ) Removed.
setBentNormalColorClampingVelocityThreshold( float ) Removed.
getBentNormalColorClampingVelocityThreshold( ) Removed.
setBentNormalColorClampingIntensity( float ) Removed.
getBentNormalColorClampingIntensity( ) Removed.
setBentNormalDenoiseRadius( float ) Removed.
getBentNormalDenoiseRadius( ) Removed.
setBentNormalDenoiseThreshold( float ) Removed.
getBentNormalDenoiseThreshold( ) Removed.
setBentNormalDenoiseGaussianSigma( float ) Removed.
getBentNormalDenoiseGaussianSigma( ) Removed.
setBentNormalDenoiseIntensity( float ) Removed.
getBentNormalDenoiseIntensity( ) Removed.
setBentNormalPreset( int ) Removed.
getBentNormalPreset( ) Removed.
getBentNormalPresetName( int ) Removed.
getBentNormalPresetNumNames( ) Removed.
setSSGIRadius( float ) Removed.
getSSGIRadius( ) Removed.
setSSGIResolutionColor( int ) Removed.
getSSGIResolutionColor( ) Removed.
setSSGIDenoise( bool ) Removed.
isSSGIDenoise( ) Removed.
setSSGIColorClampingVelocityThreshold( float ) Removed.
getSSGIColorClampingVelocityThreshold( ) Removed.
setSSGIColorClampingIntensity( float ) Removed.
getSSGIColorClampingIntensity( ) Removed.
setSSGIDenoiseRadius( float ) Removed.
getSSGIDenoiseRadius( ) Removed.
setSSGIDenoiseThreshold( float ) Removed.
getSSGIDenoiseThreshold( ) Removed.
setSSGIDenoiseGaussianSigma( float ) Removed.
getSSGIDenoiseGaussianSigma( ) Removed.
setSSGIDenoiseIntensity( float ) Removed.
getSSGIDenoiseIntensity( ) Removed.
setSSGIDenoiseQuality( int ) Removed.
getSSGIDenoiseQuality( ) Removed.
setSSGIPreset( int ) Removed.
getSSGIPreset( ) Removed.
getSSGIPresetName( int ) Removed.
getSSGIPresetNumNames( ) Removed.
setSSRDenoise( bool ) Removed.
isSSRDenoise( ) Removed.
setSSRColorClampingVelocityThreshold( float ) Removed.
getSSRColorClampingVelocityThreshold( ) Removed.
setSSRColorClampingIntensity( float ) Removed.
getSSRColorClampingIntensity( ) Removed.
setSSRDenoiseRadius( float ) Removed.
getSSRDenoiseRadius( ) Removed.
setSSRDenoiseThreshold( float ) Removed.
getSSRDenoiseThreshold( ) Removed.
setSSRDenoiseGaussianSigma( float ) Removed.
getSSRDenoiseGaussianSigma( ) Removed.
setSSRDenoiseIntensity( float ) Removed.
getSSRDenoiseIntensity( ) Removed.
setSSRDenoiseQuality( int ) Removed.
getSSRDenoiseQuality( ) Removed.
setSSRTGI( bool ) Removed.
isSSRTGI( ) Removed.
setSSRTGINoiseRay( float ) Removed.
getSSRTGINoiseRay( ) Removed.
setGIPreset( int ) Removed.
getGIPreset( ) Removed.
getGIPresetName( int ) Removed.
getGIPresetNumNames( ) Removed.
setStreamingUpdateLimit( int ) Removed.
getStreamingUpdateLimit( ) Removed.
setStreamingMeshesMemoryLimit( int ) Removed.
getStreamingMeshesMemoryLimit( ) Removed.
setStreamingDestroyDuration( int ) Removed.
getStreamingDestroyDuration( ) Removed.
setStreamingUseMemoryLimit( int ) Removed.
getStreamingUseMemoryLimit( ) Removed.
setStreamingMode( int ) Removed.
getStreamingMode( ) Removed.
STREAMING_ASYNC Removed. Use STREAMING_MESHES_ASYNC for meshes or STREAMING_TEXTURES_ASYNC for textures instead.
STREAMING_FORCE Removed. Use STREAMING_MESHES_FORCE for meshes or STREAMING_TEXTURES_FORCE for textures instead.
createMipmapsCubeGGXImage( const Ptr<Image> &, const Ptr<Texture> &, Render::GGX_MIPMAPS_QUALITY ) Set of arguments changed.
createMipmapsCubeGGXTexture( const Ptr<Texture> &, Render::GGX_MIPMAPS_QUALITY, bool ) Set of arguments changed.
createShorelineDistanceField( const Ptr<Texture> &, const Ptr<Image> &, int, int, int ) Set of arguments changed.
renderImage2D( const Ptr<Camera> &, const Ptr<Image> &, int ) Removed. Use renderTexture2D( const Ptr<Camera> &, const Ptr<Texture> &, int ) instead.
renderImage2D( const Ptr<Camera> &, const Ptr<Image> &, int, int, int, int ) Removed. Use RenderTexture2D( const Ptr<Camera> &, const Ptr<Texture> &, int, int, int, int ) instead.
renderImageCube( const Ptr<Camera> &, const Ptr<Image> &, int ) Removed. Use renderTextureCube( const Ptr<Camera> &, const Ptr<Texture> &, int ) instead.
renderImageCube( const Ptr<Camera> &, const Ptr<Image> &, int, int, int, bool ) Removed. Use renderTextureCube( const Ptr<Camera> &, const Ptr<Texture> &, int, int, int, bool ) instead.
renderNodeImage2D( const Ptr<Camera> &, const Ptr<Node> &, const Ptr<Image> &, int, int, const char * ) Removed. Use renderNodeTexture2D( const Ptr<Camera> &, const Ptr<Node> &, const Ptr<Texture> &, int, int, const char * ) instead.
renderNodeImage2D( const Ptr<Camera> &, const Ptr<Node> &, const Ptr<Image> &, int, int, int, int, int, const char * ) Removed. Use renderNodeTexture2D( const Ptr<Camera> &, const Ptr<Node> &, const Ptr<Texture> &, int, int, int, int, int, const char * ) instead.
compressImage( CallbackBase1<Ptr<Image>> *, const Ptr<Image> &, int, int, int ) Set of arguments changed.
compressTexture( CallbackBase1<Ptr<Image>> *, const Ptr<Texture> &, int, int, int ) Set of arguments changed.
convertColorSpecularToMetalness( Math::vec4 &, Math::vec4 &, Math::vec4 &, Math::vec4 & ) Removed.
convertImageSpecularToMetalness( const Ptr<Image> &, const Ptr<Image> &, Ptr<Image> &, Ptr<Image> & ) Removed.

New Functions

Renderer Class#

OpenVR Class#

Property Class#

Shape Class#

Varjo Class#

Viewport Class#

UNIGINE 2.16.1 UNIGINE 2.17
renderImage2D( const Ptr<Camera> &, const Ptr<Image> & ) Removed. Use renderTexture2D( const Ptr<Camera> &, const Ptr<Texture> & ) instead.
renderImage2D( const Ptr<Camera> &, const Ptr<Image> &, int, int, bool ) Removed. Use renderTexture2D( const Ptr<Camera> &, const Ptr<Texture> &, int, bool, bool ) instead.
renderImageCube( const Ptr<Camera> &, const Ptr<Image> & ) Removed. Use renderTextureCube( const Ptr<Camera> &, const Ptr<Texture> &, int ) instead.
renderImageCube( const Ptr<Camera> &, const Ptr<Image> &, int, bool, bool ) Removed. Use renderTextureCube( const Ptr<Camera> &, const Ptr<Texture> &, int, bool, bool ) instead.
renderNodeImage2D( const Ptr<Camera> &, const Ptr<Node> &, const Ptr<Image> &, int, int, bool ) Removed. Use renderNodeTexture2D( const Ptr<Camera> &, const Ptr<Node> &, const Ptr<Texture> &, int, int, bool ) instead.
renderNodeImage2D( const Ptr<Camera> &, const Ptr<Node> &, const Ptr<Image> & ) Removed. Use renderNodeTexture2D( const Ptr<Camera> &, const Ptr<Node> &, const Ptr<Texture> & ) instead.
renderNodesImage2D( const Ptr<Camera> &, const Vector< Ptr<Node> > &, const Ptr<Image> & ) Removed. Use renderNodesTexture2D( const Ptr<Camera> &, const Vector< Ptr<Node> > &, const Ptr<Texture> & ) instead.
renderNodesImage2D( const Ptr<Camera> &, const Vector< Ptr<Node> > &, const Ptr<Image> &, int, int, int ) Removed. Use renderNodesTexture2D( const Ptr<Camera> &, const Vector< Ptr<Node> > &, const Ptr<Texture> &, int, int, int ) instead.

New Functions

Widget Class#

WidgetCanvas Class#

WidgetEditText Class#

WidgetSpriteNode Class#

UNIGINE 2.16.1 UNIGINE 2.17
renderImage( const Ptr<Image> & ) Removed. Use renderTexture( const Ptr<Texture> & ) instead.

WidgetSpriteViewport Class#

UNIGINE 2.16.1 UNIGINE 2.17
renderImage( const Ptr<Image> & ) Removed. Use renderTexture( const Ptr<Texture> & ) instead.

WidgetWindow Class#

WindowEvent Class#

UNIGINE 2.16.1 UNIGINE 2.17
getGeneric( ) Removed.
getDrop( ) Removed.

New Functions

WindowManager Class#

World Class#

WorldExternBase Class#

UNIGINE 2.16.1 UNIGINE 2.17
updatePosition( ) Removed.

Xml Class#

Bus Class#

Channel Class#

New Functions

ChannelGroup Class#

DSP Class#

EventInstance Class#

New Functions

FMODCore Class#

FMODEnums Class#

Entity Class#

SymbolsPlane Class#

New Functions

SymbolText Class#

UNIGINE 2.16.1 UNIGINE 2.17
setFont( const String & ) Argument type changed.
Last update: 2023-10-11
Build: ()