This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Basics
Rendering
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
Animations-Related Classes
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
VR-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

API Migration

Major Changes#

Breaking Changes#

UGUID Migration#

We have optimized UGUIDs to reduce memory consumption. The main change is that a UGUID no longer stores a string. Combined with internal enhancements, this made the UGUID 52 bytes smaller than its previous version.

These changes will require some manual code migration in case your project contains UGUID managemet via API.

Notice
We strongly recommend avoiding the "find and replace" approach when migrating your code, as some methods have changed their return values.
  1. Replace all UGUID::getString() calls with UGUID::makeString().
    2.18.1
    Source code (C++)
    const char *guid_str = guid.getString();
    Unigine::Log::message("Guid string %s\n", guid.getString());
    2.19
    Source code (C++)
    GUIDString guid_str = guid.makeString();
    Unigine::Log::message("Guid string %s\n", guid.makeString().get());
  2. Replace all UGUID::get() calls with FileSystem::guidToPath(const UGUID &guid).
    2.18.1
    Source code (C++)
    const char *guid_str = guid.get();
    Unigine::Log::message("Guid string %s\n", guid.get());
    2.19
    Source code (C++)
    String guid_str = Unigine::FileSystem::guidToPath(guid);
    Unigine::Log::message("Guid file system string %s\n", Unigine::FileSystem::guidToPath(guid).get());
  3. Replace all UGUID::getFileSystemString() calls with FileSystem::guidToPath(const UGUID &guid).
    Notice
    The method has been moved to the FileSystem class.
    2.18.1
    Source code (C++)
    const char *guid_str = guid.getFileSystemString();
    Unigine::Log::message("Guid string %s\n", guid.getFileSystemString());
    2.19
    Source code (C++)
    String guid_str = Unigine::FileSystem::guidToPath(guid);
    Unigine::Log::message("Guid file system string %s\n", Unigine::FileSystem::guidToPath(guid).get());
  4. Replace all UGUID::setFileSystemString(const char* str) calls with FileSystem::pathToGuid(const char* str).
    Notice
    The method has been moved to the FileSystem class.
    2.18.1
    Source code (C++)
    UGUID guid;
    guid.setFileSystemString("guid://dd39448b6c7f113dc1063ec864de885476c9ba3b");
    2.19
    Source code (C++)
    UGUID guid = Unigine::FileSystem::pathToGuid("guid://dd39448b6c7f113dc1063ec864de885476c9ba3b");

Event Connection Migration#

If the direct subscription to events (without specifying an istance of the EventConnection/EventConnections class) doesn't compile now:

UNIGINE 2.18.1 UNIGINE 2.19
connect( set of args ) Replaced with connectUnsafe( set of args ).

BodyFracture Class#

UNIGINE 2.18.1 UNIGINE 2.19
setMaterialPath( const char * ) Renamed as setMaterialFilePath( const char * ).
getMaterialPath( ) Renamed as getMaterialFilePath( ).

BonesRetargeting Class#

BootConfig Class#

Decal Class#

UNIGINE 2.18.1 UNIGINE 2.19
setMaterialPath( const char * ) Renamed as setMaterialFilePath( const char * ).
getMaterialPath( ) Renamed as getMaterialFilePath.

DecalMesh Class#

UNIGINE 2.18.1 UNIGINE 2.19
getMeshInfo( ) Removed. Use getMeshCurrentRAM( ) and getMeshCurrentVRAM( ) instead.
getMeshForce( ) Removed. Use getMeshForceRAM( ) and getMeshForceVRAM( ) instead.
getMeshAsync( ) Removed. Use getMeshAsyncRAM( ) and getMeshAsyncVRAM( ) instead.
getMeshForceVRAM( ) Return value type changed.
getMeshAsyncVRAM( ) Return value type changed.

New Functions

Engine Class#

New Functions

EngineWindowViewport Class#

FileSystem Class#

ImportProcessor Class#

Importer Class#

Input Class#

