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#
Procedural Mesh Modifications#
Previously, procedural mesh modification in static meshes followed a straightforward but limited workflow:
- Enable procedural mode
- Assign a new mesh
- Apply changes
While simple, this model had constraints that could introduce significant issues in practice.
For example, streaming was not supported for procedural meshes, so they had to be constantly kept in memory. In complex scenarios with large or numerous procedural objects, this could lead to excessive RAM and VRAM usage, and in some cases, even application crashes.
To overcome these limitations, we've significantly extended the procedural mesh API and introduced multiple procedural modes, each optimized for different performance and memory characteristics. These modes allow you to fine-tune behavior: whether you need ultra-fast updates for a small number of objects or efficient memory use via RAM-backed or disk-backed streaming.
Please note that selecting a procedural mode directly impacts streaming and memory usage (RAM, VRAM, and disk). Be sure to understand the details before making your choice.
2.19.1 |
Source code (C#)
|
---|---|
2.20 |
Source code (C#)
|
For more details on configuration and best practices:
- Refer to the updated Procedural Mesh Workflow.
- See the following classes: ObjectMeshStatic, ObjectGuiMesh, DecalMesh, ObjectMeshCluster, ObjectMeshClutter
- Check out the new Mesh Modification and Mesh Generation samples available in both C++ and C#
Updated Multithreading#
The AsyncQueue class has been expanded to support explicit task scheduling across multiple threads.
Each task can be assigned to a specific thread type (FILE_STREAM, GPU_STREAM, BACKGROUND, etc.), giving you precise control over where and how your logic runs. Each task can be assigned relative prioritiy, enabling dynamic balancing of workload under high concurrency. This is especially useful for scenarius involving:
- Asynchronous file I/O
- GPU-side resource initialization
- Custom logic that should not block engine threads
- Parallel computations
See the new AsyncQueueTasks and AsyncQueueStress samples available in both C++ and C# to explore the updates.
A comprehensive set of atomic and synchronization primitives is available to ensure thread-safe execution. These include standard mutexes, recursive locks, spinlocks, and a variety of low-level atomic types. The system supports both automatic (context-aware) synchronization behavior and manual selection of locking strategies, giving developers full control over memory consistency and contention management.
AsyncQueue Class#
New Functions
- ASYNC_THREAD.BACKGROUND
- ASYNC_THREAD.ASYNC
- ASYNC_THREAD.ASYNC_FRAME_POOL
- 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 )
- IsPoolCPUShaderThread( )
- IsAsyncRenderThread( )
- IsBackgroundThread( )
- IsAsyncThread( )
- IsFileStreamThread( )
- IsGPUStreamThread( )
- IsMainThread( )
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. |
AddBoxSurface( string, vec3, int ) | Set of arguments changed. |
AddCapsuleSurface( string, float, float, int, int, int ) | Set of arguments changed. |
AddCylinderSurface( string, float, float, int, int, int ) | Set of arguments changed. |
AddDodecahedronSurface( string, float, int ) | Set of arguments changed. |
AddIcosahedronSurface( string, float, int ) | Set of arguments changed. |
AddPlaneSurface( string, float, float, float, int ) | Set of arguments changed. |
AddPrismSurface( string, float, float, float, int, int ) | Set of arguments changed. |
AddSphereSurface( string, float, int, int, int ) | Set of arguments changed. |
New Functions
- VERTEX_CACHE_LEGACY
- BACK_TO_FRONT_LEGACY
- COLLISION_DATA_BOUNDS
- COLLISION_DATA_EDGES
- COLLISION_DATA_SPATIAL_TREE
- COLLISION_DATA_ALL
- 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, COLLISION_DATA )
- ClearCollisionData( int, COLLISION_DATA )
- CreateEdges( int )
- HasEdges( int )
- Swap( Mesh )
- GetIntersection( dvec3, dvec3, dvec3[], vec3[], int[], int, int )
- HasCollisionData( int, COLLISION_DATA )
- 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
- EventEndAuxiliaryDecals
- EventEndAuxiliaryDecals
- StreamingCacheRAM
- StreamingCacheVRAM
- StreamingCommittedMemoryOvercommit
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.