Skip to content
SiteEmail

The Player command line arguments have had a complete overhaul. They now support several new things:

  • Viewing all command line arguments through --help.
  • A lot of previously hidden command line arguments have been made public.
  • All player command line arguments can now be set through a config file, using toml syntax.
  • All command line arguments are now more flexible in terms of syntax, for example accepting --arg value, --arg=value, --arg="value", etc.

Gameface can now load and use images with WebP format. The support is limited to simple images without filters and animations.

The MultiTouchEventsHandling option of the UMG Widgets indicates whether Touch events (Touch Down, Touch Move and Touch Up) should be gathered and handled by the UI together at the end of the Input frame or separately - one by one.

Please note that Multi Touch events handling will have a side effect on the input propagation as we can no longer check whether the UI handles every single touch or not, because events are processed later in bulk.

Custom Effects feature support for UMG Widgets

Section titled “Custom Effects feature support for UMG Widgets”

The Custom Effects feature can now be used with UMG Widgets, which includes both HUD Widgets, and Widgets attached to an Actor as a component.

We've removed the Android and iOS libraries and samples from the common packaging, thus significantly reducing the size of the Gameface PC packages.

By splitting them into a separate Mobile package, we make sure you can download only what you need. From now on, you can treat the new Mobile packages in the same way you treat the console packages.

This is done for all of our package types, namely:

  • Native fragments
  • Unity 3D UPM packages
  • Unreal Engine zips and installers

The Player config file is now in toml format (previously json) and all command line arguments are now configurable through it (previously, only coui-root and fonts were configurable). The Player's default Config file is already converted to the new format and does not require changes. However, if you had any custom changes to your Config file, they would need to be ported to the new toml syntax.

An example on how to use the new coui-root and font registration, see the Player's provided Config file, which can be found at <package_root>/Player/Config.toml.

If you rely on custom shaders, the pixel shader additional flags in CohCommonPS.ihlsl should be updated with the following new values:

static const int PSAF_GammaTextureSpace_0 = 0x10;
static const int PSAF_GammaTextureSpace_1 = 0x20;

The newly introduced flags PSAF_GammaTextureSpace_0 and PSAF_GammaTextureSpace_1 specify whether the shader should manually perform a Linear-to-sRGB color space conversion for texture slots txBuffer and txBuffer1, respectively. This conversion is intended to be applied after sampling textures that store color information, rather than non-color data such as signed distance fields. For example:

float4 source = SAMPLE2D(txBuffer, input.Additional.xy);
if (IS_SET(int(perCommandData.y), PSAF_GammaTextureSpace_0))
{
source.rgb = LinearToSRGB(source.rgb);
}
...
float4 source1 = SAMPLE2D(txBuffer1, input.Additional.xy);
if (IS_SET(int(perCommandData.y), PSAF_GammaTextureSpace_1))
{
source1.rgb = LinearToSRGB(source1.rgb);
}

API

Added linear to sRGB color space conversion in shaders

Feature

Added support for pathLength attribute on SVG paths. By using a user defined length for the path, stroke-dasharray and stroke-dashoffset can be animated using only CSS as a percentage from the path length.

Feature

Added support for WebP images

Feature

Added support for the CharacterData.after and CharacterData.before DOM methods

Feature

Added support for the part pseudo-class and the exportparts attribute

Feature

Added --help command line argument for the Player application to list all available options

Feature Unity

Added support for .Net objects to be used as models for the data binding in the Unity3D integration

Feature Unreal Engine

Added Custom Effects support for UMG widgets

Enhancement

Optimized text shadows rendering. The default size for the shadow cache is reduced from 8 to 1 to save GPU memory. A performance warning has been added to indicate when the cache is full

Enhancement

Moved the computation of blur weights to the GPU to improve CPU performance

Enhancement

SIMD instructions are now utilized in the rendering library to improve CPU performance

Enhancement

Added CPU visible buffers in DirectX12 for better performance and reduced GPU memory usage

Enhancement

Added support for skew transforms on clipped or masked SVG elements with objectBoundingBox-based contentUnits

Enhancement

Added support for transform and transform-origin on SVG clip paths

Enhancement

Added support for custom CSS expressions with attributeStyleMap when setting the style via a string value

Enhancement

Added support for custom CSS expressions for coh-composition-id, coh-custom-effect-name, coh-custom-effect-string-param-1 and coh-custom-effect-string-param-2 styles

Enhancement

Added DOM.removeAttribute, DOM.focus, DOM.blur inspector APIs

Enhancement

Added support for using textures in linear color space with the SDR gamma rendering pipeline

Enhancement

Enhanced configuration support for the player - all options can now be configured with a config.toml file

Enhancement

Split Android and iOS platforms to a separate mobile package for native, Unreal and Unity

Enhancement

Improved multithreaded performance of the Sony PlayStation 5 samples by using the standard allocator

Enhancement

Added errors for invalid attributeStyleMap.set(prop, stringValue) calls

Enhancement Unreal Engine

Added logging of errors when the System actor can not begin destruction as there are still active HUD, components or widgets

Enhancement Unreal Engine

Added multi-touch support for UMG widgets

Enhancement

Added gamepad and keyboard input to the Manager UI sample

Enhancement

Enhanced logging for invalid css custom expressions to include the faulty expressions

Fix

Fixed a large memory spike caused by a single allocation during processing of rendering commands

Fix

Fixed cutting parts of some SVG images

Fix

Fixed applying fill-rule for SVG paths that override clip-rule

Fix

Fixed edge cases for transformed content using SVG clipPath or mask references

Fix

Fixed an assert when adding non-SVG elements inside the SVG DOM

Fix

Fixed using selectors before the ::slotted pseudo-class

Fix

Fixed garbage collection of CSS animations when firing animation events

Fix

Fixed CSS transitions of matrix3d styles

Fix

Fixed a potential deadlock during system destruction

Fix

Fixed a changing SVG images with innerHTML and insertAdjacentHTML

Fix

Fixed incorrect memory counters in the profiling API

Fix

Fixed the calculation of the peak usage bytes for constant buffers

Fix Unity

Resources requests are now thread-safe and handled on the main thread

Fix Unity

Fixed accumulation of Live Views in Unity3D

Fix

Fixed a crash when using latest vite and React