UNIGINE 2.18.1 UNIGINE 2.19
VR_BUTTON_SYSTEM_LEFT Removed.
VR_BUTTON_SYSTEM_RIGHT Removed.
VR_BUTTON_A Removed.
VR_BUTTON_B Removed.
VR_BUTTON_GRIP_LEFT Removed.
VR_BUTTON_GRIP_RIGHT Removed.
VR_BUTTON_AXIS_0_LEFT Removed.
VR_BUTTON_AXIS_0_RIGHT Removed.
VR_BUTTON_AXIS_1_LEFT Removed.
VR_BUTTON_AXIS_1_RIGHT Removed.
VR_BUTTON_AXIS_2_LEFT Removed.
VR_BUTTON_AXIS_2_RIGHT Removed.
VR_BUTTON_AXIS_3_LEFT Removed.
VR_BUTTON_AXIS_3_RIGHT Removed.
VR_BUTTON_AXIS_4_LEFT Removed.
VR_BUTTON_AXIS_4_RIGHT Removed.

New Functions

InputVRController Class#

InputVRDevice Class#

InputVRHead Class#

Light Class#

UNIGINE 2.18.1 UNIGINE 2.19
setBakedDepthTexturePath( const char * ) Renamed as setBakedDepthTextureFilePath( const char * ).
getBakedDepthTexturePath( ) Renamed as getBakedDepthTextureFilePath( ).

New Functions

LightEnvironmentProbe Class#

LightOmni Class#

UNIGINE 2.18.1 UNIGINE 2.19
setTexturePath( const char * ) Renamed as setTextureFilePath( const char * ).
getTexturePath( ) Renamed as getTextureFilePath( ).

LightProj Class#

UNIGINE 2.18.1 UNIGINE 2.19
setTexturePath( const char * ) Renamed as setTextureFilePath( const char * ).
getTexturePath( ) Renamed as getTextureFilePath( ).

LightVoxelProbe Class#

UNIGINE 2.18.1 UNIGINE 2.19
setTexturePath( const char * ) Renamed as setTextureFilePath( const char * ).
getTexturePath( ) Renamed as getTextureFilePath( ).

Material Class#

UNIGINE 2.18.1 UNIGINE 2.19
setDepthMask( int ) Removed.
getDepthMask( ) Removed.
OPTION_DEPTH_MASK Removed.
TEXTURE_SOURCE_INDIRECT_DIFFUSE Renamed as TEXTURE_SOURCE_INDIRECT_DIFFUSE_FINAL.
TEXTURE_SOURCE_INDIRECT_SPECULAR Renamed as TEXTURE_SOURCE_INDIRECT_SPECULAR_FINAL.

New Functions

Memory Class#

UNIGINE 2.18.1 UNIGINE 2.19
getHeapUsage( ) Removed.
getNumFrameAllocations( ) Removed.
getNumAllocations( ) Removed.
getSystemUsage( ) Removed.

New Functions

Mesh Class#

