Release notes



Released 30 Nov 2020
FeatureSupport for CSS property text-stroke
FeatureSupport for layout and display of text in complex scripts
FeatureSupport CSS transitions for shorthand properties
FeatureAdd a way to pick the primitive that the Gameface component attaches to by specifying its name in Unreal Engine 4
FeatureExperimental] New Unity C# backend. It is supported for Unity 2019.3 or newer and for every platform except MacOSX, iOS and Androd.
FeatureSupport for Xbox Series X in Unity. The platform is supported only with C# rendering backend.
EnhancementAdded Gameface Mac Player and Launcher to the UE4 packages
EnhancementAdded mechanism for reusing ViewStates between HUD/UWidget recreations in Unreal Engine 4
EnhancementAdded vw, vh suffices for scrollHeight and scrollWidth properties
EnhancementAdded HTTP support for the Player on Mac OS X
FixFixed crash when binding JavaScript models with null value
FixFixed a crash when invoking innerHTML inside custom element callbacks
FixFixed wrongly calculated dimensions when using dynamically sized flex containers
FixFixed performance regression caused by allowing multiple paint rectangles
FixFixed XHR response status code propagating to JavaScript
FixFixed index values on input events
FixTrigger video onerror for unsupported codecs and errors during decoding
FixFixed document loading after image loading has been canceled
FixFixed custom event attributes handling on cloned elements
FixFixed suffixed properties like right[PX|VH|VW] in computed styles
FixFixed potential crash during initialization on Mac OS X
FixFixed default input element cursor
FixIgnore unsupported CSS selectors and continue parsing the stylesheet
FixFixed allocations without tags in MediaPlayerSourceBuffer
FixFixed accumulating unresolved promises for invocations with missing C++ handlers
FixFixed setting timestamp value when updating the gamepad data in Unreal Engine 4
FixFixed user image request leaks that caused deadlocks
FixFix possible broken state of ClickThroughQuery after resize
FixFix crash when game starts with Korean language
FixFix crash in break-iterators due to incorrect string conversion in Unreal Engine 4
FixAdd proper handling of overlapping border radii when clipping with rounded rectangle and filling and stroking rounded rectangle
APIAdd API for setting rendering resolution, independent from the HTML resolution Render sublayers that are transformed with the correct scaling as well
APIExpose methods for setting all the caches
APICalls to without C++ handler bound, will reject the returned promise objects
APIModify the Renoir backends initialization so that all constructors take a single settings object


Released 18 Dec 2020
FeatureAdd aspect ratio media feature support
FeatureAdded support for the change event listener for input and textarea elements
EnhancementSupport VW/VH suffices in scrollTop and scrollLeft element properties
EnhancementgetModifierState support for Keyboard and Mouse events
EnhancementUpdate PlayStation 4 to SDK 8.0
EnhancementUpdate PlayStation 5 to SDK 2.0
FixFix image alignment with coh-inline paragraphs
FixFixed CohtmlToTransformMatrix2D to handle invalid inputs
FixFixed text-transformation styles sticking to detached nodes
FixAdded I18NManager in Unity3D for PlayStation 4 and PlayStation 5
FixFixed View flicking when creating multiple views
FixFixed a crash in FInternationalizationManager class
FixFixed crash when passing null for custom data-binding attribute state
FixFixed mouse cursor notification for input fields without explicit type
FixFixed indices for input elements
FixFixed the timestamp for gamepad events in Unreal Engine 4


Released 08 Feb 2021
FeatureAdded clipboard support in Cohtml Player for Mac OS X
FeatureAdded support for font-weight CSS property support
FeatureAdded clipboard support for CohtmlPlugin in Unreal Engine 4
FeatureAdded support for media decoders and inspector for UnrealEngine 4 on Nintendo Switch
FeatureAdded WebSocket support for Unity3D
EnhancementAdded support XMLHttpRequest timeout
EnhancementAdded support for Unreal Engine 4.26
EnhancementAdded support for Universal Rendering Pipeline for Unity3D
EnhancementAllowed OnEnabled and OnDisabled to be overridden in Unity3D
FixFixed exposing the INodeProxy to C# code in Unity3D
FixFixed redrawing SVG images every frame
FixFixed complex text shaping issues when mixing different languages
FixFixed Cohtml Player not working with –root cmd argument on Mac OS X
FixFixed freeze when running the video playback sample on a machine without audio devices
FixFixed missing context when using mutation observers
FixFixed issues with parsing @font-face URL declarations
FixFixed parsing of multiple CSS selectors followed by selection pseudo selector
FixFixed crash on closing the Player with open Websocket connections
FixFixed reversed Ctrl and Command/Meta modifiers on Mac OS X
FixFixed crash on Xbox One with Unity3D
FixFixed missing JavaScript context during destruction of canvas elements
FixFixed layout of flexbox items after changing their text content
FixRemoved usage of Unity3D APIs in static constructors on PlayStation 4
FixFixed clashes between renoir float2 and client float2 types
FixFixed parsing of fonts specified with url() without quotes
FixFixed mixing of files in a single folder from Unity3D packages for different platforms
APIChanged the logging severity of assert failures to be CriticalError and above the current Error level
APIThe load event is fired after the fonts from the stylesheets have been loaded

Migration guide

Introduction of MSDF user fonts

So far, we only had support for offline user-generated Bitmap fonts. In this version, we are introducing offline user-generated MSDF font support.

  • The ST_RenderSDF shader type was removed and new ST_TextSDFGPU, ST_TextStrokeSDFGPU, ST_BatchedTextSDFGPU, ST_TextMSDF, ST_TextStrokeMSDF and ST_BatchedTextMSDF shader types were introduced and added to the shader mappings. The first three are used for rendering of SDF fonts generated on the GPU, while the other three are used for the newly introduced MSDF rendering. Client attention/changes required!
  • The PST_SDFRender and PST_SDDOutlineRender pixel shader source was moved from the CohShadeGeometry.ihlsl file to the CohShadeGeometryRare.ihlsl one. Client attention/changes required!
  • The PST_MSDFRender and PST_MSDFOutlineRender pixel shader types were implemented in the CohShadeGeometryRare.ihlsl file. Client attention/changes required!

With the introduction of another type of user font, we decided to simplify the API for loading user fonts.

  • As a result, we are no longer using the old cohtml::System::BitmapFontDescription object, but the new cohtml::System::UserFontDescription one. Aside from the changed name, it has two new parameters. The first is the type of the font, which specifies whether we are using the old Bitmap font logic, or the newly introduced MSDF one. The second one is the spread, which should be set to 0 in the case of Bitmap fonts and to the correct value for fonts that are using distance fields like the MSDF fonts, for example.
  • The pair of cohtml::System::AddBitmapFont functions have been changed to a pair of cohtml::System::AddUserFont ones, that take the new cohtml::System::UserFontDescription configuration object instead of the old cohtml::System::BitmapFontDescription one. This means that all references to that type (and its subtypes) should be changed to reflect how the new API works.