Skip to content
SiteEmail

Gameface now supports blending of DOM elements with the 3D scene texture behind the UI. DOM elements can utilize the mix-blend-mode property and their colors can be properly blended with the game content behind them.

Particles that blend with game content

Particles that blend with game content

For more details, see the documentation for Blending With Game Content

The Player now supports the --remote-debugging-port command line argument and passing URLs without using the --url option, for example Player.exe coui://uiresources/MyUI.html. This change aims to improve the compatibility between the Player and third-party tools that have integration with Chrome or the Inspector protocol, for example when using Visual Studio Code debugging.

In this release, we have removed the possibility to pass ST_Unknown to ScriptCompiler::Compile(). The user is responsible to pass the correct script type ST_Classic or ST_Module to ScriptCompiler::Compile(). That's important because the produced optimizedData is different and it will be rejected by V8 if it is not correct. If you are not sure of which type is the script, you can try passing ST_Classic first and if the return value is nullptr, try with ST_Module. However, this is not recommended because modules that don't contain specific keywords like import/export might be successfully compiled as normal scripts.

Gameface will issue a warning if the optimizedData is pre-compiled as module and used as script or vice-versa:

Based on the supplied isCompiledAsModule in IAsyncResourceResponse::ReceiveOptimizedData(), Gameface will issue a warning if the optimizedData is used in the wrong place: "Trying to initialize module <name> with optimizedData precompiled as a script instead of a module." / "Trying to initialize normal script <name> with optimizedData precompiled as a module.".


Feature

Added support for blending UI content with the game content behind the UI texture. For more information, see the documentation of the feature

Enhancement

Added support for using white-space: nowrap to group multiple non-wrapping nodes

Enhancement

Added --remote-debugging-port and --js-flags command line options to the Player to improve compatibility with tools for Chromium based browsers

Enhancement

Added --working-dir-to-exec-dir for setting the Player working directory to be the same as the directory containing the Player executable

Enhancement

Updated Android samples to be compatible with Android Studio Koala 2024.1.2 and Gradle 8.6.0

Enhancement Unity

Improved the UI of the data-binding leader board sample in Unity

Enhancement

Improved fetching of media data to accommodate for high bit-rate video files

Enhancement

Improved decoders synchronization during playback to prevent performance stalls on the game thread

Enhancement

Improved decode scheduling to reduce video playback stalls

Enhancement

Improved memory efficiency of video playback

Enhancement

Significantly reduced layout performance overhead of playing videos

Enhancement

Improved video frame display timing

Enhancement

Added support for sharing depth-stencil textures with different size than the color texture

Enhancement

Enhanced the Player command-line help descriptions for options with enum values

Enhancement

Support for Sony PlayStation 5 SDK 11.000

Enhancement

Support for Sony PlayStation 4 SDK 12.500

Enhancement

Added DirectX 12 support to the Player

Enhancement

Updated the documentation for implementing the Property interface for using data-binding with dynamic types

Enhancement

Allowed empty arrays to be indexed in data-binding expressions

Enhancement

Added a warning if the pre-compiled optimized data is not compatible and will not be used to speed JavaScript execution

Enhancement Unreal Engine

Added preliminary support for Unreal Engine 5.6

Enhancement Unreal Engine

Fixed allocator mismatch crash for mobile platforms by using StaticAllocatorType.Ansi Allocator for mobile platforms

Enhancement Unreal Engine

Added documentation how to ensure that there is no allocator mismatch on mobile platforms

Enhancement Unreal Engine

Added detection and warning for user UTextures whose lifetime is bound to a UWorld

Enhancement Unreal Engine

Added support for automated binding of fixed sized arrays

Fix Unreal Engine

Fixed window size and coordinates in JavaScript for UMG widgets

Fix Unreal Engine

Fixed UWorld unloading when changing maps with UMG widgets

Fix

Fixed using the Backdrop Filter and Custom Effects features in the Player

Fix

Fixed crash due to preloading font data of an already destroyed typeface

Fix

Fixed a crash when parsing complex data-binding expressions with lambda

Fix

Fixed video memory leak when recreating the view

Fix

Fixed a compiler error when using /Zc:wchar_t- with Microsoft Visual Studio

Fix

Fixed wrong values with dynamic data binding when replacing attributes with setAttribute()

Fix

Fixed font-face rules in SVG styles affecting elements outside the SVG

Fix

Fixed inline SVGs not redrawing on font load when their font is not previously loaded

Fix

Fixed crash when trying to use non-inline SVG with keyframe rule

Fix

Stopped rematching all elements when an svg with style tag is inserted in the DOM

Fix

Fixed failing to restyle with attribute selectors inside SVG styles

Fix

Fixed adding and removing styles from inline SVGs

Fix

Fixed fonts failing to unload when font-face rule is inside SVG

Fix

Fixed error in complex data-binding expressions with JavaScript models that fail to compile

Fix Unity

Close the virtual keyboard when touching outside the input field on iOS

Fix

Allow asynchronous style solving when composition-id and custom-effect-name properties are empty or initial

Fix

Fixed a crash when setting a composition-id on the <html> element without surface partitioning

Fix

Fixed losing video volume adjustments on seek in the Player app

Fix

Fixed a potential stall at the end of the video causing it to get stuck

Fix

Fixed a crash when adding pathLength to SVG nodes which have no display

Fix Unity

Fixed support for multiple members of the same type in a class for data-binding in Unity

Fix

Fixed a ResizeObserver assert when destroying a non-inline SVG during styling

Fix

Fixed a possible crash if a ScriptCompiler instance was destroyed too soon

Fix

Limited the memory used for constant buffers

Fix

Fixed accumulation of memory in the GPU resource tracking

Fix

Fixed assert for re-exposing DOM nodes when GC happens inside cloneNode

API

Removed the default value of scriptType parameter in ScriptCompiler.Compile()

API

Removed ScriptCompiler::ScriptType::ST_Unknown

API

Removed support for Sony PlayStation 5 SDK 8.000

API

Removed support for Sony PlayStation 4 SDK 11.500