UNIGINE 2.18.1 UNIGINE 2.19
setAnimationBones( int, const Vector< short > & ) Removed. Use MeshAnimation::setAnimationBones( const Vector< short > & ) instead.
getAnimationBones( int, Vector< short > & ) Removed. Use MeshAnimation::getAnimationBones( Vector< short > & ) instead.
setAnimationFrame( int, int, const Vector< Math::vec3 > &, const Vector< Math::quat > &, const Vector< Math::vec3 > &, int, int, int ) Removed. Use MeshAnimation::setFrame( int, const Vector< Math::vec3 > &, const Vector< Math::quat > &, const Vector< Math::vec3 > & ) instead.
setAnimationFrame( int, int, int, const Vector< Math::mat4 > & ) Removed. Use MeshAnimation::setFrame( int, const Vector< Math::mat4 > & ) instead.
getAnimationFrame( int, int, Vector< Math::vec3 > &, Vector< Math::quat > &, Vector< Math::vec3 > &, int ) Removed. Use MeshAnimation::getFrame( int, Vector< Math::vec3 > &, Vector< Math::quat > &, Vector< Math::vec3 > & ) instead.
getAnimationFrame( int, int, int, int, int, int, Vector< Math::mat4 > & ) Removed. Use MeshAnimation::getFrame( int, Vector< Math::mat4 > & ) instead.
setAnimationName( int, const char * ) Removed.
getAnimationName( int ) Removed
setBoneTransforms( const Vector<Math::mat4> & ) Set of arguments changed.
getBoneTransforms( Vector<Math::mat4> & ) Set of arguments changed.
setNumAnimationFrames( int, int ) Removed. Use MeshAnimation::setNumFrames( int ) instead.
getNumAnimationFrames( int ) Removed. Use MeshAnimation::getNumFrames( int ) instead.
getNumAnimations( ) Removed.
addAnimation( const char * ) Removed. The mesh doesn't store animations anymore, animations are accessible via the path. Use ObjectMeshSkinned::setLayerAnimationFilePath( int, const char * ) or ObjectMeshSkinned::setLayerAnimationResourceID( int, long long ) instead.
findAnimation( const char * ) Removed.
sortAnimations( ) Removed.

Node Class#

Object Class#

UNIGINE 2.18.1 UNIGINE 2.19
Enum STREAMING_OBJECT_MESH Removed.
setMaterialPath( const char *, int ) Renamed as setMaterialFilePath( const char *, int ).
setMaterialPath( const char *, const char * ) Renamed as setMaterialFilePath( const char *, const char * ).
getMaterialPath( int ) Renamed as getMaterialFilePath( int ).

ObjectMeshCluster Class#

UNIGINE 2.18.1 UNIGINE 2.19
getMeshInfo( ) Removed. Use getMeshCurrentRAM( ) and getMeshCurrentVRAM( ) instead.
getMeshForce( ) Removed. Use getMeshForceRAM( ) and getMeshForceVRAM( ) instead.
getMeshAsync( ) Removed. Use getMeshAsyncRAM( ) and getMeshAsyncVRAM( ) instead.
getMeshForceVRAM( ) Return value type changed.
getMeshAsyncVRAM( ) Return value type changed.
setMeshStreamingModeRAM( Object::STREAMING_OBJECT_MESH ) Removed.
getMeshStreamingModeRAM( ) Removed.
setMeshStreamingModeVRAM( Object::STREAMING_OBJECT_MESH ) Removed.
getMeshStreamingModeVRAM( ) Removed.

New Functions

ObjectMeshClutter Class#

UNIGINE 2.18.1 UNIGINE 2.19
getMeshInfo( ) Removed. Use getMeshCurrentRAM( ) and getMeshCurrentVRAM( ) instead.
getMeshForce( ) Removed. Use getMeshForceRAM( ) and getMeshForceVRAM( ) instead.
getMeshAsync( ) Removed. Use getMeshAsyncRAM( ) and getMeshAsyncVRAM( ) instead.
getMeshForceVRAM( ) Return value type changed.
getMeshAsyncVRAM( ) Return value type changed.
setMeshStreamingModeRAM( Object::STREAMING_OBJECT_MESH ) Removed.
getMeshStreamingModeRAM( ) Removed.
setMeshStreamingModeVRAM( Object::STREAMING_OBJECT_MESH ) Removed.
getMeshStreamingModeVRAM( ) Removed.

New Functions

ObjectGuiMesh Class#

UNIGINE 2.18.1 UNIGINE 2.19
getMeshInfo( ) Removed. Use getMeshCurrentRAM( ) and getMeshCurrentVRAM( ) instead.
getMeshForce( ) Removed. Use getMeshForceRAM( ) and getMeshForceVRAM( ) instead.
getMeshAsync( ) Removed. Use getMeshAsyncRAM( ) and getMeshAsyncVRAM( ) instead.
getMeshForceVRAM( ) Return value type changed.
getMeshAsyncVRAM( ) Return value type changed.
setMeshStreamingModeRAM( Object::STREAMING_OBJECT_MESH ) Removed.
getMeshStreamingModeRAM( ) Removed.
setMeshStreamingModeVRAM( Object::STREAMING_OBJECT_MESH ) Removed.
getMeshStreamingModeVRAM( ) Removed.

