API Migration
Major Changes#
- Added a new AtomicInteger class.
- Added a new AtomicLockFreeAlign class.
- Added a new AtomicLockFreeRaw class.
- Added a new AtomicPointer class.
- Added a new AtomicWithMutex class.
- Added a new CPUShaderCallable class.
- Added a new CPUShaderCallableStateless class.
- Added a new MutexAdvance class.
- Added a new MutexCriticalSection class.
- Added a new MutexSlim class.
- Added a new MutexSpin class.
- Added a new PoolCPUShaders class.
- Added a new RWMutexSlim class.
- Added a new RWMutexSpin class.
- Added a new ReentrantMutexBase class.
- Added a new ScopedMutexLock class.
- Added a new ScopedMutexReaderLock class.
- Added a new ScopedMutexWriterLock class.
- Added a new ScopedSpinLockInteger class.
Breaking Changes#
AsyncQueue Class#
New Functions
- ASYNC_THREAD.BACKGROUND
- ASYNC_THREAD.ASYNC
- ASYNC_THREAD.GPU_STREAM
- ASYNC_THREAD.FILE_STREAM
- ASYNC_THREAD.MAIN
- ASYNC_THREAD.NEW
- ASYNC_THREAD.NUM_ASYNC_THREADS
- ASYNC_PRIORITY.CRITICAL
- ASYNC_PRIORITY.DEFAULT
- ASYNC_PRIORITY.BACKGROUND
- RunSyncMultiThread( CallbackMultiThread, int )
- RunAsyncMultiThread( CallbackMultiThread, int )
- RunAsync( AsyncQueue.ASYNC_THREAD, AsyncCallback, AsyncQueue.ASYNC_PRIORITY )
ComponentSystem Class#
CustomSystemProxy Class#
New methods should be implemented in case you inherit from the CustomSystemProxy Class.
DecalMesh Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
GetMeshProceduralRAM( ) | Renamed as GetMeshDynamicRAM( ). |
GetMeshProceduralVRAM( ) | Renamed as GetMeshDynamicVRAM( ). |
AsyncCalculateNodes( int ) | Removed. |
AsyncCalculateEdges( int ) | Removed. |
ApplyMeshProcedural( Mesh ) | Removed. Use one of the following methods: ApplyMoveMeshProceduralAsync( Mesh, MeshRender ) ApplyMoveMeshProceduralAsync( Mesh, int ) ApplyCopyMeshProceduralAsync( Mesh, int ) ApplyMoveMeshProceduralForce( Mesh, MeshRender ) ApplyMoveMeshProceduralForce( Mesh, int ) ApplyCopyMeshProceduralForce( Mesh, int ) |
New Functions
- SetMeshProceduralMode( ObjectMeshStatic.PROCEDURAL_MODE, int )
- RunGenerateMeshProceduralAsync( GenerateMeshProcedural, int)
- RunGenerateMeshProceduralAsync( GenerateMeshProcedural, DoneMeshProcedural, int)
- RunGenerateMeshProceduralForce( GenerateMeshProcedural, int )
- RunGenerateMeshProceduralForce( GenerateMeshProcedural, DoneMeshProcedural, int )
- DeleteDynamicMesh( )
- ApplyMoveMeshProceduralAsync( Mesh, MeshRender )
- ApplyMoveMeshProceduralAsync( Mesh, int )
- ApplyCopyMeshProceduralAsync( Mesh, int )
- ApplyMoveMeshProceduralForce( Mesh, MeshRender )
- ApplyMoveMeshProceduralForce( Mesh, int )
- ApplyCopyMeshProceduralForce( Mesh, int )
- GetCopyMeshRAM( Mesh )
- CreateCopyMeshRAM( )
New Properties
Dir Class#
Engine Class#
FileSystem Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
CreateMount( string, string, int, string[], string[], string[], bool ) | Set of arguments changed. |
New Functions
FileSystemMount Class#
GeodeticPivot Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
ToWorld( dvec3, GeodeticPivot.UP_AXIS ) | Set of arguments changed. |
ToWorldPreserveRotation( mat4, dvec3, GeodeticPivot.UP_AXIS ) | Set of arguments changed. |
ToWorldPreserveRotation( dmat4, dvec3, GeodeticPivot.UP_AXIS ) | Set of arguments changed. |
New Functions
InputGamePad Class#
InputJoystick Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
PlayForceFeedbackEffectConstant( float ) | Set of arguments changed. |
PlayForceFeedbackEffectRamp( float, ulong ) | Set of arguments changed. |
PlayForceFeedbackEffectSineWave( float, uint ) | Set of arguments changed. |
PlayForceFeedbackEffectSquareWave( float, uint ) | Set of arguments changed. |
PlayForceFeedbackEffectTriangleWave( float, uint ) | Set of arguments changed. |
PlayForceFeedbackEffectSawtoothDownWave( float, uint ) | Set of arguments changed. |
PlayForceFeedbackEffectSawtoothUpWave( float, uint ) | Set of arguments changed. |
New Functions
- PlayForceFeedbackEffectDamper( float, float, float, float )
- PlayForceFeedbackEffectFriction( float, float, float, float )
- PlayForceFeedbackEffectSpring( float, float, float, float, float, float )
- PlayForceFeedbackEffectSawtoothDownWave( float, float, float, int, uint, uint, uint, uint )
- PlayForceFeedbackEffectSawtoothUpWave( float, float, float, int, uint, uint, uint, uint )
- PlayForceFeedbackEffectTriangleWave( float, float, float, int, uint, uint, uint, uint )
- PlayForceFeedbackEffectSquareWave( float, float, float, int, uint, uint, uint, uint )
- PlayForceFeedbackEffectSineWave( float, float, float, int, uint, uint, uint, uint )
InputVRDevice Class#
Json Class#
Landscape Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
GetTemporaryTexture( ivec2 ) | Removed. Landscape textures should now be created using the corresponding constructor LandscapeTextures( ivec2 ). |
ReleaseTemporaryTexture( LandscapeTextures ) | Removed. Landscape textures are now removed via the destructor of the LandscapeTextures class. |
New Functions
LandscapeMapFileSettings Class#
LandscapeMapFileSettings Class#
Light Class#
LightEnvironmentProbe Class#
LightVoxelProbe Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
Property ReflectionBias | Renamed as SpecularReflectionBias. |
Property ReflectionCubicFiltering | Renamed as SpecularCubicFiltering. |
Property ReflectionEnabled | Renamed as SpecularEnabled. |
Property ReflectionVisibilityRoughnessMax | Renamed as SpecularVisibilityRoughnessMax. |
Property ReflectionVisibilityRoughnessMin | Renamed as SpecularVisibilityRoughnessMin. |
Property AmbientBias | Renamed as DiffuseNormalBias. |
Property AmbientCubicFiltering | Renamed as DiffuseCubicFiltering. |
New Properties
Material Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
TEXTURE_SOURCE_WBUFFER_WATER | Replaced with TEXTURE_SOURCE_WBUFFER_FOAM instead. |
New Functions
New Properties
Mesh Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
CreateBounds( int ) | Return value changed. |
CreateSpatialTree( int ) | Return value changed. |
RemapCVertex( int ) | Return value changed. |
New Functions
- VERTEX_CACHE_LEGACY
- BACK_TO_FRONT_LEGACY
- GetTriangleCollision( vec3, vec3, int[], int )
- GetTriangleCollision( BoundFrustum, int[], int )
- GetTriangleCollision( BoundBox, int[], int )
- GetSurfaceCollision( vec3, vec3, int[] )
- GetSurfaceCollision( out BoundFrustum, int[] )
- GetSurfaceCollision( BoundBox, int[] )
- GetRandomPoint( out vec3, out vec3, out vec3, int )
- ClearSurface( int, int )
- CreateCollisionData( int )
- ClearCollisionData( int )
- CreateEdges( int )
- HasEdges( int )
- Swap( Mesh )
- GetIntersection( dvec3, dvec3, dvec3[], vec3[], int[], int, int )
- HasCollisionData( int )
- ClearEdges( int )
- ClearSpatialTree( int )
New Properties
MeshAnimation Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
FlipYZ( ) | Return value changed. |
MeshRender Class#
ObjectGuiMesh Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
GetMeshProceduralRAM( ) | Renamed as GetMeshDynamicRAM( ). |
GetMeshProceduralVRAM( ) | Renamed as GetMeshDynamicVRAM( ). |
AsyncCalculateNodes( int ) | Removed. |
AsyncCalculateEdges( int ) | Removed. |
ApplyMeshProcedural( Mesh ) | Removed. Use one of the following methods: ApplyMoveMeshProceduralAsync( Mesh, MeshRender ) ApplyMoveMeshProceduralAsync( Mesh, int ) ApplyCopyMeshProceduralAsync( Mesh, int ) ApplyMoveMeshProceduralForce( Mesh, MeshRender ) ApplyMoveMeshProceduralForce( Mesh, int ) ApplyCopyMeshProceduralForce( Mesh, int ) |
New Functions
- SetMeshProceduralMode( ObjectMeshStatic.PROCEDURAL_MODE, int )
- RunGenerateMeshProceduralAsync( GenerateMeshProcedural, int)
- RunGenerateMeshProceduralAsync( GenerateMeshProcedural, DoneMeshProcedural, int)
- RunGenerateMeshProceduralForce( GenerateMeshProcedural, int )
- RunGenerateMeshProceduralForce( GenerateMeshProcedural, DoneMeshProcedural, int )
- DeleteDynamicMesh( )
- ApplyMoveMeshProceduralAsync( Mesh, MeshRender )
- ApplyMoveMeshProceduralAsync( Mesh, int )
- ApplyCopyMeshProceduralAsync( Mesh, int )
- ApplyMoveMeshProceduralForce( Mesh, MeshRender )
- ApplyMoveMeshProceduralForce( Mesh, int )
- ApplyCopyMeshProceduralForce( Mesh, int )
- GetCopyMeshRAM( Mesh )
- CreateCopyMeshRAM( )
New Properties
ObjectLandscapeTerrain Class#
ObjectMeshCluster Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
ApplyMeshProcedural( Mesh ) | Removed. Use one of the following methods: ApplyMoveMeshProceduralAsync( Mesh, MeshRender ) ApplyMoveMeshProceduralAsync( Mesh, int ) ApplyCopyMeshProceduralAsync( Mesh, int ) ApplyMoveMeshProceduralForce( Mesh, MeshRender ) ApplyMoveMeshProceduralForce( Mesh, int ) ApplyCopyMeshProceduralForce( Mesh, int ) |
GetMeshProceduralRAM( ) | Renamed as GetMeshDynamicRAM( ). |
GetMeshProceduralVRAM( ) | Renamed as GetMeshDynamicVRAM( ). |
AsyncCalculateNodes( int ) | Removed. |
AsyncCalculateEdges( int ) | Removed. |
New Functions
- SetMeshProceduralMode( ObjectMeshStatic.PROCEDURAL_MODE, int )
- RunGenerateMeshProceduralAsync( GenerateMeshProcedural, int)
- RunGenerateMeshProceduralAsync( GenerateMeshProcedural, DoneMeshProcedural, int)
- RunGenerateMeshProceduralForce( GenerateMeshProcedural, int )
- RunGenerateMeshProceduralForce( GenerateMeshProcedural, DoneMeshProcedural, int )
- DeleteDynamicMesh( )
- ApplyMoveMeshProceduralAsync( Mesh, MeshRender )
- ApplyMoveMeshProceduralAsync( Mesh, int )
- ApplyCopyMeshProceduralAsync( Mesh, int )
- ApplyMoveMeshProceduralForce( Mesh, MeshRender )
- ApplyMoveMeshProceduralForce( Mesh, int )
- ApplyCopyMeshProceduralForce( Mesh, int )
- GetMeshDynamicVRAM( )
- GetCopyMeshRAM( Mesh )
- CreateCopyMeshRAM( )
New Properties
ObjectMeshClutter Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
ApplyMeshProcedural( Mesh ) | Removed. Use one of the following methods: ApplyMoveMeshProceduralAsync( Mesh, MeshRender ) ApplyMoveMeshProceduralAsync( Mesh, int ) ApplyCopyMeshProceduralAsync( Mesh, int ) ApplyMoveMeshProceduralForce( Mesh, MeshRender ) ApplyMoveMeshProceduralForce( Mesh, int ) ApplyCopyMeshProceduralForce( Mesh, int ) |
GetMeshProceduralRAM( ) | Renamed as GetMeshDynamicRAM( ). |
GetMeshProceduralVRAM( ) | Renamed as GetMeshDynamicVRAM( ). |
AsyncCalculateNodes( int ) | Removed. |
AsyncCalculateEdges( int ) | Removed. |
New Functions
- SetMeshProceduralMode( ObjectMeshStatic.PROCEDURAL_MODE, int )
- RunGenerateMeshProceduralAsync( GenerateMeshProcedural, int)
- RunGenerateMeshProceduralAsync( GenerateMeshProcedural, DoneMeshProcedural, int)
- RunGenerateMeshProceduralForce( GenerateMeshProcedural, int )
- RunGenerateMeshProceduralForce( GenerateMeshProcedural, DoneMeshProcedural, int )
- DeleteDynamicMesh( )
- ApplyMoveMeshProceduralAsync( Mesh, MeshRender )
- ApplyMoveMeshProceduralAsync( Mesh, int )
- ApplyCopyMeshProceduralAsync( Mesh, int )
- ApplyMoveMeshProceduralForce( Mesh, MeshRender )
- ApplyMoveMeshProceduralForce( Mesh, int )
- ApplyCopyMeshProceduralForce( Mesh, int )
- IsMeshProceduralDynamic( )
- IsMeshProceduralActive( )
- IsMeshProceduralDone( )
- GetCopyMeshRAM( Mesh )
- CreateCopyMeshRAM( )
New Properties
ObjectMeshSkinned Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
GetBoneSkiningTransform( int ) | Renamed as GetBoneSkinningTransform( int ). |
ObjectMeshStatic Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
ApplyMeshProcedural( Mesh ) | Removed. Use one of the following methods: ApplyMoveMeshProceduralAsync( Mesh, MeshRender ) ApplyMoveMeshProceduralAsync( Mesh, int ) ApplyCopyMeshProceduralAsync( Mesh, int ) ApplyMoveMeshProceduralForce( Mesh, MeshRender ) ApplyMoveMeshProceduralForce( Mesh, int ) ApplyCopyMeshProceduralForce( Mesh, int ) |
GetMeshProceduralRAM( ) | Renamed as GetMeshDynamicRAM( ). |
GetMeshProceduralVRAM( ) | Renamed as GetMeshDynamicVRAM( ). |
AsyncCalculateNodes( int ) | Removed. |
AsyncCalculateEdges( int ) | Removed. |
New Functions
- SetMeshProceduralMode( ObjectMeshStatic.PROCEDURAL_MODE, int )
- PROCEDURAL_MODE.DISABLE
- PROCEDURAL_MODE.DYNAMIC
- PROCEDURAL_MODE.FILE
- PROCEDURAL_MODE.BLOB
- RunGenerateMeshProceduralAsync( GenerateMeshProcedural, int)
- RunGenerateMeshProceduralAsync( GenerateMeshProcedural, DoneMeshProcedural, int)
- RunGenerateMeshProceduralForce( GenerateMeshProcedural, int )
- RunGenerateMeshProceduralForce( GenerateMeshProcedural, DoneMeshProcedural, int )
- DeleteDynamicMesh( )
- ApplyMoveMeshProceduralAsync( Mesh, MeshRender )
- ApplyMoveMeshProceduralAsync( Mesh, int )
- ApplyCopyMeshProceduralAsync( Mesh, int )
- ApplyMoveMeshProceduralForce( Mesh, MeshRender )
- ApplyMoveMeshProceduralForce( Mesh, int )
- ApplyCopyMeshProceduralForce( Mesh, int )
- IsMeshProceduralDynamic( )
- IsMeshProceduralActive( )
- IsMeshProceduralDone( )
- GetCopyMeshRAM( Mesh )
- CreateCopyMeshRAM( )
New Properties
PackageUng Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
PackageUng( string, string ) | Set of arguments changed. |
Property CompressionType | Removed. Use GetCompressExtension( int ) instead. |
Clone( ) | Removed. |
GetFileName( int ) | Removed. Use GetFilePath( int ) instead. |
RemoveFile( string ) | Removed. |
RemoveFile( int ) | Removed. |
New Functions
Property Class#
PropertyParameter Class#
Render Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
GetD3D11Factory( ) | Removed. |
GetD3D11Device( ) | Removed. |
GetD3D11Context( ) | Removed. |
Property SSRTGINoiseStep | Removed. |
Property EventBeginAuxiliaryBuffer | Removed. Use EventBeginAuxiliaryDecals or EventBeginAuxiliarySurfaces instead. |
Property EventEndAuxiliaryBuffer | Removed. Use EventEndAuxiliaryDecals or EventEndAuxiliarySurfaces instead. |
New Functions
- RENDER_VR_EMULATION_MODE.DISABLED
- RENDER_VR_EMULATION_MODE.VIVE
- RENDER_VR_EMULATION_MODE.VIVE_PRO
- RENDER_VR_EMULATION_MODE.VIVE_PRO_2
- RENDER_VR_EMULATION_MODE.VIVE_FOCUS_3
- RENDER_VR_EMULATION_MODE.VIVE_FOCUS_VISION
- RENDER_VR_EMULATION_MODE.VIVE_XR_ELITE
- RENDER_VR_EMULATION_MODE.OCULUS_RIFT
- RENDER_VR_EMULATION_MODE.QUEST_2
- RENDER_VR_EMULATION_MODE.QUEST_3S
- RENDER_VR_EMULATION_MODE.QUEST_3
- RENDER_VR_EMULATION_MODE.QUEST_PRO
- RENDER_VR_EMULATION_MODE.PICO_4
- RENDER_VR_EMULATION_MODE.VALVE_INDEX
- RENDER_VR_EMULATION_MODE.VARJO_VR_3
- RENDER_VR_EMULATION_MODE.VARJO_VR_4
- RENDER_VR_EMULATION_MODE.RENDER_VR_EMULATION_NUM_MODES
- RENDER_DLSS_PRESET.H
- RENDER_DLSS_PRESET.I
- RENDER_DLSS_PRESET.J
- RENDER_DLSS_PRESET.K
- IsUpscaleModeSupported( Render.RENDER_UPSCALE_MODE )
New Properties
- IndirectSpecularNormalization
- SharpenBlurSigma
- SharpenBlurColorThreshold
- SharpenBlurDarkColorThresholdBias
- SharpenBlurRadius
- SharpenDiagonalSamples
- ReflectionDynamicAlphaFade
- EventBeginWaterGBuffer
- EventEndWaterGBuffer
- EventBeginAuxiliarySurfaces
- EventEndAuxiliarySurfaces
- EventBeginAuxiliaryDecals
- EventEndAuxiliaryDecals
Renderer Class#
RenderState Class#
RenderTarget Class#
Profiler Class#
Shader Class#
StructuredBuffer Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
GetD3D11ShaderResourceView( ) | Removed. |
GetD3D11UnorderedAccessView( ) | Removed. |
Property IsUsageCPUResource | Removed. Use IsUsageRender instead. |
Property IsUsageGPUResource | Removed. Use IsUsageRender instead. |
New Functions
New Properties
Texture Class#
Unsupported texture formats (RGB8/RGB16/RGB32, R24B8, D24) were removed, see replacement details below.
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
Texture( Image, int, int, int ) | Set of arguments changed. |
GetD3D11DepthStencilView( ) | Removed. |
GetD3D11DepthStencilView( int ) | Removed. |
GetD3D11RenderTargetView( int ) | Removed. |
GetD3D11RenderTargetView( ) | Removed. |
GetD3D11ShaderResourceView( ) | Removed. |
GetD3D11Texture( ) | Removed. |
GetD3D11UnorderedAccessView( int ) | Removed. |
FromD3D11Texture2D( IntPtr, int, int, int, int, int ) | Removed. |
FromD3D11Texture2D( IntPtr, int, int, int, int ) | Removed. |
FORMAT_RGB8 | Removed. Use FORMAT_RGBA8 instead. |
FORMAT_RGB16 | Removed. Use FORMAT_RGBA16 instead. |
FORMAT_RGB16U | Removed. Use FORMAT_RGBA16U instead. |
FORMAT_RGB16F | Removed. Use FORMAT_RGBA16F instead. |
FORMAT_RGB32U | Removed. Use FORMAT_RGBA32U instead. |
FORMAT_RGB32F | Removed. Use FORMAT_RGBA32F instead. |
FORMAT_R24B8 | Removed. Use FORMAT_R32F instead. |
FORMAT_D24 | Removed. Use FORMAT_D32F instead (in case the Stencil was used, replace with FORMAT_D24S8/FORMAT_D32FS8). |
VR Class#
New Functions
- GetScriptableMaterialEnabled( VR.EYE_TYPE, int )
- SetScriptableMaterialEnabled( VR.EYE_TYPE, int, bool )
- SwapScriptableMaterials( VR.EYE_TYPE, int, int )
- RemoveScriptableMaterial( VR.EYE_TYPE, int )
- AddScriptableMaterial( VR.EYE_TYPE, Material )
- FindScriptableMaterial( VR.EYE_TYPE, Material )
- InsertScriptableMaterial( VR.EYE_TYPE, int, Material )
- SetScriptableMaterial( VR.EYE_TYPE, int, Material )
- GetScriptableMaterial( VR.EYE_TYPE, int )
- GetNumScriptableMaterials( VR.EYE_TYPE )
- ClearScriptableMaterials( VR.EYE_TYPE )
New Properties
VREyeTracking Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
Property RawCaptureTime | Renamed as CaptureTime |
New Functions
New Properties
VRHand Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
Property IsActive | Renamed as IsTracking. |
VRHandTracking Class#
VRMixedReality Class#
Viewport Class#
UNIGINE 2.19.1 | UNIGINE 2.20 |
---|---|
Property Paused | Removed. |
Property EventBeginAuxiliaryBuffer | Removed. Use EventBeginAuxiliaryDecals or EventBeginAuxiliarySurfaces instead. |
Property EventEndAuxiliaryBuffer | Removed. Use EventEndAuxiliaryDecals or EventEndAuxiliarySurfaces instead. |
New Functions
New Properties
ViewportData Class#
Visualizer Class#
Widget Class#
WidgetTreeBox Class#
WidgetVBox Class#
IG::Manager Class#
IG::Entity Class#
The information on this page is valid for UNIGINE 2.20 SDK.
Last update:
2025-06-30
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)