Release notes

What’s new

Rendering

COLRV1 Emoji glyphs support

Prysm now supports more kinds of emoji fonts.

Prysm can now load and display emoji from COLRV1 emoji fonts. This format allows the displaying of more complex emoji glyphs that utilize gradients, compositing, and blending.

For more details, see the documentation for the emojis support

Migration guide

GPU memory tracking changes

Changes to the GPUMemoryInfo structure

In this release, the cohtml::GPUMemoryInfo::TexturesInformation[renoir::domains::TextureType::TT_Count] field has been separated into two:

  • TextureInfo TexturesInformation[TT_Count] - holds the same information about the color textures as before, continuing to categorize them by domains. However, TextureInfo TexturesInformation[TT_DepthTexture] no longer accumulates any DS textures data.
  • TextureResources DSTexturesInformation - holds information about all Depth-Stencil textures, without categorizing them by domains. All of them are considered as just Depth-Stencil textures which now have a shared usage.

All code related to the GPU memory stats will need to be adjusted to use the new representation of the GPUMemoryInfo structure in order to extract the correct DS textures GPU memory statistics. For more information check out the full GPU Memory Tracking documentation.

Changelog

Version 1.63.0


Released 31 Jan 2025
APIAltered the Depth-Stencil texture representation inside the GPUMemoryInfo struct
APIImplemented return status for data binding API methods
FeatureIntroduced support for font files that use COLRV1 table for storing color glyphs like emojis
FeatureAdded support for adding event listeners that execute only once
FeatureAdded support for passing an options object when registering event listeners
FeatureAdded support for passing an options object when removing event listeners
FeatureRemoved the need to manually set the EnableComplexTextLayout View option. Complex text will be dynamically detected and processed in the most optimal way.
EnhancementProviding Depth-Stencil texture when calling cohtml::ViewRenderer::SetRederTarget() is now optional. Prysm can now create the texture internally and share it between compatible views
EnhancementEnhanced the chat sample to be using fonts with emojis
EnhancementAllowed calling GetCurrentScriptStackTrace when there is no active JavaScript execution
EnhancementAdded hexagonal skill tree sample
EnhancementAdded separating text sample
EnhancementUnityOptimized TouchMove event handling performance when using InputSystem
EnhancementAllowed the usage of Simple Opacity for UIs generated by the Prysm plugin
EnhancementAdded an option to specify to the ScriptCompiler if the source is a module to avoid try and error compiling them as normal scripts
EnhancementAdded Shadow DOM related events and assigned nodes button to the Inspector
EnhancementAdded the --linear and --gamma X command line arguments for the Player to run it in linear sRGB mode with specified gamma multiplier
EnhancementAdded return codes for data binding API methods
EnhancementAdded throwing JavaScript exception when doing element.insertBefore with invalid reference node
FixFixed SVGs drawing incorrectly when transformations are applied with perspective
FixFixed a crash after resource request has been aborted in Unity
FixFixed registering and unregister C++ event handlers from inside another handler
FixFixed an assert for unregistered font family initial value
FixFixed a memory leak when unregistering a JavaScript model
FixFixed a possible crash when registering an existing model with different name
FixFixed incorrect selection and caret placement with emojis in input and textarea fields
FixAdded a guard for creating a second JavaScript model with a name clashing with an already registered model
FixUnreal EngineFixed engine plugin builds by adding the missing categories to blueprint exposed padding related UPROPERTY fields
FixUnreal EngineFixed potentially skipping to execute tasks resulting in hangs.
FixUnreal EngineFixed crashes related to Safe data binding when accessing array properties
FixUnreal EngineFixed max HTTP requests initializing to 0 on Unreal Engine 5.5 due to a missing config value