New Functions

ObjectMeshSkinned Class#

A critical change is that now procedural source meshes for ObjectMeshSkinned are created and modified via the Mesh class. Thus, the process of creating a procedural mesh has changed:

UNIGINE 2.18.1 UNIGINE 2.19
Source code (C++)
ObjectMeshSkinned::create(mesh);

		ObjectMeshSkinned::create(mesh_path, true);
Source code (C++)
ObjectMeshSkinnedPtr obj = ObjectMeshSkinned::create();
		obj->setMeshProceduralMode(true);
		obj->applyMeshProcedural(mesh);

Other changes to such meshes are introduced using the corresponding updated methods, as described below.

UNIGINE 2.18.1 UNIGINE 2.19
Enum FRAME_USES Renamed as ANIM_FRAME_USES.
ObjectMeshSkinned( const Ptr<Mesh> & ) Removed. Use applyMeshProcedural( const Ptr<Mesh> & ) instead.
ObjectMeshSkinned( const char *, bool ) Removed. If unique=true, use applyMeshProcedural( const Ptr<Mesh> & ) instead.

setAnimation( int, variable, int )

Source code (C++)
obj->setAnimation(layer, anim_id);

Removed. Use getAnimationResourceID( const char * ) or setLayerAnimationResourceID( int, long long ) instead.

Source code (C++)
long long anim_id = obj->getAnimationResourceID(anim_path);
obj->setLayerAnimationResourceID(layer, anim_id);

setAnimation( int, const char * )

Removed. Use setLayerAnimationFilePath( int, const char * ) instead.

getAnimation( int )

Removed. Use getLayerAnimationResourceID( int ) instead.

getAnimationID( int )

Source code (C++)
int anim_id = obj->getAnimationID(anim_num);

Removed. Use getAnimationResourceID( const char * ) instead.

Source code (C++)
// only using the path
long long anim_id = obj->getAnimationResourceID(anim_path);

getAnimationPath( int )

Source code (C++)
const char *path = obj->getAnimationPath(anim_id);

Removed. Use getLayerAnimationFilePath( int ) instead.

Source code (C++)
// only directly from the layer
String path = obj->getLayerAnimationFilePath(layer);
setAnimName( const char * ) Removed. Use setAnimPath( const char * ) instead. Animation is applied immediately now (as was by using SetAnimNameForce in earlier versions).
setAnimNameForce( const char * ) Removed. Use setAnimPath( const char * ) instead.
getAnimName( ) Removed. Use getAnimPath( const char * ) instead.
getBoneBindTransform( int ) Removed. Use getBoneBindLocalTransform( int ) instead.

setCIndex( int, int, int )

Source code (C++)
obj->setCIndex(num, index, surface);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->setCIndex(num, index, surface);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

setColor( int, const Math::vec4 &, int )

Source code (C++)
obj->setColor(num, color, surface);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->setColor(num, color, surface);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);
setFrame( int, float, int, int ) Removed. Use setLayerFrame( int, float, int, int ) instead.
getFrame( int ) Removed. Use getLayerFrame( int ) instead.
getFrameFrom( int ) Removed. Use getLayerFrameFrom( int ) instead.
getFrameTo( int ) Removed. Use getLayerFrameTo( int ) instead.
getBoneBindITransform( int ) Removed. Use getBoneBindObjectITransform( int ) instead.
getBoneITransform( int ) Removed. Use getBoneBindObjectITransform( int ) or inverse(getBoneTransform(bone)) instead.
setBoneLayerTransform( int, int, const Math::mat4 & ) Removed. Use setLayerBoneTransform( int, int, const Math::mat4 & ) instead.
getBoneLayerTransform( int, int ) Removed. Use getLayerBoneTransform( int, int ) instead.
isBoneLayerTransform( int, int ) Removed. Use isLayerBoneTransform( int, int ) instead.
setBoneLayerTransformEnabled( int, int, bool ) Removed. Use setLayerBoneTransformEnabled( int, int, bool ) instead.

