Release notes

Migration guide

Backend changes

In this release, we have added the possibility to resolve a multi-sampled stencil texture region directly to a 1x MSAA color texture. Custom backend users have to implement the following:

  • A command BC_ResolveAndCopyStencilRegion, which resolves the stencil of a source depth-stencil texture onto a 1x MSAA destination texture (e.g. by using a compute shader)
  • A newly added backend capability SupportsDepthStencilResolve indicating whether the backend supports BC_ResolveAndCopyStencilRegion
  • A new Texture2D property IsUnorderedAccessEnabled when creating color textures, which indicates that the texture should be bindable as a “random access texture”
  • A new DepthStencilTexture property IsShaderResource when creating depth-stencil textures, which indicates that the texture could be sampled from in a shader
  • The render target could be an invalid handle now, indicating that only a depth-stencil resource should be bound

Changelog

Version 1.64.0


Released 04 Mar 2025
FeatureOptimized SynchornizeModels significantly by computing some of complex expressions in the attributes directly, without compiling and invoking a JavaScript function
EnhancementImproved error message for engine.call to include the name of the function when there is no handler for it
EnhancementImproved performance of UnregisterDataBindAttributes() for pages with a lot of data-binding attributes used
EnhancementModified the Components sample to use Shadow DOM
EnhancementOptimized layout for deep DOM structures with automatically sized children
EnhancementOptimized text layout performance and memory usage
EnhancementImproved error messages when data binding expression fails to parse or compile
EnhancementAdded support for multiple keyframe rules with the same name
EnhancementUnreal EngineAdded a delegate for mouse wheel event in HUD setups
EnhancementUnreal EngineAdded sharing of depth stencil textures for views with compatible dimensions to save texture memory
EnhancementRefactor backends to standardize the storing of GPU objects
EnhancementAdded profiling data and documentation for handling bad cases for the flex layout algorithm
EnhancementAdded the possibility to directly resolve a multi-sampled stencil texture region to 1xMSAA color texture for DirectX 11,12, and PlayStation rendering backends
FixFixed child element transitions not triggering after the hidden parent becomes visible
FixUpdated the TypeScript definitions for the cohtml.js
FixUnityAdded Dispose method for the CohtmlLogHandler
FixUnityFixed Unity 6 treating UPM packages as experimental
FixDisabled emitting of some profile events when Library::EnableProfling is disabled
FixFixed a visual artifact when applying backdrop filter to the whole viewport
FixFixed visual artefacts of left over text when changing the text dynamically in an inline container
FixFixed crash when accessing unreachable array element with the safe binding enabled
FixFixed animations sometimes failing to pause or wrongly resuming
FixKeyframe rules no longer pass the shadow DOM boundary
FixCSS animations now stop once their keyframe rule is removed
FixUnreal EngineFixed unsafe access of texture when texture draws tracking is enabled on console platforms
FixUnreal EngineFixed issues when recording screenshots with Inspector profiling
FixUnreal EngineFixed assert when resolving MSAA render targets on some mobile devices
FixUnreal EngineFixed a crash on older android devices related to unsupported shader buffer sizes
FixFixed cases where scissor rect would be bigger than than the viewport
FixFixed a crash when UnregisterModel with arrays when safe binding is enabled
FixFixed a crash when a precompiled script throws an exception
FixFixed binding of nested maps and arrays when safe binding is enabled
FixUnreal EngineFixed assert during shader compilation on Mac OS when ShaderModel 6 is enabled
APIAdded a new BC_ResolveAndCopyStencilRegion backend command and a SupportsDepthStencilResolve capability whether it can be used.