setMesh( const Ptr<Mesh> & )

Source code (C++)
obj->setMesh(mesh);

Removed. Use applyMeshProcedural( const Ptr<Mesh> & ) instead.

Source code (C++)
obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);
setMeshName( const char * ) Removed. Use setMeshPath( const char * ) instead. Animation is applied immediately now (as was by using SetAnimNameForce in earlier versions).
setMeshNameForce( const char * ) Removed. Use setMeshPath( const char * ) instead.
getMeshName( ) Removed. Use getMeshPath( ) instead.

getNumAnimationBones( int )

Source code (C++)
int num = obj->getNumAnimationBones(anim_id);

Removed. Use MeshAnimation::getNumAnimationBones( ) instead.

Source code (C++)
MeshAnimation anim = MeshAnimation::create(anim_path);
int num = anim->getNumAnimationBones();

getNumAnimationFrames( int )

Source code (C++)
int num = obj->getNumAnimationFrames(anim_id);

Removed. Use MeshAnimation::getNumFrames( int ) instead.

Source code (C++)
MeshAnimation anim = MeshAnimation::create(anim_path);
int num = anim->getNumFrames();

obj->setLayerAnimationFilePath(layer, anim_path);
int num = obj->getLayerNumFrames(layer);
getNumAnimations( ) Removed.
getNumFrames( int ) Removed. Use getLayerNumFrames( int ) instead.
setNumTargets( int, int ) Removed. Now the mesh has a fixed set of targets that are configured via setSurfaceTargetEnabled( int, int, bool ) and setSurfaceTargetWeight( int, int, float ).
getNumTargets( int ) Removed. Use getNumSurfaceTargets( int ) instead.

setNumTexCoords0( int, int )

Source code (C++)
obj->setNumTexCoords0(num, surface);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->setNumTexCoords0(num, surface);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

setNumTexCoords1( int, int )

Source code (C++)
obj->setNumTexCoords1(num, surface);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->setNumTexCoords1(num, surface);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);
isFlushed( ) Removed.

setSurfaceTransform( const Math::mat4 &, int, int )

Source code (C++)
obj->setSurfaceTransform(transform, surface, target);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->setSurfaceTransform(transform, surface, target);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

setTangent( int, const Math::quat &, int, int )

Source code (C++)
obj->setTangent(num, tangent, surface, target);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->setTangent(num, tangent, surface, target);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

setTarget( int, bool, int, float, int )

Source code (C++)
obj->setTarget(target, enabled, index, weight, surface);

Removed. Now the mesh has a fixed set of targets that are configured via setSurfaceTargetEnabled( int, int, bool ) and setSurfaceTargetWeight( int, int, float ).

Source code (C++)
obj->setSurfaceTargetEnabled(surface, target, enabled);
obj->setSurfaceTargetWeight(surface, target, weight);
setTargetEnabled( int, bool, int ) Removed. Use setSurfaceTargetEnabled( int, int, bool ) instead.
isTargetEnabled( int, int ) Removed. Use isSurfaceTargetEnabled( int, int ) instead.
setTargetIndex( int, int, int ) Removed. Now the mesh has a fixed set of targets that are configured via setSurfaceTargetEnabled( int, int, bool ) and setSurfaceTargetWeight( int, int, float ).
getTargetIndex( int, int ) Removed. Now the mesh has a fixed set of targets that are configured via setSurfaceTargetEnabled( int, int, bool ) and setSurfaceTargetWeight( int, int, float ).
setTargetWeight( int, float, int ) Removed. Use setSurfaceTargetWeight( int, int, float ) instead.
getTargetWeight( int, int ) Removed. Use getSurfaceTargetWeight( int, int ) instead.

setTexCoord0( int, const Math::vec2 &, int )

Source code (C++)
obj->setTexCoord0(num, texcoord, surface);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->setTexCoord0(num, texcoord, surface);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

setTexCoord1( int, const Math::vec2 &, int )

Source code (C++)
obj->setTexCoord1(num, texcoord, surface);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->setTexCoord1(num, texcoord, surface);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

setTIndex( int, int, int )

Source code (C++)
obj->setTIndex(num, index, surface);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->setTIndex(num, index, surface);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

setVertex( int, const Math::vec3 &, int, int )

Source code (C++)
obj->setVertex(num, vertex, surface, target);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->setVertex(num, vertex, surface, target);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);
addAnimation( const Ptr<Mesh> &, const char * ) Removed. The mesh doesn't store animations anymore, animations are accessible via the path. Use ObjectMeshSkinned::setLayerAnimationFilePath( int, const char * ) or ObjectMeshSkinned::setLayerAnimationResourceID( int, long long ) instead.
addAnimation( const char * ) Removed. The mesh doesn't store animations anymore, animations are accessible via the path. Use ObjectMeshSkinned::setLayerAnimationFilePath( int, const char * ) or ObjectMeshSkinned::setLayerAnimationResourceID( int, long long ) instead.

addRetargetedAnimation( const char *, const Ptr<BonesRetargeting> & )

Source code (C++)
int anim_id = obj->addRetargetedAnimation(path, bones_retargeting);

Removed. Use setRetargeting( const Ptr<BonesRetargeting> &, const char *, const char * ) instead.

Source code (C++)
ObjectMeshSkinned::setRetargeting(bones_retargeting, anim_path, mesh_path);
// mesh_path - path to mesh for which the animation is created
// further retargeting will be applied automatically
addRetargetedAnimation( const Ptr<Mesh> &, const Ptr<BonesRetargeting> &, const char * ) Removed. Use setRetargeting( const Ptr<BonesRetargeting> &, const char *, const char * ) instead.

addEmptySurface( const char *, int, int )

Source code (C++)
obj->addEmptySurface(name, num_vertex, num_indices);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->addEmptySurface(name, num_vertex, num_indices);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

addMeshSurface( variable, variable, const char *, const Ptr<ObjectMeshSkinned> &, int, int )

Source code (C++)
obj->addMeshSurface(name, obj_mesh_skinned, surface, target);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
MeshPtr add_mesh = Mesh::create(obj_mesh_skinned->getMeshPath());
mesh->addMeshSurface(name, add_mesh, surface, target);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

addMeshSurface( int, const Ptr<ObjectMeshSkinned> &, int, int )

Source code (C++)
obj->addMeshSurface(dest_surface, obj_mesh_skinned, surface, target);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
MeshPtr add_mesh = Mesh::create(obj_mesh_skinned->getMeshPath());
mesh->addMeshSurface(dest_surface, add_mesh, surface, target);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

addMeshSurface( const char *, const Ptr<Mesh> &, int, int )

Source code (C++)
obj->addMeshSurface(name, surface_mesh, surface, target);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->addMeshSurface(name, surface_mesh, surface, target);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);

addSurfaceTarget( int, const char * )

Source code (C++)
obj->addSurfaceTarget(surface, name);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->addSurfaceTarget(surface, name);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);
addSurfaceTarget( int, const Ptr<ObjectMeshSkinned> &, int, int ) Removed.
addTarget( int ) Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

createMesh( const char *, bool )

Source code (C++)
obj->createMesh(path, unique);

Removed. Use these two methods instead: setMeshProceduralMode(true) and applyMeshProcedural(mesh)

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);
findAnimation( const char * ) Removed. You can use getAnimationResourceID() instead: the return value of 0 means that there is no animation.
findSurfaceTarget( int, const char * ) Set of arguments changed.
flushMesh( ) Removed.
loadMesh( const char * ) Removed. Use setMeshPath( const char * ) instead.
mergeMeshSurface( int, const Ptr<ObjectMeshSkinned> &, int ) Removed.
removeAnimation( int ) Removed.
removeTarget( int, int ) Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.
saveMesh( const char * ) Removed. The mesh is now addressed via path and doesn't require saving. If the mesh is procedural, it should be saved using the corresponding method of the Mesh class.

updateSurfaceBounds( int )

Source code (C++)
obj->updateSurfaceBounds(int surface);

Removed. This parameter is now set and configured via the procedural mesh settings. The mesh therefore shall be created and modified via the Mesh class.

Source code (C++)
MeshPtr mesh = Mesh::create(mesh_path);
mesh->createBounds(surface);

obj->setMeshProceduralMode(true);
obj->applyMeshProcedural(mesh);
setBoneFrameUses( int, int, ObjectMeshSkinned::FRAME_USES ) Removed. Use setLayerBoneFrameUses( int, int, ObjectMeshSkinned::ANIM_FRAME_USES ) instead.
getBoneFrameUses( int, int ) Removed. Use getLayerBoneFrameUses( int, int ) instead.
getIKChain( int ) Removed. Use getIKChainID( int ) instead.
setIKChainUsePoleVector( bool, int ) Removed. Use setIKChainConstraint( ObjectMeshSkinned::CHAIN_CONSTRAINT, int ) instead.
isIKChainUsePoleVector( int ) Removed. Use getIKChainConstraint( int ) instead.

New Functions

ObjectMeshStatic Class#

UNIGINE 2.18.1 UNIGINE 2.19
setLightmapTexturePath( const char *, int ) Renamed as setLightmapTextureFilePath( const char *, int ).
getLightmapTexturePath( int ) Renamed as getLightmapTextureFilePath( int ).
getMeshInfo( ) Removed. Use getMeshCurrentRAM( ) and getMeshCurrentVRAM( ) instead.
getMeshForce( ) Removed. Use getMeshForceRAM( ) and getMeshForceVRAM( ) instead.
getMeshAsync( ) Removed. Use getMeshAsyncRAM( ) and getMeshAsyncVRAM( ) instead.
getMeshForceVRAM( ) Return value type changed.
getMeshAsyncVRAM( ) Return value type changed.
setMeshStreamingModeRAM( Object::STREAMING_OBJECT_MESH ) Removed.
getMeshStreamingModeRAM( ) Removed.
setMeshStreamingModeVRAM( Object::STREAMING_OBJECT_MESH ) Removed.
getMeshStreamingModeVRAM( ) Removed.

New Functions

ObjectText Class#

Package Class#

PackageUng Class#

UNIGINE 2.18.1 UNIGINE 2.19
readFile( unsigned char *, size_t ) Type of argument changed.
selectFile( const char *, size_t & ) Type of argument changed.
writeFile( const char *, const unsigned char *, size_t ) Type of argument changed.

New Functions

Property Class#

UNIGINE 2.18.1 UNIGINE 2.19
setPath( const char * ) Renamed as setFilePath( const char * ).
getPath( ) Renamed as getFilePath( ).

Render Class#

UNIGINE 2.18.1 UNIGINE 2.19
Enum STREAMING_MESHES Removed.
Enum STREAMING_TEXTURES Removed.
setStreamingMaxThreads( int ) Removed.
getStreamingMaxThreads() Removed.
setStreamingBudgetLoading( float ) Removed.
getStreamingBudgetLoading() Removed.
setStreamingBudgetDestroyTextures( float ) Removed.
getStreamingBudgetDestroyTextures() Removed.
setStreamingBudgetDestroyMeshes( float ) Removed.
getStreamingBudgetDestroyMeshes() Removed.
setStreamingTexturesMemoryLimit( int ) Removed.
getStreamingTexturesMemoryLimit() Removed.
setStreamingTexturesLifeTime( int ) Removed.
getStreamingTexturesLifeTime() Removed.
setStreamingMeshesLimitVRAM( int ) Removed.
getStreamingMeshesLimitVRAM() Removed.
setStreamingMeshesLifeTimeVRAM( int ) Removed.
getStreamingMeshesLifeTimeVRAM() Removed.
setStreamingMeshesLimitRAM( int ) Removed.
getStreamingMeshesLimitRAM() Removed.
setStreamingMeshesLifeTimeRAM( int ) Removed.
getStreamingMeshesLifeTimeRAM() Removed.
getGPUMemory() Removed.
getGPUName() Removed.
setMaxNumActiveTargets( int ) Removed.
getMaxNumActiveTargets() Removed.
destroyCacheTexture( const UGUID& ) Removed.
createCacheTexture( const UGUID& ) Removed.
destroyCacheTextures( ) Removed.
unloadCacheTextures( ) Removed.
loadCacheTextures( ) Removed.
getCacheTexture( const UGUID &, bool ) Set of arguments changed.
getGLContext( ) Removed.
reloadCacheTexture( const UGUID & ) Removed.

New Functions

Renderer Class#

UNIGINE 2.18.1 UNIGINE 2.19
getAllSurfaces( Vector <Renderer::RenderSurface> & ) Removed.
renderMeshStatic( const Ptr<MeshStatic> &, const Ptr<Material> &, const char *, const Math::Mat4 &, const Ptr<Camera> & ) Removed. Use renderMesh( const Ptr<MeshRender> &, const Ptr<Material> &, const char *, const Math::Mat4 &, const Ptr<Camera> & ) instead.

New Functions

Shader Class#

UNIGINE 2.18.1 UNIGINE 2.19
getGLProgramID( ) Removed.

StructuredBuffer Class#

UNIGINE 2.18.1 UNIGINE 2.19
getGLBufferID( ) Removed.

SystemInfo Class#

TerrainDetail Class#

UNIGINE 2.18.1 UNIGINE 2.19
setMaterialPath( const char * ) Renamed as setMaterialFilePath( const char * ).
getMaterialPath( ) Renamed as getMaterialFilePath( ).

Texture Class#

UNIGINE 2.18.1 UNIGINE 2.19
getGLInternalFormat( ) Removed.
getGLPixelFormat( ) Removed.
getGLPixelType( ) Removed.
getGLTarget( ) Removed.
getGLTextureID( ) Removed.
fromGLTexture2D( unsigned int, int, int, int, int ) Removed.
fromGLTexture2D( unsigned int, int, int, int, int, int ) Removed.

UGUID Class#

UNIGINE 2.18.1 UNIGINE 2.19
getString () Renamed as makeString ().
getFileSystemString () Removed. Use FileSystem::guidToPath (const UGUID &guid) instead.
setFileSystemString (const char* str) Removed. Use FileSystem::pathToGuid (const char* str) instead.
get () Removed.
hashLong( ) Removed.

New Functions

VR Class#

VRMixedReality Class#

WidgetEditLine Class#

WidgetEditText Class#

World Class#

WorldClutter Class#

Xml Class#

Syncker::Manager Class#

New Functions

Syncker::Master Class#

UNIGINE 2.18.1 UNIGINE 2.19
getSlaveView( int, int ) Removed.
setSlavePlayer( int, const Ptr<Player> & ) Removed. Use setCustomPlayer( const char *, const Ptr<Player> & ) instead.
setSlavePlayer( const char *, const Ptr<Player> & ) Removed. Use setCustomPlayer( const char *, const Ptr<Player> & ) instead.

New Functions

Syncker::Slave Class#

Syncker::Syncker Class#

UNIGINE 2.18.1 UNIGINE 2.19
setView( int, const char * ) Removed.
getView( int ) Removed.
clearViews( ) Removed.
getViewOffset( ) Removed.
Last update: 2024-09-03
Build: ()