Unreal Engine 4.24 リリース ノート

Unreal Engine 4.24 リリースノート

Windows
MacOS
Linux

新機能

Unreal Engine 4.24 では引き続き ツールを使ってこれまでにない生産を引き出せるように、限りなくリアルな世界の作成を探求します。ユーザーを誘い込み、その後も彼らが参加し続けるような真実味のあるワールドとエクスペリエンスを、どんな規模のチームでも制作できることが望ましいです。ビジョンの実現への近道となるように、幅広い範囲において数多くのツールの追加およびワークフローの改善を行いました。

新しい非破壊的なレイヤーベースのランドスケープ ワークフローは、テレインがワールドの他の要素に自動的に適合して、さらにワクワク感と魅力に溢れたアウトドア環境 を作り出すことができます。Sky Atmosphere コンポーネントは 1 日の時間に応じて動的に更新することができる物理的に正確な空 を生成し、本物らしい外観の地上または空中から表示して惑星の宇宙を作成することができます。 新しい実験的機能のストランドベースの毛髪および毛皮を使って、キャラクターに本物のようなフサフサの髪の毛をつけてることができます。Screen-Space Global Illumination を使って、少ない数のリソースで自然な光であふれた空港を作成できます

Datasmith はすべての Unreal Engine ユーザーが使えるようになり、高い忠実度、画面全体の変換機能を多くの人々に提供します。新機能の Visual Dataprep は、データ準備ワークフローの自動化をより利用しやすくなり、 設計重視の小規模チームに有用です。Live Universal Scene Description (USD) Stage Actor は、ディスク上の USD ファイルへの直接リンクを作成し、より高速なイタレーションと連携の向上を図ります。プロジェクト作成ワークフローは、産業を中心にしたウィザード スタイル ワークフロー、または作成中のプロジェクト タイプを含みますので、関係する設定とツールのみを表示できるようになりました

今回のリリースに含まれる 98 の改善点は、GitHub のアンリアル エンジンのデベロッパーのコミュニティから寄せられたものです。Unreal Engine 4.24 に貢献いただいた以下の皆様に謝意を表します (以下、敬称略)。

Morva Kristóf "KristofMorva", "projectgheist", Rémi Bismuth "Grouflon", "cmsmithio", "erikdubbelboer", Paul Greveson "moppius", Homer D Xing "homerhsing", Lukasz Baran "iniside", Cedric Neukirchen "eXifreXi", Nick Edwards "NEdwards-SumoDigital", Mike Slegeir "tehpola", "Next Turn", bd "bdiamond", Muhammad A.Moniem "mamoniem", Cristiano Carvalheiro "ccarvalheiro", Doğa Can Yanıkoğlu "dyanikoglu", Igor Karatayev "yatagarasu25", Alvaro "vorixo", "Filoppi", Seokjin Lee "Othereum", Joe Best-Rotheray "cajoebestrotheray", doublebuffered, Andy Maloney "asmaloney", Thomas Miller "tmiv", dorgon chang "dorgonman", Akymbo, Mikhail Zakharov "zzz77", Doug Richardson "drichardson", Cameron Angus "kamrann", David Nadaski "GlassBeaver", Zachary Burke "error454", "CyberKatana", "treilhes", Ari Arnbjörnsson "Flassari", "mastercoms", Marat Yakupov "moadib", Jin Hyung Ahn "zenoengine", "KrisRedbeard", Sam Bonifacio "Acren", Xu Nie "niexuchina", Minseok Lee "codeonwort", "vrachels", "improbable-valentyn", Roberto De Ioris "rdeioris", Clinton Freeman "freemancw", "Monsho", Alexander "DecoyRS", Evan Hart "ehartNV", Alessio Sgarro "cmp-". Const* UKaosSpectrum "KaosSpectrum", Arvid Hansen Díaz "DonHansonDee", "SammyJames", Maxim Marinchenko "mmarinchenko","solaslin", The Coalition

主要機能

新機能:ランドスケープ非破壊的編集機能 (ベータ版)

ランドスケープを非破壊的に編集するワークフローが大幅に改善され、より柔軟かつ効率的にアウトドア環境を作成できるようになりました。

Landscape Edit Layers (ランドスケープ編集レイヤー)

ランドスケープ編集レイヤー (以前の非破壊ランドスケープ レイヤー) を使用することで、複数のレイヤーをランドスケープに追加し、非破壊的な方法で他に影響を与えずに個別に編集できます。

ランドスケープ編集レイヤー機能を有効にするには、[Manage Layers] タブの [Edit Layers] にチェックを入れます。

本機能に関する最新版のドキュメントは Landscape Edit Layers (ランドスケープ編集レイヤー) になります。

ランドスケープ ブループリント ブラシ

ランドスケープ ブループリント ブラシを使用すると、全てブループリントで定義された形状を使用して、任意のテレイン領域を作成および操作できます。複数のオーバーラップするブラシを追加し、システムにそれらをコンポジットさせることで、最終結果を表示できます。

ランドスケープ ブループリント ブラシは、2D スプライン形状とプロパティのコレクションで構成されており、マテリアル、メッシュ、フォールオフなどを指定できます。ぼかし、ノイズ、曲線などの効果を適用することもできます。オプションで、Render イベントをオーバーライドすることにより、ブラシに高さマップとレイヤー ウェイト データを注入できます。

ブループリント ブラシを使用するには、Landmass プラグインを有効にする必要があります。

Landmass プラグイン (実験的機能)

Landmass プラグインは、ランドスケープ ブループリント ブラシと「BP_CameraOverlap」という名前のブループリントの使用例を提供します。これらのブループリントを使用すると、画面に参照した写真をオーバーレイし、カメラの視点を合わせ、その参照した写真に基づいてワールドに形状を描画できます。

image_2.png

新機能:物理ベースの Sky Atmosphere コンポーネント

物理ベースの新しい Sky Atmosphere コンポーネントがサポートされるようになりました。これを使用して、動的な時刻で実際の地球のような雰囲気を作成できます。また、エキゾチックなワールドの作成に用いたり、地上宇宙間のビューの移動を含む、空からの地上のビューや空気遠近が可能になります。

image_3.png

image_4.png

この新しいコンポーネントは以下をサポートしています。

  • レイリー散乱およびミー散乱、オゾン吸収、多重光散乱の物理ベースの大気属性

  • Atmosphere プロパティとカスタム マテリアルのセットアップによる芸術的な表現

  • 自己完結型の機能を提供するための動的な時刻設定と Sun Positioner プラグインとの統合

  • 地上宇宙間、宇宙空間の遷移、惑星空間ビューといった、様々な空中遠近法

  • デバッグの詳細なビジュアリゼーション

  • その他

詳細についてはSky Atmosphere を参照してください。

簡素化された太陽と空のワークフロー

新しい SunSky アクタを使用すると、物理的にモデル化された空を設定し、シーンの地理的位置と時間に基づいて太陽の配置を駆動し、大気の散乱と吸収を支配する実ワールドの法則に基づいて空が太陽に正確に応答するのを見ることができます。

SunSky アクタは、空の外観と太陽の照明に関連するいくつかのコンポーネントを結び付けます。

  • 新しい Sky Atmosphere コンポーネント

  • 地理的に正確な太陽の位置決定

  • 指向性ライトとスカイライトで構成される標準的な屋外照明セットアップ

SunSky アクタは、Film、Television、Live EventsArchitecture、Engineering、ConstructionAutomotive、Product Design、Manufacturing カテゴリにあるほとんどのテンプレートプロジェクトにおいて空のデフォルト設定になりました。

詳細については、Sun and Sky アクタ をご参照ください。

新機能: Screen Space Global Illumination (スクリーン スペース グローバル イルミネーション: ベータ版)

Screen Space Global Illumination (スクリーン スペース グローバル イルミネーション: SSGI) を使用した動的なグローバル イルミネーションがサポートされるようになりました。これは、エフェクトにある通常の制限を全て受けてしまうスクリーン スペース エフェクトですが、コンソール プラットフォームおよびデスクトップ プラットフォーム全体でスケーラブルであり、必要な場合は多少のパフォーマンス コストで動的な GI を使用できます。

image_5.gif

1 SSGI Enabled; 2 SSGI Disabled

r.SSGI.Quality とコマンド r.SSGI.Quality を使用し、品質レベルに応じて 1 から 4 の値を選択して有効にします。

Global Illumination (グローバル イルミネーション) カテゴリの下にある [Post Process Volume (ポストプロセス ボリューム)] の設定を使用して、色合いと強度を制御します。

詳細については、スクリーン スペース グローバル イルミネーション を参照してください。

新機能: Live Universal Scene Description Stage (ライブ ユニバーサル シーン デスクリプション ステージ) (ベータ版)

Unreal レベルで Universal Scene Description (USD) Stage (ユニバーサル シーン デスクリプション ステージ) をライブで操作 できるようになりました。そのため、Unreal Engine でより直感的かつ効率的な USD データの操作が可能です。

  • 完全な双方向同期により、USD データが変更されたときにエンジン内のコンテンツを更新できます。また、Unreal でシーンを編集し、結果をディスクに書き戻すことができます。

  • 時間のかかるインポート プロセスや、重複するアセット データはありません。

  • スタティックメッシュ、カメラ、スケルタルメッシュ、バリアント、アニメーション、マテリアル (PreviewSurface および DisplayColor) をサポートします。

  • サードパーティの USD プラグインをサポートします。

新機能:Datasmith と Unreal Studio が誰でも使えるようになりました。

終了を迎えた Unreal Studio ベータ プログラムは、様々な業界から 250,000 を超える方々にご登録いただきました。記念といたしまして、Datasmith およびその他すべての Unreal Studio の機能が Unreal Engine に追加され、すべてのユーザーは無料でご使用頂けます。

Datasmith

Datasmith を使用すると、3ds Max、Cinema 4D、SketchUp Pro などの様々なサードパーティのデザイン アプリケーションから、事前に作成したシーン全体を Unreal プロジェクトに最も簡単に取り込むことができます。Datasmith は、オブジェクト階層、サーフェス マテリアルとテクスチャ、ライトとカメラのプロパティを保持し、反復的な再インポート ワークフローなどを行えます。

操作方法は こちらのリンク を参照してください。

Unreal Studio にあるその他の機能

さらに、次のようなスタジオ専用の各種機能もご使用いただけます。

  • Variant Manager :シーンの様々なバージョンをセットアップしたり、それらを動的に切り替えるのに便利です。

  • スタティックメッシュ エディタでの、スタティックメッシュの 編集機能 および 無効化 (メッシュの単純化)

  • Jacketing :レベルから完全にオクルードされたアクタとメッシュ ジオメトリをカリングするためのツールです。

  • スタティック メッシュ エディタでの 新規 UV 投影作成機能

  • Collaborative Viewer テンプレート :デスクトップ、VR、モバイル プラットフォーム全体でマルチユーザー デザイン レビュー環境を最も簡単に設定できます。

Mac OS X および Linux のサポート

Datasmith は、インポートするファイルの種類に応じて、Mac および Linux プラットフォームで利用できるようになりました。

Datasmith プラットフォームのサポートの詳細については、 こちら をご参照ください。

新機能: Visual Dataprep (ベータ)

Datasmith のインポート プロセス内で起きていることを完全に制御できるようになり、Unreal Engine においてリアルタイム ビジュアライゼーション用 3D シーンの準備に必要だった手作業を削減できます。

image_29.png

Visual Dataprep システムを使用すると、次のことができます。

  • データ準備タスクに合わせたブループリントのようなグラフ エディタを使用して、単純な手順で複雑なシーケンスの構築。

  • ジオメトリのマージ、不要なアクタの削除または置換、マテリアルの置換、テッセレーションの制御、ライトマップ UV、詳細レベル、コリジョン メッシュなどのデータの生成など。

  • シーンをインポートするときに適用できる標準化された「レシピ」を作成し、プロジェクトでの再利用。

  • 複数の入力シーンを結合し、結果を単一の Datasmith シーン階層へブレンド。

  • プレビュー ウィンドウを使用し、作業中にグラフの結果を検証。

詳細については、Visual Dataprep を参照してください。

新機能: プロジェクト作成ワークフローの改善

新しいプロジェクトを作成するためのダイアログが完全に再設計され、新しいウィザード スタイルのワークフローが組み込まれました。プロジェクトを作成するプロセスが理解しやすい小さなステップに分割され、簡素化されています。

image_6.gif

テンプレートは、分野ごとのテンプレート カテゴリに整理されました。そのため、関連するテンプレートが見つけやすくなりました。また、新しいワークフローは、選択したテンプレートに適用される設定と質問のみが表示されるようになり、不必要な混乱を避けられます。

新機能: 髪と毛皮のレンダリングとシミュレーション (実験的機能)

Unreal Engine にストランド ベースのワークフローを使用したリアルな髪と毛皮のレンダリングとシミュレーションが追加され、物理的に正確な動きで個々の髪の束をレンダリングできるようになりました。

image_30.png

image_31.png

このリリースでは、次の機能をサポートするようになりました。

  • Maya や 3ds Max などの外部 DCC アプリケーションからの Alembic (.abc) グルーミングのインポート

  • Groom コンポーネントの作成とセットアップ

  • 髪マテリアルのオーサリングと編集

  • ナイアガラを使用した、微調整によるカスタマイズ可能な設定を用いた髪用物理のセットアップ

詳細については、髪のレンダリングとシミュレーション を参照してください。

新機能: nDisplay Setup の改善

nDisplay が含まれるレンダリング システムの基礎を変更しました。それにより、複数のデバイスまたはプロジェクターに Unreal Engine のコンテンツを表示しながら同期するイマーシブな体験を、より簡単に作成できるようになりました。

  • 本リリースでは、nDisplay が要求するために使用した特別な Pawn クラスと GameMode クラスが排除されます。その代わり、nDisplay は起動時に自動的に新しいタイプのコンポーネント DisplayClusterRootComponent を作成し、インスタンスをアクティブ カメラにアタッチします。

  • フレームごとに、nDisplay はこのルート コンポーネントの位置と回転を、nDisplay コンフィギュレーション ファイルで設定したシーン ノードの階層に対する開始点として使用します。その結果、nDisplay クラスタ全体のすべてのデバイスとプロジェクターがアクティブ カメラの視点からのシーンを自動的にレンダリングします。

  • nDisplay が DisplayClusterRootComponent を自動的に作成および割当しないようにするには、1 つをブループリント クラスのどれかに CameraComponent の子として追加します。nDisplay は作成する代わりに追加されたコンポーネントをすぐに作成します。

これらの変更により、nDisplay システムが単純化され、ほぼすべてのプロジェクトですぐに作業することができます。単一のビューポートに出力するために使用している通常の Pawn、Character、Controller、GameMode クラスに何も変更を加えずに、nDisplay でプロジェクトのレンダリングが可能です。

nDisplay の詳細については、nDisplay を使用した複数のディスプレイへのレンダリング を参照してください。

新機能: レイトレーシングの改善 (ベータ)

Unreal Engine 4.24 では、レイトレーシングに数多くの新機能追加、最適化、安定性の改善が行われました。

image_32.png

改善点は次のとおりです。

  • Unreal Engine で、インスタンス スタティック メッシュと階層インスタンス スタティック メッシュ (Hierarchical Instance Static Meshes: HISM) のレンダリングがより効率的になるインスタンス、およびより実現可能な広大なワールドがしっかりサポートされるようになりました。

  • スタティックメッシュの World Position Offset および Niagara VFX のリボン エミッターを含む、追加されたジオメトリ タイプをサポートするようになりました。

  • ピクセルごとのノイズ削減にてリフレクション複数のサンプルをサポートするようになりました。

  • VR と分割画面でのマルチビューのサポート

詳細についてはリアルタイム レイトレーシング を参照してください。

レイトレースによるグローバル イルミネーションの改善 (体験版)

4.24 では、現在実験的機能であるレイトレーシングをベースにしたグローバル イルミネーション メソッドが選択しとして追加されました。Ray Traced Global Illumination (RTGI) メソッドの代替となるが追加されました。別の分野でトレードオフが生じても、ランタイム パフォーマンスを取り戻すためです。

この新しいファイナル ギャザー ベースの技術は 2 パス アルゴリズムです。スクリーン スペース履歴を使って固定レートでシェーディング ポイントを分配し、その後でそれらに再接続してメソッドの負荷を償却しようとします。

ファイナル ギャザー RTGI メソッドを有効にするには、r.RayTracingGlobalIllumination 2 を使用します。

この新しい方法の詳細については リアルタイム レイトレーシング を参照してください。

新機能: ランタイム仮想テクスチャの更新 (ベータ)

ランタイム仮想テクスチャの複雑なプロシージャル マテリアルまたはレイヤー化マテリアルを作成する際のワークフローを改善することにより、ランタイム仮想テクスチャリングの効率と安定性を引き続き向上させました。

image_8.jpg

新しいマテリアル タイプ

次の 4 つの Runtime Virtual Texture Material マテリアル オプションから選択できます。

  • Base Color

  • Base Color, Normal, Roughness, and Specular (下記の注を参照)

  • YCoCg Base Color, Normal, Roughness, and Specular

  • World Height (4.24 の新機能)

4.23 で「Base Color and Normal (ベースカラーと法線)」マテリアル オプションを使用していた Runtime Virtual Texture は、4.24 で「Base Color, Normal, Roughness, and Specular (ベースカラー、法線、ラフネス、スペキュラ)」に変換されます。

ランタイム仮想テクスチャ用の新しいストリーミング仮想テクスチャ ビルド

ランタイム仮想テクスチャが多数のアクタが存在する大きなワールドをカバーしている場合、Runtime Virtual Texture の低解像度ミップへのレンダリングは遅くなる場合があります。これは、ワールドのアクタを永続的に存在させることでワールドの一部を表す低ミップにレンダリングできるようにする必要があるということですが、この処理はメモリに負担がかかる場合があります。

しかし、これらの低解像度ミップをベイクして、ランタイム仮想テクスチャにストリーミングできるようになりました。そして、高解像度のミップは実行時に引き続きレンダリングされます。そのため、単一の仮想テクスチャがストリーミングとランタイムの両方のアプローチを最大限に活用できるようになりました。

ランタイム仮想テクスチャ アセット設定の改善

ランタイム仮想テクスチャ アセットに構成可能な設定がいくつか追加されました。これら設定により、生成されたランタイム仮想テクスチャを独自のプロジェクトやプラットフォームに合わせて最適化および調整できます。

新しいランタイム仮想テクスチャ ベースカラー ストレージ

「YCoCg Base Color, Normal, Roughness, Specular (YCoCg ベースカラー、標準、ラフネス、スペキュラ)」の新しいマテリアル タイプが追加され、ランタイム仮想テクスチャでベースカラーの異なるエンコーディングが可能になりました。このマテリアル タイプは、滑らかなグラデーションを持つ RGB 圧縮 BC1 テクスチャにより発生する可能性があるアーティファクトを低減します。パフォーマンスとメモリに負担がかかりますが、これらのタイプのアーティファクトにより品質が向上します。

新しいランタイム仮想テクスチャ法線ストレージ

法線は、BC5 テクスチャ (または 2 つの BC3 テクスチャのアルファ チャンネル) に X 値と Y 値で格納されるようになりました。また、法線 Z 方向が格納され、ワールド空間の法線の保存が可能になります。(詳細については、ドキュメントを参照してください。)

新しいランタイム仮想テクスチャ アセット アクション

Runtime Virtual Texture アセットを右クリックした時のコンテキスト メニューから使用できる新しいアクションが 2 つ追加されました。

  • Find Materials Using This は、このランタイム仮想テクスチャ アセットを参照するすべてのマテリアルをコンテンツ ブラウザで見つけてハイライトします。

  • Fix Material Usage は、Runtime Virtual Texture アセットのマテリアル タイプを変更した後、すべてのマテリアルを自動的に修正する方法を提供します。そして、Runtime Virtual Texture アセットを参照する「Runtime Virtual Texture Sample」ノードを含むすべてのマテリアルとマテリアル関数を検索します。仮想テクスチャ マテリアル タイプが Runtime Virtual Texture アセットのマテリアル タイプと一致しない場合、ノードはそれに一致するように修正されます。

スケーラビリティ オプションとコンソール変数の追加

新しいコンソール変数が多数追加され、既存のものがいくつか変更されました。それにより、プロジェクトのパフォーマンスの最適化とスケーラビリティのオプションが追加できるようにしました。これは、必要に応じてプロジェクトごとおよびプラットフォームごとに調整できるようになったということです。

ランタイム仮想テクスチャ プールの改善

仮想テクスチャ プールの構文が変更され、同じ仮想テクスチャ ページ テーブル エントリによって参照される複数のテクスチャがすべて含まれるようになりました。

プールがテクスチャ形式ごとのグループとタイル サイズに設定されるようになりました。タイル サイズはサイズの範囲として定義されるようになりました。AllowSize Scale を定義するとき、r.VT.PoolSizeScale スケーラビリティ設定はこれらをメモリ プールに適用します。

ランタイム仮想テクスチャ パラメータのサポート

新しく「Runtime Time Virtual Texture Parameter」ノードが追加されました。これは、直接作成するか、既存の「ランタイム仮想テクスチャサンプル」ノードのコンテキスト メニューで [Convert to Parameter(パラメータに変換)] を選択して作成できます。

このノードは、「Runtime Virtual Texture Sample」ノードと同じように動作しますが、サンプリングされるランタイム仮想テクスチャ アセットを、オーバーライドするマテリアル インスタンスのパラメータとして公開します。このオーバーライドは、「Runtime Virtual Texture Sample Parameter」ノードで設定された同じマテリアル タイプの Runtime Virtual Texture アセットにのみ適用されることに注意してください。

新機能: Inertial Blending (慣性ブレンド処理) (ベータ版)

Inertial Blending は変形を自然になるようにポスト処理します。典型的なアニメーション クロスフェードの代わりに使用できるパフォーマンスの高い方法です。慣性ブレンドを有効にすると、元のポーズはまったく評価されなくなります。一方、典型的なブレンド方法では、変形中は元のポーズと目的とするポーズの両方を評価して、2 つがブレンドされたポーズを作成します。慣性ブレンドを使用するには、アニメーション グラフに Inertialization ノードが含まれていなければなりません。

この機能は、The Coalition 社が 'Gears of War 4' のパフォーマンス改善のために開発してくれました。

詳細は、Blend ノード をご参照ください。コンテンツ サンプルのアニメーション レベルにも Inertial Blending の例が追加されました。

新機能: Animation Blueprint Linking (ベータ)

Sub Anim Instances システムの拡張機能である Animation Blueprint Linking で、アニメーション グラフのサブセクションの動的な切り替えが可能になります。そのため、メインのアニメーション ブループリントが使用されていないアニメーション アセットを読み込まなくなり、メモリを大幅に節約することができます。また、Animation Blueprint Linking で複数のユーザーとの共同作業が容易になりました。

詳細は、Animation Blueprint Linking を使用する をご参照ください。コンテンツ サンプルのアニメーション レベルにもAnimation Blueprint Linking の例が追加されました。

新機能: シーケンサーのコントロール リグ トラック (実験的機能)

Control Rig トラックは、シーケンス内の他のすべてのトラックに埋め込まれるようになりました。そのため、シネマティックでコントロールリグをアニメートできます。

新機能:オーディオ ミキサーの有効化

新しいオーディオ ミキサーはデフォルトで有効となりました。それにより、Unreal Engine がサポートする すべてのプラットフォームに拡張オーディオ機能がセットされるようになりました。

オーディオ ミキサーは、UE4 の既存の機能の大部分 (サウンド キュー、サウンド クラス、サウンド ミックス、減衰) のサポートに加えて、サウンドのグループにポストミックス DSP エフェクトを適用するための新しいサブミックス グラフ、個々の音源に DSP エフェクトを適用する機能、その他の多くの機能などをサポートするようになり、オーディオ機能が大幅に拡張します。オーディオ ミキサーは、サードパーティが独自のオーディオ DSP エフェクト プラグインを作成できるようになる共通のオーディオ API も提供します。

新機能: Audio Stream Caching (オーディオ ストリームキャッシング) (ベータ)

ストリーム キャッシングを使用すると、最近使用していないオーディオでも、Unreal Engine がいつでもそれをロードしたりリリースしたりできます。有効にすると、ほとんどすべての圧縮オーディオ データが USoundWave アセットから分離され、クック時に別々のチャンクに分割されるため、メモリの境界を超過することなく、必要な数のオーディオ アセットを参照できます。そして、オーディオ エンジンによる管理の状態に依らずとも、圧縮されたオーディオのチャンクをロードおよび参照できます。このメモリ管理方法は、必要なオーディオを事前に決定することが難しいオープンワールド ゲームでよく使用されます。

新機能: Audio Mixed Modulation (ベータ)

Mixed Modulation は新しいオーディオ ミックス システムで、ブループリントおよびコンポーネント システムからの一般的なオーディオ パラメータをより適切に制御できるようになります。以下の機能があります。

  • Unreal オーディオ エンジン用の汎用的で柔軟な、分離されたミックス システムを作成する機能。

  • ゲームのミックスを試聴およびデバッグするための堅牢なツール セットを確立する機能。

  • プラグインの更なる変調を目的とした拡張と使用が簡単になる API の提供。

新機能: Audio Synesthesia (ベータ)

Audio Analyzer モジュールと Audio Synesthesia プラグインの追加により、ゲームプレイ スクリプトに使用できる抽出されたオーディオ分析データを公開することで、ゲーム内で再生されるサウンドに密接に結合されたアニメーション、エフェクト、およびその他の要素を操作できるようになりました。

image_11.png

新機能: 「Sound Cue」テンプレート (ベータ)

「Sound Cue」テンプレートを使用すると、コード内でサウンド キュー ノード グラフをすばやくビルドできるため、一貫性のある信頼性の高いイテレーションが可能になります。一般クラス プロパティは継承され、ノード内の指定されたパラメータのみを他の人に公開することが可能です。

新機能: Variant Manager の改善

Variant Manager でのシーンの様々なバリエーションの設定が、これまでになく簡単になりました。そして、アクタ階層全体の可視性の切り替えが単一のプロパティで行えるようになりました。

  • バリアントに新しく追加された [Auto-expose] ボタンをアクティブにすると、作業中に現在のレベルのアクタとプロパティに加えたすべての変更を自動的に記録できます。

    • レベルに新しく追加された Switch アクタ を使用すると、子アクタのツリー全体の可視性を制御できます。Switch アクタの子は常に 1 つしか表示されないため、バリアントで子を 1 つ表示すると、他のすべての子とその子孫が自動的に非表示になります。

  • さらに、Variant Manager で使用できるアクタのタイプが増え、ポストプロセス ボリュームを含め、Variant Manager UI が文字列プロパティで動作するようになりました。

Variant Manager の詳細については、シーン バリアントを操作する および Switch アクタを使用する をご参照くださいs。

新機能: エディタ内の UV の改善

Unreal Editor で新しい UV レイアウトを作成することにより、Static Mesh アセットの周囲にあるテクスチャのラップ方法をより高度に制御できるようになりました。

image_12.png

  • Static Mesh アセットのコンテキスト メニューで UV の Unwrap UV コマンドを使用するか、スタティック メッシュ エディタのツールバーから起動します。

  • 角度のしきい値と面積の重みを微調整して、結果のレイアウトを制御します。

  • 新しい UV レイアウトを既存のチャンネルに保存するか、新しい UV レイアウトを作成します。

あるいは、スタティック メッシュ エディタの UV 投影ツールを使用して UV セットを作成する場合、新しいビューポート マニピュレータを使用すると、最終レイアウトをより適切に制御できます。

詳細については、「UV チャンネルの操作」 を参照してください。

新機能: Datasmith の相互運用性の改善

毎回のリリースのたび、Datasmith のサードパーティ アプリケーションおよびファイル形式との動作方法について改善を行っています。

Alias Studio

Alias の .wire インポータを完全に作り直し、Alias モデルに基づいた自動車のビジュアリゼーションをより迅速かつ簡単に作成できるようになりました。Alias モデルをインポートするプロセスと、Unreal で得られる結果が、Datasmith が他のタイプのソース ファイルに対して動作する方法へと合わせられました。次はその例です。

  • サーフェス テッセレーションが改善され、結果のメッシュの精度と複雑さ、およびメッシュ サーフェスをつなぎ合わせる方法のバランスを制御するためのパラメータが公開されました。[TODO:オプションへのリンク]。

  • Alias で使用されるシェーダ モデルに基づいた新しいマスター マテリアルと、シーンで使用されたシェーダ モデルのバリエーションごとのマテリアル インスタンスがインポータによって作成されます。

  • 各マテリアル インスタンスは、Alias で既にお馴染みのものと同様な一連のプロパティを公開するため、インポート後のモデルの外観の調整は簡単です。

  • Datasmith は、Alias シーンで設定したすべてのレイヤーを Unreal Engine レベルにインポートします。これらのレイヤーを使用して、エディタでアクタの可視性を制御することができます。

  • 他の Datasmith ファイル タイプで利用可能な同じ再インポートおよび再テッセレーション ワークフローの恩恵を受けることができます。

  • これらの変更により、.wire ファイルのサポートがベータ版ではなく正式なものとなりました。

3ds Max

  • Datasmith は 3ds Max の V-Ray ブレンド マテリアル (VRayBlendMtl) をサポートするようになり、Unreal Engine で新しいマスター マテリアルとマテリアル インスタンスへと自動的に変換されます。

  • ほとんどのシーンのエクスポートが大幅に高速化されました。特定の種類のオブジェクト (Forest Pack Pro オブジェクトなど) が選択されている場合は特に顕著です。

SketchUp

  • インポータは、インポート時に UV を正しく反転するようになりました。その結果、テクスチャを上下逆に表示することなく、他のソースのテクスチャ マテリアルを SketchUp モデルに割り当て、SketchUp からインポートしたテクスチャ マテリアルを他の Unreal Engine アセットに割り当てることができるようになりました。

  • Datasmith インポータは、3ds Max、Revit などの他のアプリケーションからエクスポートされたモデルと同じ方法で、SketchUp からエクスポートされたモデルの向きを変更します。これにより、サポートされているすべてのアプリケーション間で Datasmith の座標の一貫性が確保され、複数のソースからシーンを Unreal Engine に取り込むことができるようになります。

  • インポータが異なる単位長の間でモデルを変換するためにモデルをスケーリングする必要がある場合、アクタのスケールを変更する代わりに、スタティック メッシュ ジオメトリの頂点位置をスケーリングするようになりました。

  • 次回シーンを再インポートするときにインポータが不要な複製を作成することなく、Unreal Editor でコンポーネントの名前を変更できるようになりました。

  • インポータは、SketchUp のコンポーネントに添付されたメタデータをサポートするようになりました。

Revit

  • Datasmith インポータは、Revit でシーンに追加した RPC オブジェクトのプレースホルダー メッシュをインポートすることで、周囲を簡単に視覚化できるようになりました。

  • インポータは、プロジェクトのベース ポイントとサーベイ ポイントのアクタを作成し、Revit で設定した座標データを含む Datasmith メタデータでアクタをセットアップします。

  • Revit ビューの名前が、Datasmith によって生成されたエクスポート ファイル名に統合されました。これにより、複数のビューのデータを同じ Unreal Engine プロジェクトに簡単に結合できるようになりました。

  • Datasmith インポータは、3ds Max、SketchUp などの他のアプリケーションからエクスポートされたモデルと同じ方法で、Revit からエクスポートされたモデルの向きを変更します。これにより、サポートされているすべてのアプリケーション間で Datasmith の座標の一貫性が確保され、複数のソースからシーンを Unreal Engine に取り込むことができるようになります。

  • 見た目が紛らわしくなるのを避けるため、Revit の 2D レベル シンボルはシーン要素としてエクスポートされなくなりました。

  • シーンの階層を簡素化するために、カーテン パネルに埋め込まれた壁は、curtain wall (カーテンウォール) アクタの子としてインポートされるようになりました。

  • Datasmith エクスポータの欠落している画像テクスチャを処理する方法を改善しました。最初に、Revit で設定した追加のレンダリング アピアランス パスを使用してパスの解決を試みます。それでもすべてのパスを解決できない場合は、Revit で不足しているファイル名について警告するようになりました。

CAD

Datasmith CAD インポータの、オブジェクト階層、オブジェクトの命名、および技術的なメタデータのインポートの処理方法が改善されました。

AxF

AxF インポータを更新して、視覚的な忠実度を向上させ、サードパーティ テクノロジーへの依存関係が削除されました。

image_13.png

このリリース以降、AxF インポートは Datasmith から提供されなくなりました。AxF ファイルをインポートするには、[Importers] > AxFImporter プラグインを有効にする必要があります。

新機能:アクタが多数存在する時のエディタのパフォーマンスの改善

シーンに何千ものアクタが含まれている大規模なシーンとデータ セットを処理するときのパフォーマンスとメモリの負担が大幅に改善されました。これは、インポート、選択と選択解除、可視性の切り替え、アクタの削除、UV レイアウトの生成時に特に顕著です。

新機能: RoboMerge (ベータ)

RoboMerge は、ブランチ間のマージを指示するコマンドのコミットと説明を監視することにより、Perforce ストリーム全体で大規模な開発を同期します。競合の追跡には時間がかかり、エラーが発生しやすいことから、バルク マージには問題があります。また、マージの変更を自動化するツールがないと、通常、元の作成者が行う必要があるようなデフォルトの解決方法では、作業が修正されるまでバグが発生する可能性があります。こうした時は、RoboMerge が役立つかもしれません。

低レベルのツールであるため、上級ユーザーは RoboMerge のソース コードとドキュメントを確認することをお勧めします。これらは「Engine/Extras/RoboMerge」にあります。さらに、プロダクト実行中にヘルプを参照することもできます。

RoboMerge ツールとソース コードはそののまま提供されます。そのため、サポートに制限があるかもしれません。

新機能: BuildAgent (ベータ)

BuildAgent は、ビルド ファームでエージェントを管理するためのユーティリティです。これは、ファイルのタイムスタンプに関するローカルに保存された情報を使用した Perforce ワークスペースの高速クリーニング、および MD5 ダイジェストでアドレス指定可能なファイルのローカル キャッシュを使用したワークスペースの高速切り替えをサポートします。また、ビルド ステップからのエラーと警告を解析し、ユーザーへ表示するために UnrealGameSync に伝達する機能も含まれています。

BuildAgent を使用すると、各ブランチの基本的なメモリ使用量と一意のコンテンツが多少増えることと引き換えに、ローカル キャッシュを使用した高速なワークスペースのクリーニングと高速なストリーム切り替えが可能になります。

低レベルのツールであるため、上級ユーザーは、「Engine/Source/Programs/BuildAgent」にある BuildAgent のソース コードを確認することをお勧めします。さらに、コマンドラインから BuildAgent -Help を実行すると、使用可能なコマンドのリストを表示できます。

新機能: AutoSDK (ベータ)

AutoSDK システムを使用すると、ユーザーはターゲット プラットフォームの SDK を配信しながら、オンデマンドでそれらをエンジン用に設定できます。UnrealBuildToolAutomationToolUnreal Editor のガイド はすべて AutoSDK とシームレスに連携できるように設計されており、SDK 間の切り替えは UnrealBuildTool によって処理されます。UnrealBuildTool は他のツールによって呼び出されます。

インストールされたパッケージを手動で管理しなくて済むようにする一方で、AutoSDK 機能は、異なる SDK 要件を持つ複数のブランチに対応する必要があるマシンを構築するために設計されました。また、完全な SDK をインストールする必要がない方にも最適です。

各プラットフォームの SDK の追加に関する情報は、「Engine/Extra/AutoSDK/HostPlatform/TargetPlatform」サブフォルダの「README.md」ファイルをご参照ください。

詳細についてはAutoSDK のリファレンス をご参照ください。

新機能: エディタ UI レイアウトの拡張

Unreal Editor は、使いやすさと効率性を向上させるため、ワークフロー固有の UI レイアウトの作成をサポートするようになりました。 これらのレイアウトは、保存およびロードできるだけでなく、他のユーザーとの共有も可能です。

この更新で、現在使用しているレイアウトが削除されることはありません。以前から、前回エディタを閉じた時の UI レイアウトを再現することができました。この新しい機能は下位互換性があるため、最新バージョンにアップグレードしても、以前のバージョンのエディタで使用していたレイアウトを引き続きご使用頂けます。したがって、このツールを使用する前に、現在のレイアウトを保存することができます。

新しいレイアウト機能は、[Layout (レイアウト)] の下の [Window (ウィンドウ)] メニューにあります。

新機能: Sparse Class Data (ベータ)

Sparse Class Data 機能は、不変変数を共有のクラス全体の定数に変換することにより、アクタ インスタンスのメモリ使用量を削減します。よく使用するアクタ クラスに、構築後にネイティブ コードとブループリント コードが変わらず、インスタンス間で変化しないプロパティがある場合、この機能で大幅なメモリの節約が可能です。さらに、このプロセスによるコードへの影響は最小限となっています。適切なプロパティを共有した値に置き換えた後は、ネイティブ コードで作業するデベロッパーは古いプロパティへの直接参照を新しい getter 関数の呼び出しに置き換えるだけで済み、ブループリントで作業するデベロッパーにはまったく影響がありません。プロパティの現在の値でさえ、変換プロセスによって保持されます。この機能は、大量に表示され、共有定数に変換できるいくつかのプロパティを含むアクタで使用する場合に最もメモリを節約できます。

新機能: モバイルでの自動インスタンス化

描画呼び出しを減らしてグラフィックス パフォーマンスを向上させる自動インスタンス化が、モバイル デバイスでサポートされるようになりました。モバイルの自動インスタンス化を有効にするには、選択したモバイルプラットフォームの「Engine.ini」ファイルで次の通り設定します。

r.Mobile.SupportGPUScene=1

Mali デバイスには制限があるため、モバイル プラットフォームの「Engine.ini」ファイルに次の行を追加して、バッファの代わりにテクスチャを使用することもできます。

r.Mobile.UseGPUSceneTexture=1

モバイルの自動インスタンス化を使用して出荷する前に、プロジェクトのパフォーマンスをプロファイルして、パフォーマンスが大幅に向上するかどうかを確認することをお勧めします。自動インスタンス化は、GPU にバインドされたゲームではなく、CPU にバインドされたゲームで最も効果的であることがわかっています。

新機能: Steam Sockets

新しく追加された SteamSockets プラグインを使用すると、Steam SDK に対する Valve の最近の改良点を活用して、Steam を使用するときにプレイヤーがよりスムーズで安全なオンライン体験を得ることができます。このプラグインによって有効になる新機能は次のとおりです。

  • Steam ロビーの Ping 計算サポート

  • ビルトインの DDoS 攻撃保護

  • エンドツーエンドの暗号化

  • 古い SteamNetworking プロトコルに対する NAT トラバーサルの改善

Steam 上でマッチメイキングをサポートするゲームは、新たに公開された接続データを利用して、クライアントが参加するのに最適なゲームを見つけることができます。また、専用サーバーは、Steam 内部リレー ネットワークだけでなく IP アドレスでも機能します。

SteamSockets は、PC 以外のプラットフォームのビルドから削除されます。

SteamSockets の詳細については、こちら をクリックしてください。

新機能: Network Engine Test Suite

Net Test アクタによるネットワーク機能の自動テストのサポートが追加されました。Net Tests を使用すると、すべてのタイプの RPC だけでなく、アクタとアクタ コンポーネントの両方の変数、構造体、配列のレプリケーションを評価できます。

AFunctionalNetTest を拡張することでネットワーク テストを作成し、次に各テストの UFunctionalTestStep を拡張することでそのテストのステップを作成できます。各テスト ステップは、サーバーまたはクライアント ステップとして指定し、テストに追加する必要があります。その後、レベルに配置することでテストを実行できます。

新機能:DTLS のサポート

Unreal Engine は、既存の AES パケット ハンドラより安全な手段として、ネットワーク トラフィック用の DTLS ベースの暗号化スキームをサポートするようになりました。これを使用するには、DTLS Packet Handler プラグインを有効にして、「DefaultEngine.ini」ファイルに次を追加する必要があります。

[PacketHandlerComponents]
EncryptionComponent=DTLSHandlerComponent

新機能: Niagara エディタの System Overview パネル (ベータ版)

image_15.png

System Overview パネルでは、パンとズームのグラフノードビューとコンパクトなバージョンのエミッタースタックを組み合わせて、編集中のシステムまたはエミッターの概要が表示されます。体験的には Cascade エディタに近いですが、フォーム、要素、スタイルは Niagara エディタです。

データの様々な部分間を簡単に移動できるように設計されており、初めてエミッターまたはシステムを開いたときに全体が一目でわかるパネルです。また、Cascade から Niagara へも容易に移行できます。スタックからエレメントをドラッグ&ドロップで出し入れできます。ALT キーを押せばドラッグ&コピー操作も可能です。

この UI との主な相互作用は、[Selection (選択)] パネル (デフォルトでは右側) に表示するデータを選択することです。タイムラインの行を選択すると、従来の「フルスタック」ビューが表示され、システム情報が一番上に表示され、次にエミッター情報が表示されます。[System Overview] パネルで任意のグループまたはモジュールを選択すれば、選択したグループまたはモジュールのみが [Selection] パネルに表示されます。システムのエミッター数が多かったり、エミッターにモジュールが多く含まれても、スタック全体をスクロール操作する必要がなくなりました。

新機能: Collab Viewer テンプレートの改善

image_16.png

Collaborative Viewer Template に追加した、すぐに使用できる新しいインタラクションツールを使用して、共同設計レビューセッションをより効果的にします。他の人とコミュニケーションをとる方法、およびチームの決定とコメントの記録を保存する方法を見つけることができます。

  • マウスまたはモーションコントローラーを使用して、シーンに自由に描画します。

  • オブジェクトとサーフェス間の距離を測定します。

  • 作成した図面やオブジェクトの位置とマテリアルの変更など、セッションの状態をいつでも保存し、後でそのポイントに戻ります。

  • 後で確認するために、シーンをディスク上の画像に簡単にキャプチャします。

詳細については、Collab Viewer テンプレート をご参照ください。

新機能: ピクセル ストリーミングの改善

市場初の Pixel Streaming システムは、セットアップがより簡単になり、かつてないほど柔軟になり、より広範なシナリオでより良い結果を生み出します。

  • ピクセル ストリーミングが DirectX12 のアプリケーションに対してサポートされました。

  • WebRTC プロキシサーバーを実行する必要はもうありません。Unreal Engine アプリケーションで実行される Pixel Streaming プラグインは、WebRTC クライアント接続のネゴシエーションとブラウザーへのメディアのストリーミングを直接処理するようになりました。

  • Pixel Streaming プラグインは、WebRTC リリース 70 を使用するようになりました。

  • 一部のストリーム エンコード アーティファクトを検出および修正し、帯域幅が制限されているネットワーク接続 (モバイル接続など) でのストリーミングの結果を改善しました。

  • Blueprint または C ++ API を使用して、単一フレームまたは静止画像のメディア ストリームをフリーズできます。これにより、ストリーム コンテンツがスタティックなままである場合や、ユーザーがアクティブでなくなる可能性がある場合にネットワーク トラフィックを無駄にしないようにすることができます。

  • アクティブでない接続を探知し切断する AFK システムがクライアント側に追加されました。

  • すべての Pixel Streaming クライアントが Unreal Engine から切断されたときにブロードキャスト OnAllConnectionsClosed デリゲートが追加されました。

  • Media Framework を使用して、異なる Unreal Engine アプリケーションで実行されている Pixel Streaming プラグインによって提供されるメディアストリームをレンダリングできるようになりました。

  • Advanced Media Framework (AMF) SDK で動作する AMD GPU を使ったハードウェア エンコーディングの限定サポートを導入しました。

  • Firefox 68+ のビデオ接続問題を修正しました。

詳細については、ピクセル ストリーミング を参照してください。

新機能: イベントトラック ワークフローの改善

イベント トラックについて、2 つの主要な改善を行いました。1 つめは、キーにエンドポイントを追加するために Quick Binding作成 できるようになり、Sequencer Director ブループリントを開く必要がなくなります。これにより、シーケンサーによって複数のイベント トラックとバインディングの追加が容易になります。

2 つめは、Sequencer Director ブループリントを開いてすべてのイベント バインディングを確認して複数の ペイロード パラメータ を 1 つのイベントに追加できるようになりました。

詳細については シーケンサ経由でイベントを呼び出す をご参照ください。

新機能: ローカルまたはマスタータイムショットのエクスポート

ショットまたはサブシーケンスのオブジェクトをエクスポートする場合、ショットをマスターシーケンス時間にマップされるか、ローカルシーケンス時間にエクスポートするかを決定できます。

マスターシーケンス時間は、アニメーションを全体的に見て、他のショットと比較するときに便利です。ローカルシーケンス時間は、ショットごとに作業しているときに役立ちます。 Maya のショットキーにいずれかのタイムマップにエクスポートすると、シーケンサーでローカルタイムからマスタータイムに簡単に移動できます。

詳細は、FBX ファイルのエクスポートとインポート をご参照ください。

新機能: シーケンサーにおける紐づけされた Object Binding

シーケンサーでオブジェクト バインディングを名前で紐づけて、実行時にそれらを使用して、別のシーケンサーの Camera、Player、NPC など類似したオブジェクト タイプに同類のバインディングをオーバーライドあるいは参照できるようになりました。バインディングはサブ シーケンサー内のオブジェクトに適用できます。シーケンサーのオブジェクトのコンテキスト メニューで [Tags] を選択するか、ツールバーから [General Options] > [Open Binding Tag Manager] を選択して管理します。

新機能: シーケンサーのカーブ エディタ機能の強化

カーブ エディタを使用してさまざまな方法でカーブを操作できるようになりました。

まず、グリッド上にドラッグ&ドロップされたキーを自動的に正しい位置にスナップする機能です。正しい位置に自動的にスナップしやすいように、グリッド サイズも調節できます。

また、複数キーを選択して Transform ツールを使用する場合、Tools OptionsBoundsScale CenterFalloff の数値を変更して調節できます。

image_33.gif

Transform ツールと同様に Multi Select ツールの場合も、複数キーを選択する場合、Tools OptionsX/Y スケールと Pivot Type の数値を変更することができます。

image_35.gif

最後は、カーブ データのスナップショットを撮って カーブを保存 できるようになりました。このスナップショットにより、元のカーブ データを参照/バックアップ (スナップショット) として維持しながらカーブを調節できます。さらに、別のカーブに 保存したカーブを適用 することもできます。これはあるカーブを別のカーブにコピー/貼り付ける機能と似ています。

image_34.gif

詳細は、シーケンサー エディタのリファレンス を参照してください。

新機能: シーケンサーの生活の質の改善

シーケンサーを使用する場合によりスムーズなワークフローを提供する様々な生活の質の改善があります。

まず、Windows メインメニューから Cinematics にアクセスし、コンテンツ ブラウザで特定のマップ上でシーケンスを開くことができるようになった点です。

次に、トラックをピンし、グループ化できるようになりました。ピンで固定されたトラックはその他のトラックと一緒にスクロールされることがないので、他のトラックと分けて特別のトラックとして維持するときに有用です。

image_22.gif

トラックをグループ化することでトラックをまとめることができます。グループを編集または移動すると、グループ全体に適用されます。

image_23.gif

詳細については、シーケンサーの概要 をご参照ください。

最後に、 Sequencer Breadcrumbs の横に新しいフォルダ アイコンができました。これを使って、階層のどのレベル シーケンサーにも移動することができます。

image_38.png

詳細は シーケンサー エディタのリファレンス をご参照ください。

新機能: シーケンサー トラックの機能強化

Sequencer Tracks を使用する場合、いくつかの改善と機能強化があります。

シーケンス内の個々のトラックを評価する

トラックを ソロ としてマークし、そのトラックを他のトラックとは別に評価できるようになりました。トラックを ミュート して、評価されないようにすることもできます。このステートはアセットとともに保存され、実行時に持続します。

トラックへのオブジェクトの添付

オブジェクトをトラックにアタッチすると、親トラックのキーに基づいてオブジェクトに対するキーを追加するサブトラックが作成されます。オブジェクトの空間と移動は親に対してローカルで維持されます。これにより、オブジェクトは親トラックに基づいて移動することができます。複数のトラックをトラックに アタッチ し、Trim and Preserve (トリムと維持) を使ってオブジェクトをアタッチするエンドポイントを調節することも可能です。

デフォルトのオプションは、Preserve Current (現在を保持) することです。これは、オブジェクトがグローバル変換を維持するように、アタッチセクションの前の時点でキーを設定します。

空間化されたオーディオ トラック

空間化されたオーディオ トラックをオブジェクトへ追加できるようになりました。

スケルタルアニメーションのループ

First Loop Start Frame Offset を設定することにより、特定のアニメーションのループが可能になりました。これにより、アニメーションの開始をアニメーションの冒頭以外でも、アニメーション ループの開始点を決定することができます。

新機能: テンプレート シーケンス (実験的機能)

テンプレート シーケンスは、単一のアセットアーキタイプまたはクラスにバインドされたシーケンスであり、レベルシーケンスのオブジェクトにリバウンドしたり、スポーンされたオブジェクトまたはバインディングオーバーライドとして提供されたオブジェクトで「スタンドアロン」で再生できます。カメラの揺れ、その他同類のエフェクトに使用できます。

新機能: カオス破壊ツールバー

Fracture および Cluster ツールは、破壊可能なメッシュを作成する段階を自然に進行するように設計された 2 つのツールバーパレットに配置されました。

新しいツールバーにより、パネルにはジオメトリコレクションアウトライナとツール設定用のスペースが増えました。さらに、Geometry Collection Outliner の下に新しい統計セクションが追加されました。これは、以前はコンソールコマンドを使用した場合にのみ利用可能でした。Fracture ツールがアクティブな場合、Modes パネルが切り替わり、そのツールの設定が表示され、続いて Fracture ボタンと Cancel ボタンが表示されます。

新機能: AVID DNxHR Support

Sequencer から AVID のプロフェッショナル品質の DNxHR コーデックでエンコードされた .mxf ファイルにエクスポートすることにより、事前にレンダリングされたビデオコンテンツをオンエアで、または編集パイプラインにすばやく取り込むことができます。

詳細は、Pro Media ファイルをエクスポートする をご参照ください。

新機能: 仮想スカウティングの改善 (ベータ版)

バーチャル スカウティング ツールを拡張して、監督や映画撮影者に、バーチャルワールドの探索や VR でのショットのセットアップの可能性をさらに広げました。

詳細は、バーチャル スカウティング をご参照ください。

新機能: Virtual Studio サンプルの更新

Virtual Studio サンプルを使用してライブのオンエアブロードキャストで Unreal Engine の使用を開始したパートナーおよび顧客からのフィードバックのおかげで、仮想セットのカスタマイズまたは再構築に使用できるモジュラービルディングブロックのセットを追加しましたゼロから独自のデザインまで。

image_36.png

Epic Games Launcher の [Learn] タブからサンプルを選択し、組み込みのメディアセットアップに関しては Virtual Studio ページをご覧ください。

新機能: 3D テキスト (実験的機能)

Unreal Editor で直接作成することで、高品質の 3D テキストをリアルタイムの視覚化の一部として統合できるようになりました。

  • プロジェクトにインポートできる TrueType または OpenType フォントを使用します。

  • 文字の押し出しの深さ、エッジのベベル、カーニングや単語間隔などの印刷設定を制御します。

  • 独自のカスタムマテリアルを前面、背面、側面、およびベベルに適用します。

  • Sequencer を使用して、テキストプロパティを時間とともにアニメーション化し、レベル内で独自のモーショングラフィックスを作成します。

詳細は [TODO:doc link] を見てください。

新機能: ARKit 3.0 のサポート

Unreal Engine は、People Occlusion、2D、3D、LiveLink Motion Capture など最新の ARKit リリースで利用可能な次のような高度な機能の一部をサポートするようになりました。

新機能: OpenXR サポート (ベータ)

OpenXR プラグインは、OpenXR 1.0 標準のサポートを提供します。OpenXR は、AR / VR ソフトウェア開発の簡素化を目指しており、幅広い VR / AR デバイスの統合サポートと真のクロスプラットフォーム XR エクスペリエンスを提供します。

新機能: Magic Leap アップデート

Unreal Engine は、最新の Magic Leap リリースで利用可能な次のような高度な機能の一部をサポートするようになりました。

  • ハンドメッシュのサポートが改善されました。

  • タッチパッドジェスチャサポートが改善されました。

  • Unreal SoundField プラグインによるオーディオサポートが改善されました。

新機能: Mission AR HoloLens 2 Sample

Mission AR は、打ち上げ自体、土星 V の正確なモデル、月面着陸の詳細な再現、ニールアームストロングの最初のステップを含む、John Knoll 氏 (ILM Chief Creative Officer) から提供されている歴代ミッションの多くの側面の鳥瞰図を提供します。ハイライトにはサターン V の 3 つの段階、イーグル着陸船の形状追従機能設計、月面への月面モジュールのサスペンス降下が含まれており、このような詳細と没入感の組み合わせを使って他の媒体では伝えることが困難です。

サンプル デモは、完全に動的な照明と影、多層マテリアル、ボリューム効果を備えた物理ベースのレンダリング環境での 700 万ポリゴンをはじめ、プラットフォーム指向のビジュアルを特徴としています。Unreal Engine を使用すると、HoloLens 2 は、エッジ コンピューティングとレンダリングだけで可能なものをはるかに超えた、限りない詳細のホログラムを表示できます。

このサンプルを実際に使って修正すると、以下のことが学習できます。

  • イマーシブなナラティブ シーケンスとトリガーされたイベントの作成

  • タッチベースの入力およびインタラクティビティの実装

  • Holographic Remoting を使用して、Wi-Fi で PC からストリーミングされたコンテンツの表示方法

新機能: Burley Subsurface Scattering

Burley アルゴリズムを使用して、新しい画面空間の表面下散乱を追加しました。より物理的に正確で、物理ベースのマテリアル プロパティを使用してセットアップを簡素化しながら、スキン シェーディングの品質を向上させることを目的としています。このサブサーフェス スキャタリング モデルは、分離可能な SSS アルゴリズムよりもはるかに高品質のハイエン スキン レンダリングを対象としています。新しいアルゴリズムには、よりクリーンで正確なフォールオフがあります。

image_37.gif

1 Burley SSS; 2 Separable SSS

この機能を使用するには、Subsurface Profile で Burley を有効にし、Editor Preview Level を Cinematic に設定します。分離可能な SSS プロファイルを既に使用している場合、この方法に切り替えるには最小限の変更が必要です。Burley SSS が適切に機能するには、Temporal Anti-Aliasing が必要であることに注意してください。

新機能: マテリアル レイヤー (ベータ)

マテリアル レイヤー化により、マテリアル レイヤーマテリアル レイヤー ブレンド アセットを使用して、マテリアルをスタックに結合できるため、ノードのセクションを手作業で作成することなく複雑なマテリアル グラフを作成できます。マテリアル レイヤリングは、ドラッグ アンド ドロップ スタック機能による子インスタンス化もサポートします。

新機能: プラットフォームの SDK アップグレード

Unreal Engine 4 はリリースの都度、プラットフォームのパートナーからリリースされる最新の SDK に対応するようにアップデートしています。

image_28.png

  • ビルドファームによるコンパイルの対象である IDE のバージョン

    • Visual Studio 2017 v15.9.4 ツールチェーン (14.16.27023) と Windows 10 SDK (10.0.16299.0)

      • 最小サポート バージョン

        • Visual Studio 2017 v15.6

      • NET 4.6.2 Targeting Pack が必要

    • Xcode - Xcode 11.1

  • Android Android NDK r14b (Windows と Mac では CodeWorks for Android 1r7u1 インストーラを使用します。Linux は 1r6u1 と修正版を使用します)

  • ARCore

    • 1.7

  • ARKit

    • 3.0

  • Linux "SDK" (クロス ツールチェーン)

  • Oculus

    • 1.40

    • API Level 23

  • OpenXR

    • 1.0

  • Google Stadia

    • 1.39

  • Lumin

    • 0.22

  • Steam

    • 1.46

  • SteamVR

    • 1.5.17

  • Switch

    • SDK 9.3.1 + optional NEX 4.6.3 (Firmware Version: 9.0.1-1.0)

    • サポートされている IDE:Visual Studio 2017、Visual Studio 2015

  • PS4

    • Orbis SDK 7.008.001

    • System Software 7.008.021

    • サポートされている IDE:Visual Studio 2017、Visual Studio 2015

  • XboxOne

    • XDK:July 2018 QFE-9

    • Firmware Version:Recovery May 2019 10.0.18362.3055

    • サポートされている IDE:Visual Studio 2017

  • macOS

    • SDK 10.15

  • iOS

    • SDK 13

  • tvOS

    • SDK 13

アップグレード ノート

エディタ

マチネ

  • Cinematics メニューおよび詳細パネルから Matinee Editor にアクセスできなくなりました。これは、4.25 で完全に UE4 から Matinee を削除する移行の一部です。これは 4.25 においてマチネを UE4 から完全に削除するための移行の一部です。

    Matinee to Sequencer Conversion Tool を使用することで Matine アクタからシーケンサー アセットへの変換が可能です。

XR

  • プロジェクトが使用する各プラットフォームに対してバインディングを使用するためには、MotionController キーを使用するアクション バインディングを更新する必要があります。アクション システムを変わりに使うためには、MotionController キーを読み取るブループリントを直接更新する必要があります。詳細は Motion Controller Key Deprecation を参照してください。

リリース ノート 「訳注: 以下は、非常に技術的な部分が含まれるため、新規のみを翻訳し、それ以外を省略します。」

AI

  • Bug Fix: Fixed BlackboardComponent key instances being used as synchronized keys.

  • 新規: 修正された BlackboardData アセットを参照する BehaviorTree アセットのみを取り込むことで、ブラックボード キーがパフォーマンスを維持するように改善しました。

  • 新規: EQS に Multiply という名前の新しいスコア演算子が付きました。アイテムのスコアをテスト スコアの倍数にします。

  • 新規: アルファベット順にブラックボード キーが表示されるように、UEditorPerProjectUserSettings に "DisplayBlackboardKeysInAlphabeticalOrder" オプションが追加されました。

  • 新規: ファイルへの記録が実行中の場合に、特定の VisLogger の記録へ同期する情報が GameplayDebugger に追加されました。この情報は GameplayDebugger の HUD の上右端です。

デバッグ ツール

  • 新規: When using GameplayDebugger_NavMesh の使用時に、navmesh 表示のための位置参照としてデバッグ アクタとプレイヤー アクタの入り替えができます[Shift + Subtract (-) key]。使用可能なすべてのデータを循環できます[Shift + Add (+) key]。

  • 新規: ビヘイビア ツリーのクールダウン タグが Visual Logger の AI スナップショットに出力されるようになりました。

  • Improvement: Visual Logger histogram now renders so that each line has a different color.

ナビゲーション

  • Crash Fix: Fixed a crash in the AI CrowdManager resulting from the navigation data that the manager relies on being removed, being streamed out, or being unregistered from the NavSystem.

  • Crash Fix: Fixed a crash in the navigation system when renaming a NavigationData instance while there's already another one of that name.This would result mainly from using Undo/Redo actions, which circumvented safeguards that prevented users giving multiple objects the same name.

  • Bug Fix: Fixed a UNavLinkCustomComponent issue with unique NavLinkUserId when the UNavLinkCustomComponent's owner is loaded multiple times in different places, like when streaming sub-levels.This issue prevented custom links from working reliably when loading serialized navmesh.

  • Bug Fix: Fixed navmesh generation around Instanced Static Mesh and Hierarchical Instanced Static Mesh components marked as Dynamic Obstacle.

  • Bug Fix: FPathFindingQuery constructors now use the Navigation Data's config as NavAgentConfig instead of using a default config. This fixes an issue when a path is being recalculated (RepathRequests) where it was not using the same NavAgent config that originally requested it.

  • Bug Fix: Fixed the initialization of the NavigationLink AreaClass cache in NavLinkComponent to account for when the component gets reregistered after running construction scripts for Blueprint classes.

  • Bug Fix:NavLinkProxy now appends the link from SmartLinkComponent when it is NavigationRelevant.This enables it to be rendered with simple links.

  • Bug Fix: Fixed an issue where dtQueryFilter::passInlineFilter would not filter out null-area nav links.

  • Bug Fix: The NavLinkUserId from NavLinkCustomComponent is now restored during the Blueprint class's reconstruction process to maintain consistency with the id saved in the NavigationData.

  • 新規: NavLinkComponent からのリンクをレンダリングできるように、INavLinkHostInterface を実装するコンポーネントに対するサポートを NavLinkRenderingProxy に追加しました。

  • 新規: bAutoDestroyWhenNoNavigation プロパティが NavigationData に追加されました。このプロパティは、ナビゲーション システムが存在しない場合の NavigationData インスタンスの自動削除を切り替えます。子クラスで設定して制御します。

  • 新規: SupportedAgents の設定方法を整理しました。各 NavigationSystem インスタンスに ProjectSettings で設定された SupportedAgents のフルセットに関するデータが付きました。さらに各 NavigationSystem インスタンスに、その特別なインスタンスでサポートされるエージェントをマークする SupportedAgentsMask も付きました。これにより、エージェントごとに NavMeshBoundVolumes をフィルター処理して、NavigationSystem インスタンスがサポートするエージェントに関係なく、期待通りに機能するようになります。

  • 新規:NavSystemConfigOverride で、前から存在する NavigationSystem インスタンスを完全にオーバーライドするか、あるいは新しい情報 (サポートするエージェント) を既存のNavigationSystem インスタンスに単純に添付するのかを指定できるようになりました。Navigation System がすでに存在する売は、何もしないオプションもあります。

  • 新規: 任意のエージェント名に関する NavigationData をクエリするために、関数 GetNavDataForAgentName が UNavigationSystemV1 に追加されました。

  • 新規: すべての NavigationData インスタンスを登録解除する関数 UNavigationSystemV1 は現在の NavigationSystem インスタンスの SupportedAgentsMask ではサポートされなくなりました。

  • 新規: NavigationSystem 全体をロックせずに、単一の NavigationData インスタンスに対する nav 生成を一時停止する方法として NavigationData.SetRebuildingSuspended が追加されました。

  • 新規: 生成されるタイルのソート処理のオンオフ切り替えをする bSortTilesWithSeedLocations を FRecastNavMeshGenerator に追加しました。前のビヘイビアを維持するためにデフォルトは True になります。制御はジェネレーター クラスのサブクラスで行います。

ビヘイビア ツリー

  • Bug Fix: Fixed an issue that prevented BTMoveTo task ObservedBlackboardValueTolerance from being visible in the Editor.

  • Improvement: The AddClassFilter function of FBlackboardKeySelector now accepts Class objects.Previously, it expected UClass subclasses.

  • Deprecated:Previous implementation of FBlackboardKeySelector::AddClassFilter was deprecated.

Animation

  • Crash Fix: Fixed a problem that occurred when setting layer overlays when animation layers are ungrouped.Also fixed an alignment issue in layer interface details.

  • Crash Fix: Fixed a crash when setting a layer overlay for graphs that contain layered bone blend nodes.

  • Crash Fix: Fixed a crash that occurred when editing a notify property.

  • Crash Fix: Added handling for the case when color in an Alembic asset is stored per primitive.

  • Crash Fix: Geometry Cache no longer crashes when the asynchronous loading thread is enabled.

  • Crash Fix:A crash was occurring when a user added a new input to an AnimGraph.Fixed the layout in AnimGraphDetails, as the header widget for Details panel had changed slightly.

  • Bug Fix: CurrentMontageStop no longer ignores the OverrideBlendOutTime argument.

  • Bug Fix: Fixed an issue that sometimes caused poses to break and IKs to be disabled when using layers.

  • Bug Fix: Additive Animation states now play back correctly when using the Animation Sharing System.

  • Bug Fix: Correct selection state color is now used when drawing a GeometryCache Actor in the Wireframe View Mode.

  • Bug Fix: Fixed a problem that caused notifications to not be fired from root motion montages in cases when a sub-instance was present but not currently relevant in the animation graph.

  • Bug Fix: Fixed a problem with pose-blending when chaining Blend Multi nodes together.

  • Bug Fix: VB prefix is now stripped from virtual bones when renaming.

  • Bug Fix: Fixed missing curve names when baking transform curves.

  • 新規: UAnimInstance の SetLayerOverlay 関数に対応するUAnimInstance の ClearLayerOverlay 関数が追加され、アニメーション レイヤーを使用する時に、グラフの部分的なリセットが可能になりました。

  • 新規: コントロール リグは独自のレベル シーエンスではなくスケルタルメッシュのトラックとして存在します。コントロール リグのアニメートおよびキーコントロールが可能になります。

  • 新規: アニメーション カーブまたはアニメーション通知が含まれるかどうかでアニメーション シーケンスをフィルタ処理する機能が Animation エディタに追加されました。

  • 新規: Made Animation Modifiers は以前に適用されたバージョンを維持します。したがって、ビヘイビアまたはプロパティ値が変わった場合、取り消されているステージが実際は正しいことになります。

  • Improvement: Improved the title of the dialog box that appears when you are attempting to re-import Skin Weight data from a file that doesn't exist.

  • Improvement:Optimized animation spawning in the following ways:

    • Added deferred root node initialization.When an anim instance is set to initialize to a reference pose, this defers the first call to initialize the blend tree until just before the first Update() call on a worker thread.

    • The system skips ConditionallyCacheBonesForState in state machines in the case where we would call CacheBones_AnyThread during first Initialize_AnyThread.This avoids duplicate work being done because traversal counters will let through synchronization calls if they have yet to be updated (for example, when their count is INDEX_NONE).

    • Cache access to nodes that need pre-update, dynamic reset, or one-time initialization, as well as state machines in the generated class, to avoid iterating all anim nodes on initialization.

    • Cache access to node properties when re-linking nodes to avoid duplicate memory round trips.

    • Cache access to LUT size in FBaseBlendedCurve::GetValidElementCount, avoiding duplicate memory round trips.

    • The system now prevents FName rehashing from string (intended to strip whitespace) when initializing FBoneReferences.

    • Cache access to AnimCurveMapping smart name container on USkeleton, preventing a TMap lookup every time the smart name container is accessed.

    • USkeleton::GetCurveMetaData now uses a "fast path" when accessing by using smart name UID. In this case, we can avoid the TMap lookup as the UID is always a direct index to metadata at runtime (slow path still applies in editor builds).

    • Avoids calling FAnimNode_LayeredBoneBlend::ReinitializeBoneBlendWeights in Initialize_AnyThread, as CacheBones_AnyThread will be called straight after.

    • Cache access to curve UID count and LinkedBones array in FAnimNode_LayeredBoneBlend::ReinitializeBoneBlendWeights, avoiding duplicate memory round trips.

アニメーション アセット

  • Crash Fix: Fixed a crash occurring when deleting a skeleton.

  • Crash Fix: Previously, a crash occurred when using non-default curve compression assets.

  • Bug Fix: Fixed skeleton animation notifies not showing up until an animation asset is opened.

  • Bug Fix: Virtual bones are no longer missing from imported meshes.

  • Bug Fix: Fixed an issue that caused the curve codec to be reset in compression assets.

  • 新規: 軸レベルに対する方向表示が追加されました。

  • 新規: anim シーケンスに圧縮エラー スケールが追加されました。この変更により、圧縮エラー テストでアニメーションの再生スケール (スケールアップ キャラクターなど) を説明できるようになります。

Animation ブループリント

  • Crash Fix:Deleting a layer that contained an open state machine no longer causes a crash.

  • Crash Fix:Adding a linked layer input no longer causes a crash.

  • Crash Fix: Applying a class as an overlay layer that contains layer nodes itself no longer causes a crash.

  • Crash Fix:Fixed a crash that occurred when deleting an animation layer that contained a state machine.

  • Crash Fix: Previously a crash occurred when scrubbing an animation in the sequencer when the animation Blueprint contained slot nodes and layers.

  • Crash Fix: Deleting a state machine inside an animation layer while the layer node is still visible no longer causes a crash.

  • Crash Fix: Fixed a crash occurring when nodes with cached bone references existed beyond a sub-instance in the anim graph traversal.

  • Crash Fix: An evaluation crash no longer occurs when dynamically linking an animation Blueprint layer.

  • Crash Fix: Fixed a crash that occurred when attempting to initialize linked layer/graph nodes when the anim instance was reused.

  • Crash Fix: A crash that occurred when PostProcessGraph was disabled, but was still trying to update a curve from it.This was visible in the PhAT Editor.

  • Crash Fix: Crash no longer occurs when reusing an anim instance using linked anim instances.

  • Bug Fix: Fixed a problem that caused impure nodes to show up in anim graphs.

  • Bug Fix: Fixed an issue that caused shared rules to dirty anim BPs on load.

  • Bug Fix: Added filters to the animation asset browser to find assets that use specific skeleton notifies and curves.

  • Bug Fix: Fixed an issue with the "Always Update Source Pose" option on montage assets that were sending the wrong weight to the next node.

  • Bug Fix: Transition crossfade durations are now clamped to zero or higher.

  • Bug Fix: Removed checking code that assumed graphs were always contained within a Blueprint.

  • Bug Fix: Added missing compilation error checking for animation state machine states.

  • Bug Fix: Animation interface graphs now display sub-graphs in the My Blueprint tab.

  • Bug Fix: Fixed a problem that caused anim Blueprints to now show a debug execution state when a derived instance was watched in the editor via its base Blueprint.

  • Bug Fix: Fixed an issue that occasionally caused custom-blend graphs to create non-normalized poses.

  • Bug Fix: Fixed excessive anim initialization cost when using animation Blueprint layers (50ms+ hitch).

  • Bug Fix: Animation layer input's type can no longer be reset to default.

  • Bug Fix: Renaming an animation interface graph now also fixes up layer nodes that use that graph.

  • Bug Fix: The "Add new" button in animation interfaces now allows the creation of animation layers.

  • Bug Fix: Fixed a problem with graph fragments getting correctly initialized/cached when unlinking an anim layer.

  • Bug Fix: Fixed weight propagation over sub-instance boundaries.

  • Bug Fix: Fixed a problem that caused GetInstanceTransitionTimeElapsed to always return 0 in non-editor builds.

  • Bug Fix: Fixed the details panel expansion state to persist when adding an animation layer.

  • 新規: ControlRig AnimNode がサポートする付加的なブレンディングに対するアルファ値が追加されました。

  • 新規: アニメーション グラフ上に落ちた物理アセットは剛体ノードを作成するようになりました。

  • 新規: State Machine Transition、Blend Poses by Int/Bool/Enum ノード、Linked Anim Graph ノード、Linked Anim Layer ノードに対して、初期化ノードと慣性ブレンディングのサポートが追加されました。

  • 新規: Linked Animation Graph ノードおよび Linked Animation Layer ノードに対するブレンディング オプションが追加されました。Animation Blueprint エディタでグラフまたはレイヤーを選択します。詳細パネルの中に [Graph Blending] オプションがあります。グラフまたはレイヤーをブレンドするには、グラフを使用する Linked Anim Graph ノードまたは Linked Anim Layer ノードの後に Inertialization ノードを配置します。

  • 新規: SGraphTitleBar にマウス スクロールが追加されました。長いパスの移動に役立ちます。

  • 新規: Layer ノードは、アニメーション ブループリント デバッガーによる実行中インスタンスの検査中に、 (動的に割り当てられた) リンクしたクラスを表示するようになりました。

  • 新規: Animation Blueprint エディタで、"preview animation Blueprint" をコンテナとして使用することでレイヤー オーバーレイとサブインスタンスのプレビュー機能が追加されました。

  • Improvement: Improved the UX for anim graph node pin toggles.

Animation Tools

  • Crash Fix: Crash no longer occurs when force-deleting an in-use notify state blueprint.

  • Bug Fix: The virtual bone text field now focuses correctly when adding a virtual bone.

  • Bug Fix: Fixed multi-selection of skeletons to be allowed in skeleton selection dialogs.

  • Bug Fix: Fixed a display issue when hovering over the boundaries of a blend-space within the Blend Space Editor.

  • Bug Fix: Animation Blueprint preview meshes now correctly persist between sessions.

Import/Export

  • Crash Fix: Fixed a crash with reimporting an Alembic file as a Skeletal Mesh while having an Animation Editor window open.

  • Crash Fix: Exporting an animation after deleting curve no longer causes a crash in the editor.

  • Bug Fix: Fixed a bug that could prevent MorphTargets from being reimported properly.

スケルタルメッシュ

  • Crash Fix: Fixed an issue with morph targets flickering and crashing when there were active morph target changes.

  • Crash Fix: Fixed a crash caused by RetargetBasePose and Virtual Bones.

  • Bug Fix: Removed an extra bound that got added automatically to SkeletalMesh and caused it to have a bound that was too big.

Audio

  • Crash Fix: Fixed a crash on shutdown of Google Resonance module.

  • Crash Fix: Fixed a race condition crash between the audio engine suspend state and audio engine toggle on iOS.

  • Crash Fix: Fixed a race condition when loading DialogueSoundWaves that would sometimes lead to a crash or invalid data on the DialogueSoundWave.

  • Bug Fix: Fixed the null audio device pace.It was previously generating audio slower than it should have, since it was relying on a Sleep function to set the pace.

  • Bug Fix: Fixed edge cases that were not reporting back to AudioComponents that playback had finished (and failed).

  • Bug Fix: Fixed the MaxDuration sound calculation when cooking surround.

  • Bug Fix: Fixed an issue with SoundWaves being played via SoundCues set to PlayWhenSilent (flag wasn't being observed).

  • Bug Fix: Fixed a bug with OSC bundles not being parsed correctly due to reads not accounting for the header element offset.

  • Bug Fix: Fixed potential audio distortion when recording gameplay with GameplayMediaEncoder, caused by wraparound when playing loud sounds.

  • Bug Fix: Fixed a thread safety conflict with SeekToTime being called on the audio thread and StreamCompressedData on the decompression worker thread.The change forces all seek requests to be processed on the worker thread.

  • Bug Fix: Fixed audio stats not being available in test builds.

  • Bug Fix: Fixed a MaxDistance calculation being wrong for box attenuation, causing sounds to cut out when the listener moves toward diagonals of a box.

  • Bug Fix: Fixed an ADPCM bug where non-interleaved encoding was not reporting the correct number of samples per channel in the asset viewer.

  • Bug Fix: Fixed a bug with focus not interpolating correctly when enabled.

  • Bug Fix: Fixed an iOS audio bug where crackling could be heard during certain OS events.

  • Bug Fix: Fixed an incorrect sample rate for media playback.

  • Bug Fix: Fixed an issue with the "audiomemreport" command where some sounds were incorrectly reported as being fully decompressed.

  • Bug Fix: Fixed a bug where the submix envelope follower would appear inactive due to the temp result being optimized away on some platforms.

  • Bug Fix: Fixed a bug for audio crackling when suspending an iOS app.

  • Bug Fix: Fixed a bug where per-source, one-pole filters were interpolating during their first callback with a new source.

  • Bug Fix: Fixed an issue with Time Synth PIE crash caused by playing more clips than the synth was initially allocated for.

  • Bug Fix: Fixed issues on some platforms where seekable audio streams were not acknowledging seek requests.

  • Bug Fix: Fixed an issue with Dynamics Processor where increasing the Input Gain would decrease the Output Gain.

  • Bug Fix: Fixed a bug in Phaser source effect becoming potentially unstable at project sample rates less than 48kHz.

  • Bug Fix: Fixed an issue on Android where when audio mixer is enabled, audio would render at the incorrect sample rate on some devices, thus causing stutters and pitching.

  • Bug Fix: Fixed a bug with reverb parameter interpolation overshooting its target, creating a possible edge case that would cause audio artifacts.

  • Bug Fix: Fix for multichannel file reimport in the case where a file is reimported to be mono or stereo when it was previously multichannel.

  • Bug Fix: Fixed a bug with AudioMixerDevice incorrectly reporting buffer size to be used in logs.

  • Bug Fix: Fixed a bug with non-seamless LPCM looping.

  • Bug Fix: Fixed iOS audio engine run time settings that were not observing project settings.

  • Bug Fix: Added audio engine option for device callback to wait configurable number of milliseconds for next audio buffer to be rendered before underrunning, which fixes an issue an Android where audio became choppy after connecting bluetooth headphones.You can configure this by setting au.UnderrunTimeoutMSec from the console or a configuration file.The default is 5 ms.

  • Bugfix: Fixed attenuation box shape incorrectly reporting 0 when distance is 0

  • Bugfix: Fixed an issue where the first import of sounds was missing playback or playing back a stale version of a sound. if stopping a sound during import, sounds will now log to the display.Also, removed a prompt for a template update when reimporting a sound.

  • 新規: 強制的にオーディオ デコードする機能が追加されました。コア数が少ないプラットフォーム、特にモバイルの場合に有用です。new cvar au.ForceSyncAudioDecodes を「1」に設定するとオンになります。

  • 新規: Switch を除くすべてのプラットフォームでオーディオ ミキサーがデフォルトでオンになりました。特定のプラットフォームのみオフにしたい場合は、対象のプラットフォームの「Engine.ini」ファイルの UseAudioMixer ([Audio] セクションにある) を false に設定します。

  • 新規: デバッグ リスナーの位置を視覚化するために、デバッグ描画 cvar au.3dVisualize.Listeners 1 が追加されました (off by default when au.3dVisualize.Enabled 1 の場合はデフォルトでオフ)。

  • 新規: ログ スパムを避けるために、デフォルト ログ レベルを Display for LogAudio に設定しました。

  • 新規: サウンド アセット作成のための右クリック メニューが複数のサブメニューに細分化され、ユーザーは早く簡単にタイプを探せるようになりました。

  • 新規: Audio Submix Graph が視覚的により直感的になるように更新されました。エディタを多く開いている場合および親子関係の編集に関するユーザービリティに関する問題点を修正しました。

  • 新規: 指定された半径以内でサウンドの再生を開始する場合、バイノーラル オーディオを無効にする機能が追加されました。

  • 新規: Steam Audio Beta 17 に、マルチスレッドでの環境エフェクト シミュレーション、Intel® Embree、AMD Radeon Rays のサポートが追加されました。シングルスレッドでビルトインされたSteam® Audio レイトレーサーを使った環境エフェクト シミュレーションに比べてパフォーマンスは各段に強化されます。さらに、レベル トランジションでのシーンの初期化もサポートとされることで、ジオメトリ タギング、そして全体的な安定性が改善されます。詳細は release blog post をご参照ください。また、以前の Unreal バージョンからのプロジェクト アップグレードについては transition notes をご参照ください。

  • 新規: FSilenceDetection (Signal Processing クラス) —一定の閾値をこえるオーディオのみ出力するプロセッサ クラスです。

  • 新規: FSlowAdaptiveGainControl (Signal Processing クラス) — FSilenceDetection クラスと併せて自動利得制御システムとして使用できます。

  • 新規: FFFTConvolver (Signal Processing クラス) —FFT convolver クラスです。FFFTConvolver は現在分割された畳み込みをサポートしていないため、ウィンドウ サイズは ProcessAudio コールバックで使用しているバッファサイズ以下にしてください。

  • 新規: CrossCorrelate (Signal Processing 関数) —2 つの信号の非周期の相互関数を実行します。

  • 新規: Audio Capture プラグインが Xbox One、PS4、Mac をサポートするようになりました。

  • 新規: ソース別の LPF 周波数パラメータ制御がサウンド クラスとサウンド ミックスに追加されました。

  • 新規: ブループリントからオーディオ コンポーネント プレイ ステートをクエリする機能が追加されました。

  • 新規: Google Resonance 品質を大幅に下げるために、cvar au.resonance.quality が追加されました。

  • 新規: マルチスレッド オーディオ レンダリングをサポートするクラスが追加されました。詳細は MultithreadedPatching.h をご参照ください。

  • Improvement: Added optimized Push/Pop Containers to Blueprint for manipulating OSC Addresses.Also added a Blueprint call to clear an OSC Address' Containers (instead of having to pop each off individually).

  • Improvement: Added support for additional device routing to our native VOIP engine.This can be done either by using IOnlineVoice::PatchRemoteTalkerOutputToEndpoint(DeviceName), or by using the console command "voice.sendRemoteTalkersToEndpoint ".

  • Improvement: Decoupled AudioMixer callback size and iOS device callback sizes to enable latency to be configurable.

  • Improvement: Improved GameplayMediaEncoder audio handling (timestamps and duration).It now also adjusts the audio clock if it falls behind, such as when we break into the debugger.

  • Improvement: The AudioCapture module has been split into several modules:

    • AudioCaptureCore—Includes our core audio capture interfaces that don't rely on the Engine.

    • AudioCapture—Includes engine dependent classes such as UAudioCaptureComponent.

    • Platform-specific implementations of IAudioCaptureStream in independent modules (AudioCaptureRtAudio, AudioCaptureAudioUnit, and so on).

  • Improvement: The AudioMixer module has been split into several modules:

    • AudioMixer—Includes any engine-dependent code used in Unreal Audio.

    • AudioMixerCore—Includes IAudioMixerPlatformInterface and other audio classes that don't rely on the engine module.

    • SignalProcessing—Does not rely on the engine, and is used as our general purpose audio DSP library.

Automation

  • 新規: BlacklistTest エントリをプロジェクト設定に追加することで、テストの実行をブロックできるようになりました。

  • 新規: Automation はエディタで自動的にパイソン テストを発見するようになりました。

  • 新規: Gauntlet 経由で Magic Leap (Lumin SDK) を実行できます。EngineTest.xml ファイルで利用できます (デフォルトは無効)。

  • 新規: 自動化テストから FEditorViewportClient::ProcessScreenShots を呼び出すと HighResScreenshot が処理されるようになりました。

  • 新規: ブループリントとパイソン テスト用に AddExpectedLogError 関数が追加されました。

ブループリント

  • Crash Fix: Fixed a crash that occurred when deleting a component in the parent Blueprint then renaming a component in the child to the name of the now deleted component.

  • Crash Fix: Blueprints—Fixed a crash that occurred when attempting to reinstance an actor that did not belong to a UWorld.This was always true of sequencer spawnables that did not have a UWorld ptr.

  • Crash Fix: Fixed an editor crash that happened when copying a gameplay tag variable set node between eventgraphs.

  • Crash Fix: Fixed a crash when generating an incorrect node type connected to "GetProperty" of material options.

  • Crash Fix: ImportBufferAsTexture2D crashes when image bit depth is not 8 or 16.Fixed a badly formatted log string and returning nullptr on failure, which was the cause of the crash.

  • Crash Fix: Fixed a timing-specific crash caused by a stale Blueprint graph pin.

  • Crash Fix: Fixed a crash in DissociateImportsAndForcedExports when asynchronously loading Blueprints in the editor.

  • Crash Fix: Fixed crash in RenameGeneratedClasses when saving a map with a new name.

  • Crash Fix: Fixed an issue causing a crash after undoing the creation of a function.

  • Crash Fix: Fixed a crash that occurred when running commandlets that loaded level packages.The Blueprint search manager was creating missing level Blueprints, compiling them, then prompting the user to check out and save.

  • Bug Fix: Child Blueprints no longer need to check if their parents are abstract when being placed, but only if they are placeable and not deprecated.

  • Bug Fix: Fixed Blueprint property arrays of components not being reset when rerunning construction scripts.

  • Bug Fix: Fixed an issue that prevented the "Paste Here" action in Blueprints from doing anything.

  • Bug Fix: The Copy and Select All options now work in global Find in Blueprints windows.

  • Bug Fix: Fixed an issue that prevented a construction script's local variables from being visible in the details panel.

  • Bug Fix: Fixed a memory leak in the Blueprint action database registry after a map load in the editor.

  • Bug Fix: Fixed an issue where a tab could remain open for a function after the function is deleted if there were several copies of the same graph open at once.

  • Bug Fix: Fixed a default scene root being added when swapping scene roots via drag and drop.

  • Bug Fix: Fixed a bug where input pins of type FGameplayAttribute were having their values reset when compiling the Blueprint.

  • Bug Fix: Added the ability to hook into UK2Node::RenameUserDefinedPin.

  • Bug Fix: The editor now updates nodes when a pin connection has been removed from them, if that pin came from a Make Array or Make Map node.

  • API Change: UK2Nodes that previously implemented the function ERenamePinResult RenameUserDefinedPinImpl(const FName OldName, const FName NewName, bool bTest) should now override a function of the same signature but called RenameUserDefinedPinImpl instead.

  • Bug Fix: Nativized TMaps no longer incorrectly set their default values.

  • Bug Fix: Fixed ensure related to the InheritableComponentHandler's Outer when compiling a Blueprint after performing undo/redo actions.

  • Bug Fix: Blueprint debugger now properly steps over reroute nodes.

  • Bug Fix: Fixed a Blueprint nativization issue in which latent node exec pins occasionally did not fire in the packaged build.

  • Bug Fix: Blueprint interface conflicts are now reported to the user as toasts rather than as silent log messages.

  • Bug Fix: Dependent Blueprint compilation has been reworked to avoid false positives.This can speed up compilation for Blueprints with a large set of dependents.

  • Bug Fix: Fixed duplication of a child Actor occurring when making changes to a macro or Blueprint function library, where both the child Actor class and the parent class containing the child Actor component are included.

  • Bug Fix: Now the Engine will automatically recompile all affected Blueprints when a Blueprint variable is renamed.

  • 新規: コンテナ内にネスト化された構造体がブループリントの詳細パネルに正確に表示されるようになりました。

  • 新規: 新しい 実験的 機能があります (オプション)。 親クラスを BaseClassesToAllowRecompilingDuringPlayInEditor リスト (デフォルトは空) に追加することでプレイ イン エディタで修正中のブループリントを有効にします。ある特定のユースケースで機能するかどうかは状況によります。

    • ゲームプレイ キューのようなアクティブなインスタンスなしでオンデマンドでスポーンされたものは機能することが多い。プロップのように通常は他のゲームプレイコードから直接参照されない葉のようなものも一般的には機能するはずです。

    • コアのゲームプレイ コードはうわべだけです。たとえば、プレイヤー コントローラー ブループリントでのイタレート処理は機能しない場合があります。 *既存インスタンスのある UMG ウィジェットは機能しません。(プレイ イン エディタ中に UI を再生成する方法がある場合は、ウィジェットが再生成された後に機能するはずです。)

    この機能は実験的ですので、ブループリントをリコンパイルするとプレイ イン エディタ中にクラッシュする可能性があります。まず保存をして慎重に使用してください。

  • 新規: ブループリント グラフにおけるネイティブ生成機能がサポートされました。

  • 新規: Private および Protected 設定によるブループリント関数の呼び出し制限がブループリント コンパイラで実行されるようになりました。

  • 新規: コンパイルされたブループリント数が詳細コンパイル結果に含まれるようになりました。

  • 新規: FMatrix 機能がブループリントに公開され、マトリックスのプリントを容易にするために Autocast ノードが追加されました。

  • 新規: 任意のプラットフォームまたはすべてのサポート対象プラットフォーム用の Minimum LOD プロパティを取得するためのブループリント関数が追加されました。

  • 新規: アセット タブは、汎用のブループリント アイコンではなく生成されたクラスのアイコンを使用するようになりました。

  • Improvement: Improved comments on Blueprint-exposed Floor/Trunc/Ceil/Round functions, and fixed a precision loss issue in the int64 versions.

コア

  • Crash Fix: Fixed a FAssetManagerEditorModule::RefreshRegistryData null pointer crash.

  • Crash Fix: LogTrace with nullptr string arguments no longer crashes.

  • Crash Fix: Fixed a hot reload crash caused by the module manager finding obsolete modules that aren't compatible with the current build.

  • Crash Fix: Fixed a crash in FGenericWidePlatformString::GetVarArgs() For %l64d, Percent to be skipped by four characters(%I64) instead of three.

  • Bug Fix: MallocAnsi no longer crashes when it fails to allocate memory, instead triggering an out-of-memory flow.This brings its behavior in line with the other allocators.

  • Bug Fix: Skeletal simplifier—Made a more robust solution to accommodate problems in tangent space in the unsimplified source mesh.

  • Bug Fix: Fixed the TJsonWriter.WriteStringValue to escape low-ASCII control characters without an alternative two-character code with \u00XX.

  • Bug Fix: FTransaction::Records is now a TIndirectArray to avoid resizing issues when adding Actors that have component instance data caches with components that have editinline subobjects.

  • Bug Fix: GetToolTipText no longer cuts off after two empty or punctuation separator lines in a comment, allowing large comments for the API docs, but only showing the first section in the editor.

  • Bug Fix: Fixed high crash count for when the drive runs out of space while compiling shaders.

  • Bug Fix: Fixed a log manager crash that occurred when HandleOutputFileCorrupted was triggered in some out-of-drive-space situations.

  • Bug Fix: Removed instance templates from UObject::PostLoadSubobjects in cooked builds as all instancing will be brought up to date during the cooking process.

  • Bug Fix: Changed FArchiveFromStructuredArchive and FArchiveUObjectFromStructuredArchive to prevent implicit conversion to FArchive.

  • Bug Fix: Stopped explicit shutdown of async loading, and added ShutdownAsyncThread in UObjectBaseShutdown.

  • Bug Fix: Fixed deprecated properties being written out to config files.

  • Bug Fix: Fixed a divide by zero case in UTimelineComponent::TickComponent.

  • Bug Fix: Fixed two profiler frames created per engine tick. ()

  • Bug Fix: Fixed the formatting of %S, which is ANSICHAR when TCHARs are wide on non-Windows platforms.

  • Bug Fix: Fixed TStringConversion's move constructor.

  • Bug Fix: Removed a broken but unused char overload from FStructuredArchive.

  • Bug Fix: Camera Shake—Fixed oscillation blend-out time.Blend out was previously incorrectly calculated without the OscillationDuration.

  • Bug Fix: Fixed TPropertyValueIterator, skipping all but the first element in arrays of structs.

  • Crash Fix: Fixed a crash that occurred when executing a delegate that was bound with a UFunction with reference parameters.

  • Bug Fix: Static asserts added to TStaticArray::GetData to prevent it from being called when the array elements were non-contiguous.Also fixed the TIsContiguousContainer trait to report the case.

  • Bug Fix: No longer clears the AsyncLoading flag before objects have been post loaded.

  • Bug Fix: GitHub #6052 :Fixed comments for EBuildModuleType.

  • Bug Fix: Fixed an error code being returned from FPlatformString::GetVarArgs() on non-Windows platforms when the formatted string matched the buffer length exactly.

  • Bug Fix: Separated abbreviations in the Display Name.

  • Bug Fix: Removed unused lambda capture.

  • Bug Fix: Fixed an issue that caused the engine to trigger Application Verifier errors relating to potential misuse of ::VirtualFree when run with the -llm command line.

  • Bug Fix: Fixed an issue where calling FPlatformProcess::Sleep with 0 time on the windows platform caused a yield and a sleep, rather than just a single yield.

  • Bug Fix: Fixed truncation of bulkdata size to a 32-bit integer even though 64-bit sizes are handled elsewhere.

  • Bug Fix: Fixed coding style syntax to Use nullptr instead of NULL.

  • Bug Fix: Cook commandlet will now properly report the number of available UObject indices before and after Garbage Collector runs.

  • Bug Fix: Fixed a memory stomp in Trace writer.

  • Bug Fix: FGuardValue_Bitfield macro expansion no longer hides previous usage within the same or a nested scope.

  • Bug Fix: Changed the default sort predicate for TSortedMap to use its ConstPointerType rather than KeyType directly to ensure compatibility for non-const-pointer keys.

  • Bug Fix: Reset the LastRealTime for when the engine goes from fixed-time step to unfixed.

  • Bug Fix: Added logging for a PreExit to catch entering the PreExit state during a game.

  • Bug Fix: During text asset serialization, both the class package and the name in object path strings are included so that they can be resolved properly when loading.

  • Bug Fix: Moved the test for low free UObjectArray slot count when cooking, before testing available memory, and exiting early, thus skipping the check completely.

  • Bug Fix: Fixed Algo::Find* to correctly forward the range type so that rvalue references compile correctly.

  • Bug Fix: SandboxDirectory is now absolute and has no relative paths in it.

  • Crash Fix: Now reports the value of GIsRequestingExit during a crash.

  • Bug Fix: Moved the RootElementId constant out of StructuredArchive.h and into an anonymous namespace in the cpp file.This results in a linker error fix on Linux.

  • Bug Fix: Fixed the cooker to filter out plugin content for unsupported target platforms.

  • Bug Fix: Fixed an uninitialized string return from FWindowsPlatformProcess::GetApplicationName.

  • Crash Fix: Removed a potential crash when destroying GC clusters.

  • Crash Fix: Removed a potential crash when adding tickable game objects in static init.

  • Bug Fix: Fixed a bug where editor-only soft object references loaded from config files wouldn't be correctly marked as being soft object references, and still cooked.

  • Bug Fix: Fixed a bug in the preloading screen manager implementation when early startup movies are used.

  • Bug Fix: Fixed a bug with creating GC clusters when Async Loading times were out and the remaining clusters didn't get created.

  • Crash Fix: Fixed a few issues with running the final Garbage Collector pass when exiting:

  • Fixed a crash when exiting early during init caused by disregard for GC set not being closed.

    • Fixed a crash when exiting early during init caused by classes not being fully initialized.

    • Added guards to prevent other threads from manipulating UObjects when the final GC runs.

  • Bug Fix: Fixed a possible hang in Garbage Collector when the number of objects to be destroyed was divisible by TimeLimitEnforcementGranularityForDeletion.

  • Bug Fix: Changed the task graph behavior in single threaded mode.Now, if there is nothing to wait for, it returns; otherwise it is a fatal error.

  • Bug Fix: Fixed possible buffer overruns in WritePipe functions.

  • Bug Fix: Removed int and replaced it with UE-preferred int32 type.

  • Bug Fix: Added support to the JSON parser for keeping numbers stored as text in the DOM in a way that they can be correctly converted to the requested type when the value is queried, rather than LastRealTime cast to double at read time, potentially losing data.

  • Bug Fix: The DDC cleanup thread will now stop as soon as the engine begins shutting down.This prevents stalls on exit.

  • Crash Fix: Fixed an AtmosphericFogComponent crash when it's InitResource was executed off the main thread.

  • 新規: 無効な subobject のオーバーライドの FSubObjectInitializer への提供は重要ではなくなり、適切なエラーが出力され、有効なデフォルトが使用されるようになりました。

  • 新規: テンプレート タイプに依存するのではなく明示的に UClass を受け取る SetDefaultSubobjectClass のバージョンが追加されました。

  • 新規: ToString メソッドが FrandomStream に追加されました。

  • 新規: 仮想の UObject::Modify WITH_EDITOR が追加されました。エディタ外に存在する Modify を呼び出すすべての既存コードの修正を避けるために、UObject::Modify の定義は引き続き forceinlined noop without editor となります。

  • 新規: VectorToVector2D 変換に明確なコメントが使用されるようになりました。

  • 新規: ObjectMacros.h の関数メタデータ指定子に対するコメントが改善されました。

  • 新規: TOptional::Emplace が新規に作成されたオブジェクトに参照を返すようになりました。

  • 新規: 修正されたヒープからは絶対にアロケートされないアロケータとスパース行列を追加しました。

  • 新規: composite テーブル内の ParentTables 変数が保護されるようになりました。

  • 新規: FGuid が Short GUID 形式をサポートするようになりました。Short GUID 形式は、hex ではなくにパッドなしの Base64 でエンコードすることで、digit メソッドでの Fguid 文字列と比べて string メソッドで GUID あたり 10 文字減らすことができます。

  • 新規: FThread は、FRunnable/FRunnableThread と比較するとシステム スレッド用 API がシンプルです。この API は std::thread を見本にしていますが、デタッチするスレッドはサポートしません。FRunnableThread に基づいて実装されます。

  • 新規: 無効なモデル コンポーネントのインデックス バッファに対するエラー探知およびエラー処理が改善されました。

  • 新規: SparseArray、Set、Map on Keys、Values に対して StableSort が追加されました。

  • 新規: 対象言語機能をテストするための PLATFORM_COMPILER_HAS_IF_CONSTEXPR マクロが追加され、そのマクロを使用するために既存の TEnableIf をいくつかオーバーロードしました。

  • 新規: 重複するコンパイル時間を短縮し、コピーのコンストラクタを除去して、オーバーライドされた POD と一致するデフォルトに戻るように、型の特徴をシンプルにして、

  • 新規: 構造化アーカイブのマクロの名前と文字列型が一定となるようにしました。

    • NAMED_ITEM(AnsiName, Value) および NAMED_FIELD(Value) は単一の SA_VALUE(TCharName, Value) にマージされました。FIELD_NAME(TCharName) および FIELD_NAME_TEXT(AnsiName) は単一の SA_FIELD_NAME(TCharName) にマージされました。

  • 新規: クック後にログに表示される DDC Summary Stats アウトプットはカウンタがゼロの場合の表示が INF から 0% に変わりました。さらに、すべてのアウトプット列に対するインデント付が一定となりました。

  • 新規: グローバルで表示されるように FArchive アダプタを StructuredArchive.h へ移動しました。

  • 新規: 構造化アーカイブとテストに属性サポートが追加されました。

  • 新規: Removed all allocations from FString::MatchesWildcard() からすべての割当を除去しました。

  • 新規: TSet and TMap XxxByHash() 関数を追加しました。

  • 新規: ハッシュ テーブルの取り込みを最適化したことで、マップと設定のタグ付けされたプロパティの取り込み速度が大幅に改善されました。

  • 新規: クックされていないビルドの中のモジュールのみを取り込む新しい UncookedOnly モジュール タイプが追加されました。これまで Developer モジュール タイプは、モジュールが -game で実行中のエディタ実行ファイルのみから取り込むことができるように一般的にこの目的に使用されていましたが、このビヘイビアはドキュメント化されても、意図されたわけでもありませんでした。

  • 新規: FMatrix::ApplyScale に const 修飾子を追加しました。

  • 新規: すべての型をコンストラクタとしてハードコード化して保存するために、TArrayView を連続範囲から構築可能にしました。

  • 新規: ゼロコピーに対するサポートが追加されました。

  • 新規: StreamableManager RequestAsync 関数と Sync Load 関数が値でパラメータを受け取るようになり、MoveTemp の使用が可能になり、可能な限り配列と文字列のコピーを回避するようになりました。

  • 新規: コピーを許可しない要素 (TUniquePtr など) を簡単に確認できるようにオーバーロードされた TQueue::Peek が追加されました。

  • 新規: メイン/ゲーム スレッド上のタスク グラフにディスパッチするためのAsync 実行モードが追加されました。

  • 新規: 前方宣言が可能になるように、構造化アーカイブ スロット タイプを FStructuredArchive のメンバからグローバル名前空間に移動しました。

  • 新規: ImportText への呼び出しコードが本当に必要になるまでエラーメッセージ用の構造体名を作成せずに済むようになりました。

  • 新規: tick 関数が登録されたときにアロケートされたもののみを取得する内部データに対するポインタを持つように、FTickFunction がリファクタリングされました。これにより、8 バイト追加され、登録された tick 関数に対する内部データとのインタラクトに変化が生じるものの、登録削除された tick 関数につき 40 バイト削減されます。登録されていない tick 関数を持つアクタとコンポーネント数を考えると、これはかなりの量のメモリ節約になります。

  • 新規: oodle 版 (現時点で 280 および 255 に対応しデフォルトは 280) を選択する機能をプロジェクトに追加しました。DefaultEngine.ini の以下のセクションを使用します。 [OodleSdk]OverrideSdkVersion=255.

  • 新規: 子のモニタリング処理して実行できるモードがクラッシュ レポート クライアントに新たに追加されました。さらに、クラッシュ レポート クライアントはスタック ウォーキングおよびシンボル検出も可能になりました。このモードは Windows ではデフォルトで有効であり、その他すべてのプラットフォームで変更はありません。

  • 新規: Visual Studio デバッガー ビジュアライザーが char 型の配列を文字列として対応するようになりました。

  • 新規: ヘッダ インライン ドキュメントを削除し、デベロッパーに最近更新された Stats System Overview を案内しました。

  • 新規: 構造化アーカイブを使用するために Convert UDataTable シリアライズを変換しました。

  • 新規: "view as text" 関数と "roundtrip" 関数をエディタのコンテンツ ブラウザのコンテキスト メニューに公開しました。

  • 新規: 構造化アーカイブを使用するために UAssetImportData シリアライズを変換しました。

  • 新規: FDeferredMessageLog が公開され、public として使用可能になりました。

  • 新規: FQueuedThread::Run を切り替えたので、統計収集 (stats collection) が有効の場合を除き、何もする必要がない場合でも 10ms ごとにアクティブになりません。必要のない数多くのコンテキスト スイッチ (特に大きな CPU 上の) を削除しました。

  • 新規: エンジン版から構造化アーカイブへのシリアライズが改善されました。

  • 新規: 与えられたフル パスを構成要素に分割する関数 FPackageName::SplitFullObjectPath() が追加されました。

  • 新規: 有効なハンドラ上の CloseHandle のみ呼び出します。

  • 新規: 存在しない型と許可し、コードが実際に Null ではない引数をパスした場合にエラーをトリガーするように、すべてのパッケージが Conform 引数を保存するように変更しました。

  • 新規: 数多くの一時割当を削除することで、UPackage::Save を最適化しました。内部の UObjectBaseUtility::GetPathName(const UObject StopOuter, FString& ResultString) の可視性をオーバーロードからパブリックに変更しました。UObjectBaseUtility::GetFullName(const UObject StopOuter, FString& ResultString) の public overload が追加されました。

  • 新規: "magic statics" の初期化を避けるために CsvProfiler シングルトン作成を変更しました。

  • 新規: FAsyncLoadingThread のグローバルの使用を減らして、さらに独立させました。Inside of FasyncPackage 内の FAsyncLoadingThread::Get() の使用を制限しました。

  • 新規: 同じロジックを複数の場所に分散させるのではなく、クックされたパッケージ データの書き込みを単一の関数に集約しました。これにより、パッケージ ストアのリファクタリング (およびメンテナンス) が容易になります。

  • 新規: Updated LexTryParseString() を更新して FCString::IsNumeric() を使用しないようにしました。これにより、, which fails for a number of number formats that can be converted by LexToString で変換可能 perfectly well.関数は LexToString() を実行し、アウトプットを 0 と比較するようになりました。結果が 0 の場合、インプット文字列は 0 で正しければ true を返す基本チェックを実施します。

  • 新規: OctreeSemantics が拡張され、SetElementId が TOctree& parameter も許可するようになりました。

  • 新規: LexTryParseFromString に対すていくつかの単体テストが追加されました。

  • 新規: 型テストのメッセージが更新されました。

  • 新規: begin() / end() メソッドが TStaticArray に追加されて、Algo:: 演算子で range-for の一部として使用される iterable 型として扱えるようになりました。

  • 新規: TStaticArray を表示できるように TArrayView にコンストラクタが追加されました。

  • 新規: ファジィ セーフな Oodle による解凍を有効にすると、I/O エラーでのクラッシュを防ぐことができます。

  • 新規: FVector2D を単一の浮動小数点数から構造化しました。

  • 新規: クッカ ConditionallyExcludeForTarget が新しいマーク OBJECTMARK_KeepForTargetPlatform によって最適化されました。

  • 新規: Event Driven Loader を有効にすると、CancelAsyncLoading() がサポートされるようになりました。アプリケーションを終了する際、非同期読み込みはフラッシュではなくキャンセルされます。

  • 新規: 新規アセット登録が既存のものにマージされる場合、登録されたシステムがそれらを選んで使用できるように、すべての新規アセットは AssetAdded デリゲートによって解放されます。

  • 新規: ルート コンポーネントがない、もしくは詳細モードが低い場合、AActor::NeedsLoadForTargetPlatform を早期終了するのが典型的なデフォルト ケースです。ほとんどの場合、デバイス プロファイルの検索によるオーバーヘッドを回避します。

  • 新規: tracehost= をもつ引数に対して一般的な規則を使用するために、 tracehost が変更されました。

  • 新規: FMaxPackageSummarySize がスタンドアローン クラスになりました。FAsyncLoadingThread 内にはカプセル化されません。

  • 新規: ハードコード化された DDCCleanup 設定 (TimeToWaitAfterInit, TimeBetweenDeleteingDirectories, TimeBetweenDeletingFiles) が ini に公開されました。

  • 新規: プロジェクト設定で終了時に非同期ローディングのフラッシュとキャンセルを切り替える機能が追加されました。

  • 新規: 解凍のエラー ログにおいてポインタのフォーマット化が変更されました。Changed formatting of a pointer in a decompression failure log to use %p.

  • 新規: pak ファイルの読み取り時に、要求される暗号化キーの検証が使用可能 から重要に変更されました。 修復可能なイベントには絶対にならず、検証がコンパイル アウトされる場合は継続されるべきではないからです。

  • 新規: TArray 範囲チェックとは異なり、不正なインデックスを記録する範囲チェックがクラスター配列インデックス演算子に対して追加されました。

  • 新規: Windows ANSI malloc がスレッドセーフとしてフラグ化されました。

  • Deprecated: Deprecated FCustomVersionContainer::GetRegistered and replaced it with a new, thread-safe API.

  • Deprecated: Deprecated GetExtrema due to unsafe indexing operations, to be replaced with either the [] operator or direct access to Min and Max.

  • Deprecated: Deprecated the Developer module type.The UncookedOnly type has the same functionality but is more descriptive, and the DeveloperTool module type correctly represents the state of the bBuildDeveloperTools flag.

  • Deprecated: Deprecated ARRAY_COUNT and changed it to UE_ARRAY_COUNT.

  • Removed: TAutoPtr and TScopedPointer smart pointers have been removed (deprecated in 4.15).

  • Removed: Removed tagged binary formatters from structured archive code.

  • Removed: Removed deprecated comments from TBaseMulticastDelegate::Add and TBaseMulticastDelegate::FDelegate.No intention to ever hide these, and they can be useful for binding the same handler to multiple delegates.

  • Removed: Removed global alloc/free/realloc counters, since these were inaccurate as they are global and could be modified multiple times per operation.Additionally, they added one atomic per call, which is bad news, especially since these tracking counters were enabled for TBB.Also removed inert ad hoc timing profiling code from TBB allocation path.

  • Removed: Removed unused MAX_MERGED_COMPRESSION_CHUNKSIZE, ENABLE_PACKAGE_CLASS_SERIALIZATION_TIMES, ENABLE_TAGEXPORTS_CLASS_PRESAVE_TIMES.

  • Removed: Removed some unnecessary static functions from public Package.h header.

  • Removed: Removed some unused package flags PKG_Need and PKG_DisallowLazyLoading.

  • Removed: Removed code related to now-defunct cook stats.

  • Removed: Removed redundant USkeletalMesh::AddReferencedObjects.

  • Removed: Removed obsolete cooker save setting bConsiderCompressedPackageFileLengthRequirements.

  • Improvement: Optimizations to tagged property serialization and numeric property conversions Tagged property serialization became ~20% faster during initial loading into game of an internal project.

  • Improvement: FAsyncPackage::EmptyReferencedObjects should be a lot faster now—moved most of its cost to the Async Loading Thread.

  • Improvement: Optimizes AllowDebugViewmodes (TLightMapDensityDS::ShouldCompilePermutation) by replacing lots of temporary string allocations and individual string lookups with a global precalculated u32 GRequiresCookedDataPlatformMask.

  • Improvement: Optimizes RemapPaintedVertexColors (UStaticMeshComponent::PrivateFixupOverrideColors) by reusing temporary array.

  • Improvement: Optimizes UAssetManager::OnObjectPreSave by reducing temporary string allocations.

  • Improvement: Optimizes TProperty_WithEqualityAndSerializer (UMapProperty::SerializeItem) by removing temporary string allocs by avoiding copy while comparing properties.

  • Improvement: Optimizes UProperty::FindRedirectedPropertyName by removing temporary string allocation and FName initialization when there is only one outer.

  • Improvement: Improvements to pak index memory optimizations.

  • Improvement: Now optimizes any PAK files that are added after encryption keys are registered.

  • Improvement: Extended trace's analyzer framework to issue callbacks when a new event type is registered from the trace stream, to subscribe to all events, and to expose type information that encourages ad hoc analysis.

  • Improvement: Enabled event tracing (such as Unreal Insights) on Android, iOS, Mac, Linux, and Switch.

Cooker

  • Bug Fix: The cook now properly fails if the AssetManagerSettings has non-unique Primary Asset Type entries.

  • Bug Fix: The lesser version check in FXGEControllerModule::IsSupported() is now a warning instead of an error.

  • Bug Fix: Fixed an issue that would disable the VertexColor visualization after reimporting a StaticMesh.

  • Bug Fix: Fixed a StaticMesh issue where computing Normals and Tangents in the editor could give different results on Mac and Windows.

  • Bug Fix: Fixed an issue that prevented proper visualization of StaticMeshes' Vertex Color in the editor.

  • Bug Fix: Importing a StaticMesh no longer produces a warning when the imported data is not triangulated.

  • Bug Fix: Fixed an issue that would cause the asset reimport options to stop working after canceling the "reimport with new file" dialog window.

  • Bug Fix: Fixed an issue that would wrongly identify reimported StaticMesh as conflicting when the imported data used a namespace.

  • Bug Fix: Fixed a bug that could cause merged materials to display as black when merging StaticMeshes.

  • Bug Fix: Fixed a bug that could make the editor crash when exporting a DestructibleMesh.

  • Bug Fix: Fixed an issue that would cause some materials to not be assigned in the right sections when merging multiple StaticMeshes.

  • Bug Fix: Fixed a bug that caused MorphTargets to be exported into multiple morph modifiers instead of one.

  • Bug Fix: When running cook on the fly, asset registry was not generated (since no chunk manifests are generated).This caused certain runtime lookups (like UObjectLibrary::LoadAssetDataFromPaths) to return no results in cook-on-the-fly scenarios.With this fix, if there are no chunk manifests present, then the entire asset registry is saved instead.

メモリ プロファイラ

  • 新規: VirtualTextureSystem に対して LLM タグが追加されました。

ネットワーク プロファイラ

  • Bug Fix: Actors now use their class name instead of their actual name when reporting data to the networking profiler.This fixes some issues where different actor names would cause data would be grouped incorrectly.

  • 新規:

    • to be returned when GetInternetAddr が UDemoNetConnection で呼び出されると返される FInternetAddrDemo (基本的にダミーのインターネット addr) が作成されました。これにより、デモ トラフィックがクライアント接続に記録されるというネットワーク プロファイリングでの問題が修正されました。

    • FNetworkProfiler::SetCurrentConnection が不正な FInternetAddr シェアード ポインタを持つ接続に渡されると、その前の接続の状態に関係なく「不正な接続」へデータをかき出します。

Unreal Insights

  • MAJOR: Added initial layout for the new Networking Insights profiler.

  • Bug Fix: Fixed issue with deleted .utrace files still appearing in the session list.

  • Bug Fix: Fixed the handling of ANSICHAR strings in log trace.

  • Bug Fix: Fixed the session list to correctly update when a trace file is renamed.

  • Bug Fix: Fixed SetColor log messages that were showing up in the log view.

  • Bug Fix: Fixed instrumentation points that were incorrectly using TRACE_CPUPROFILER_EVENT_SCOPE_TEXT for static scope names.

  • 新規: 基本レポート生成サポートのついた UnrealInsightsCLI の最初のバージョンが追加されました。

  • 新規: スコープ バタフライ モデルが ITimingProfilerProvider に追加されました。

  • 新規: TRACE_CPUPROFILER_EVENT_SCOPE_TEXT が動的文字列をサポートするようになりました。

  • 新規: トレース セッションにファイル サイズとタイムスタンプ情報が追加されました。

  • 新規: Timing Insights:Callers - Callees ツリー ビューが追加されました。

  • 新規: Unreal Insights で遅れて収集およびロードされたファイルに対するトレースがサポートされるようになりました。

  • 新規: Linux と Mac にサポートの追加されました。

スタート ページ
  • Bug Fix: Fixed session list to correctly update when a trace file is renamed.

  • Bug Fix: Fixed file size for live sessions (now updates as file size changes).

  • Bug Fix: Fixed sorting in sessions list (by timestamp).

  • 新規: 利用可能なセッションの情報 (該当する場合) が追加されました (App Name、Platform、Build Config、Build Target) 。ツールチップにコマンド ラインも追加されました。

  • 新規: "File Size" 情報がセッション リストに追加されました。

  • 新規: セッションのツールチップにさらに情報が追加されました。

  • Improvement: Changed units for session file sizes to be consistently KiB (the actual value in bytes and in KiB/MiB/GiB can be seen in tooltip).

Networking Insights
  • 新規: 複数の [Networking Insights] タブにサポートが追加されました (2 つともデフォルトで開きます)。

  • 新規: "Packets" ビューが追加されました。

    • Game Instance、Connection、Connection Mode を選択するにコンボ ボックスが追加されました。

    • 垂直軸はパケットのサイズを表します。

    • パケットはデリバリー ステータスに応じて色分けされます。

    • パケットにカーソルを乗せると以下のツールチップが表示されます。"Packet Index"、"Sequence Number"、"Content Size (bits)"、"Total Size (バイト)"、"使用されないビット"、"Timestamp"、"Status"。

    • 複数パケットの選択がサポートされるようになりました。

      • パケット上でマウスを左クリックするとそのパケットのみ個別に選択されます。

      • 異なるパケット上で Shift を押しながらマウスの左クリックすると、パケットを範囲で選択します。

      • Ctrl+A のショートカットですべてのパケットが選択できるようになりました。

  • 新規: "Packet Content" ビューが追加されました。

    • Packets ビューで選択されたパケットからネット イベントが表示されます。

    • 水平軸はイベントのサイズを表します (ビットで)。

    • Event 名とNet Id (該当する場合) がイベント上に表示されます。

    • イベントが複数のレベルに配置されます。

    • イベントをマウスの左クリックするとイベントが、 Net Stats ビューではタイプが選択します。

  • 新規: "Net Stats" ツリー ビューが追加されました。

    • 列:Name、Level、統計 (Count, Total/Max/Average Inclusive Size, Total/Max Exclusive Size)。

    • グループ化:Flat、By Name あるいは By Level。

    • 列によるソート機能。

    • イベント名によるフィルター機能。

    • 統計集計情報を選択したパケットに計算する機能

    • インスタンスの合計数がゼロのネット イベント タイプ (統計集計情報) にフィルタをかけるため "!0" 切り替えボタンが追加されました。

Asset Loading Insights
  • 新規: "Package Details" タブと "Export Details" タブが追加されました (一般的なツリー テーブル ビュー)。

  • 新規: 以下の 2 つのツリー テーブル ビューが追加されました。Event Aggregation と Object Type Aggregation。"集計用トップ 10" ミニ テーブルはまだ表示されます。

  • 新規: Timing ビュー、Event Aggregation ビュー、Object Type Aggregation ビューのオンオフ切り替えができるツールバーが追加されました。

  • Removed: Aggregation mini-tables (as aggregation is available in the docked tabs as generic tree table views).

  • Improvement: Changed layout to use docking windows.

Generic Tree Table View
  • 新規: ソース テーブルのすべてのカラムに "Unique Values" によるグループ化が追加されました。

  • 新規: すべての numeric カラムに対して Aggregation (Sum) のサポートが追加されました。

  • 新規: 複数のグループ化ルールがサポートされるようになりました。さらに、パンくず制御に変わって "Group by" コンボボックスを使って、グループ化ルールの順序リストを選択することになります。

  • Improvement: Changed the way a Generic Tree Table view handles "name" column (now transformed into a "hierarchy" column).It does not use the first string column anymore.Instead, the name of items in list (table rows) are generated as "row N" (where N is the table row index).

  • Improvement: Improved sorting for large tables (for example, Asset Loading's Export Details).

Timing Insights
  • Crash Fix: Fixed crash occurring when clicking on a tree view (Timers, Stats, Callers, Callees, etc.) after selecting a time range to compute aggregated stats (when computation of aggregated states takes longer than usual).

  • Bug Fix: Fixed analysis being slow when opening a new session if in the previous session a time range was left selected.

  • Bug Fix: Fixed toolbar when resizing, to not hide buttons on the left side too early (the right side of toolbar was taking half of space).

  • 新規: Callers - Callees ツリー ビューが追加されました。

  • 新規: テスト グラフ トラック (今ではテストシリーズの方が多い) を開く "Graph" ツールバー オプションが再度有効になりました。

  • 新規: 使用可能なトレース モジュール (ライブ セッション用のみ) のための切り替えがツールバーに追加されました。

  • Improvement: Renamed "Stats" to "Counters".

  • Improvement: Improved performance when holding the mouse over a widget (Frame track, Graph track, Timing view).Due to synthetic mouse move events, the detection of events under mouse was executed even if mouse was not moved.

  • Removed: "Graph" toggle button from the toolbar (debug functionality).

  • Improvement: Disabled the functionality for controlling the enabled trace modules and loggers (for live sessions) from Timing Insights toolbar.

Timing View
  • Bug Fix: Fixed aggregated stats not being updated when a track is shown/hidden (if a time range selection is already made).

  • Bug Fix: Fixed I/O tracks to not update when session is reset (but only when the track is made visible).

  • Bug Fix: Fixed position of current time info in Time Ruler when selecting (when the selected time interval being just 1-2 pixels).

  • 新規: 選択したタイミング イベント名をクリップボードにコピーするショートカットとして Ctrl+C が追加されました。

  • 新規: cpu/gpu タイミング イベントにカーソルを合わせるとツールチップに "% of Parent" and "% of Root" が表示されるようになりました。

  • 新規: cpu/gpu タイミング イベントにカーソルを合わせるとツールチップに (Inclusive time と比較した) Exclusive time のパーセンテージが表示されるようになりました。

  • 新規: "vertical auto zoom" を有効にしていないシリーズ (フレーム シリーズなど) に対するグラフ トラックを手動で垂直にズームする可能性が追加されました。Shift + マウス ホイール

  • 新規: コンテキスト メニューがトラックに追加されました (現時点では、グラフ トラックは有効なコンテキスト メニューを表示します。CPU/GPU トラック用のコンテキスト メニューではスレッド トラック名とグループ名のみ表示されます)。

  • 新規: [Tracks] のドロップダウン メニューに "Graph Track - G" の表示切替オプションが追加されました。

  • 新規: I/O Overview トラックと I/O Activity トラックにおいて、イベントにカーソルを乗せるとツールチップが表示されるようになりました。

  • 新規: Ctrl + Shift + マウス ドラッグを使用して時間範囲の選択が可能になりました (ビューエリア内全体が対象)。

  • 新規: Time Ruler、Graph and Timing Events トラックに、セッション開始時間 (0) と終了時間を表す垂直マーカー (グレー色の線) が追加されました。

  • Improvement: Improved performance when moving the mouse over timing events.

  • Improvement: Made "canceling selection by clicking on time ruler" to behave the same as "canceling selection by clicking on an empty space" (to not reset the stats in Timers view).

  • Improvement: Improved algorithm to layout I/O file activity events so to not overlap."Close" events are now ignored when computing layout, but are still displayed on same depth as Open/Read/Write corresponding events.

  • Improvement: Changed "O" key shortcut to show/hide background events for file activities, in the I/O Activity track.

Timers View
  • Bug Fix: Fixed selection not being restored when list is updated or when aggregated stats are updated.

  • 新規: インスタンスの合計数 (統計集計情報) がゼロのタイマーにフィルタをかけるために、"!0" 切り替えボタンが追加されました。

  • 新規: ツールチップの中により、精度が向上した合計の inclusive time と exclusive time が表示されるようになりました。

Callers/Callees ビュー
  • 新規: 選択されたタイマーの caller または callee の階層を表示するツリー ビューです。

  • 新規: ツリー ビューは選択された時間範囲 (Timing view) および選択されたタイマー (Timers view) に基づいて更新されます。

  • 新規: ホットパスのタイマーは "fire" アイコンで強調表示されます。

Stats Counters ビュー
  • Bug Fix: Fixed selection not being restored when list is updated or when aggregated stats are updated.

  • 新規: インスタンスの合計数 (統計集計情報) がゼロの Stats Counters にフィルタをかけるために、"!0" 切り替えボタンが追加されました。

  • 新規: ダブルクリックするとビューのメイン グラフ トラックにシリーズを表示/非表示を切り替えるカウンタが追加されました。

  • 新規: Added colored rectangle in front of name for counters having a series added in Timing ビューのメイン グラフ トラックにシリーズを追加したカウンタの名前の正面に、色の付いた四角が追加されました。色は (カウンタ id に基づいて) 議事乱数的に生成されます。

Log ビュー
  • Bug Fix: Fixed clicking on a message to focus the Timing view on time of respective message even if the message was already selected.

  • Bug Fix: Changed the drop down for Verbosity Threshold to contain radio buttons (instead of checkboxes).

  • Bug Fix: Fixed log view showing invalid messages when a new session is loaded.

  • Bug Fix: Fixed case where there are no logs in analyzed trace session resulting in UI showing continuously "Filtering... please wait...".

  • Bug Fix: Fixed issue where having a filter set during a live session (or during a long analysis) results in selected item to trigger multiple scroll requests in timing view (each time new log messages are added to log view).

Frames Track
  • Bug Fix: Fixed tooltip flickering when zooming in/out.

  • Bug Fix: Fixed misaligned viewport issue after zooming in/out (affecting detection of frame under mouse).

  • Bug Fix: Fixed auto zooming to not zoom anymore if view is not in initial position (for example, if user has scrolled or zoomed the view).

  • Bug Fix: Fixed auto zoom not zooming enough if session is too short.

  • 新規: 水平グリッドと垂直グリッドが追加されました (水平軸の主グリッド線のフレーム インデックスと垂直軸主グリッド線のフレーム期間 + fps)。

  • 新規: ツールチップにアニメーションのフェード機能が追加されました。

  • 新規: Game Frames、Rendering Frames、Auto Zoom の切り替えオプションのついたコンテキスト メニューが追加されました。

  • Improvement: Increased the highlighted interval (white brackets) to include a frame even if it is only partially visible in Timing view.

Graph Track
  • Bug Fix: Fixed drawing of points (bottom points being hidden).

  • Bug Fix: Fixed draw lines for cases where a value is infinite.

  • Bug Fix: Fixed position of lines (1px offset).

  • 新規: Stats Counter シリーズにサポートが追加されました。

  • 新規: Stats Counter シリーズに対して自動垂直ズーム (アニメーション) が追加されました。

  • 新規: Added polygon rendering to fill area between シリーズ (接続線) と基本線 (値 == 0) 間の領域を埋めるためにポリゴン レンダリングが追加されました。

  • 新規: 以下の切り替えボタンのついたコンテキスト メニューが追加されました。

    • "Show Points (ポイントを表示する)"

    • "Show Points with Border (ポイントを太字で表示する)"

    • "Show Connected Lines (接続線を表示する)"

    • "Show Polygon (ポリゴンを表示する)"

    • "Use Event Duration (Event Duration を使用する)"

    • "Show Bars (バーを表示する)"

  • 新規: コンテキスト メニューにシリーズの一覧が追加されました (シリーズごとに表示/非表示できます)。

  • 新規: イベントにカーソルを乗せるとイベント探知と強調表示 (ポイント / 水平線 / ボックス) が追加されました。

  • 新規: イベントにカーソルを乗せるとツールチップが追加されました。

  • 新規: ツールチップで表示される値のカスタム フォーマット化が追加されました。Stats Counters の場合、値は "memory" (bytes)、整数、浮動小数点数が使用できます。"Frame" シリーズの場合、値は時間と "fps" として表示されます。

  • Improvement: Improved drawing of boxes (implemented simple reduction algorithm).

  • Improvement: Reduced size of points from 7px to 5px.

Graph Track ウィジェット
  • 新規: マウスを使用した水平パンとズームのサポートが追加されました。

  • 新規: Time Ruler トラックが追加されました。

  • 新規: 時間範囲選択が追加されました (Ctrl + Shift + マウスでドラッグ、またはタイムルーラー領域でマウスをドラッグ)。

  • 新規: コンテキスト メニュー (右クリック) が追加されました。

UnrealPak

  • 新規: TestMemoryOptimization モードが追加されました。コリジョンがないこととすべてが正しく動作していることを確認するために、ディレクトリの各 pak 全体でファイル名をアンロードし pak エントリを縮小して、

  • 新規: pak ファイルを実際に作成すると "adding entries" メッセージのみを出力します。

Datasmith

  • Crash Fix: Fixed a crash that was occurring when canceling the drag-and-drop of a Datasmith scene into a Level viewport.

  • Crash Fix: Variant Manager Blueprint functions with invalid inputs no longer cause crashes.

  • Crash Fix: IFC Importer—Fixed an issue where a Material was not created when the Material had no name in the IFC Importer.Also fixed crashes that occurred when importing files with schema other than IFC2x3.

  • Crash Fix: IFC Importer—Fixed a crash that occurred when IFC GlobalID was not a unique IFC Importer.Also fixed an issue on updating meshes on reimport.

  • Crash Fix: glTF Importer—Fixed a crash that occurred when a joint node was used in different skins.

  • Bug Fix: Fixed an issue where some geometry imported from Alias files wasn't imported due to too small of a scale.

  • Bug Fix: Fixed mesh tessellation problems for some types of NURB geometry imported from Autodesk Alias files.

  • Bug Fix: Handled parsing of DeltaGen TML animations for nodes that have rotation and scaling pivots.

  • Bug Fix: Fixed a bug where Materials imported from Alias scenes were not assigned to the imported static meshes when reimporting.

  • Bug Fix: Fixed an issue that caused Materials to be incorrectly set on some static meshes when importing .IFC files in Datasmith.

  • Bug Fix: Fixed an issue where Actors were sometimes imported through Datasmith as static when they should have been dynamic.

  • Bug Fix: Multiple ImportedSequencesHelper Blueprint Actors were created when reimporting VRED and DeltaGen scenes.This has been fixed.

  • Bug Fix: Actor labels no longer change when reimporting Datasmith scenes.

  • Bug Fix: Fixed the re-import options dialog where it was not automatically filled in with the corresponding VRED and DeltaGen chosen import options.

  • Bug Fix: Fixed a bug with Actors imported from GLTF files sometimes not being bound to the imported Level sequences.

  • Bug Fix: Fixed a few problems that occurred when parsing transparency layers from imported Cinema 4D Materials.

  • Bug Fix: Imported VRED visibility animations now correctly affect the entire attached Actor hierarchy, as in VRED.

  • Bug Fix: Fixed an issue where the normal map green channel was wrongly flipped when importing multiple textures.

  • Bug Fix: HDRIBackdrop plugin assets are no longer dependent on DatasmithContent plugin.

  • Bug Fix: In Visual Dataprep, disabled parameters inside a node will now display properly.

  • Bug Fix: glTF Materials are now imported by assigning them to Static Mesh assets instead of scene Actors.

  • Bug Fix: IFC importer—Geometry normals are now imported correctly.This fixed problems with visualization of some tessellated meshes.

  • Bug Fix: glTF animations are now resampled to 30 fps on import, and all glTF interpolation types(including Cubic), are supported.This fixes various issues with animation import.

  • Bug Fix: Fixed retessellation to use input meshing parameters.

  • Bug Fix: IFC Importer—Fixed reimport when importing a new file.

  • Bug Fix: IFC Importer—An imported object now has correct orientation.Imported Static Meshes no longer look mirrored in the Content Browser.

  • Bug Fix: Fixed the import of the UV map with Rhino files.

  • Bug Fix: Fixed import of Materials with the Inventor file.

  • 新規: Visual Dataprep エディタに、エンジン統計と似たようなシーン統計パネルが追加されました。このパネルには、プリミティブ統計とスタティックメッシュのライティング情報が表示されます。

  • 新規: Cinema4D の Crane Camera パラメータ上にアニメーションをインポートするためのサポートが追加されました。

  • 新規: DeltaGen で焼き付けられたライトマップとアンビエント オクルージョン マップをインポートするためのサポートが追加されました。

  • 新規: Cinema 4D、IFC、GLTF、VRED、DeltaGen シーンが Visual Dataprep を使用してインポートできるようになりました。

  • 新規: 子がアタッチされたアクタの表示を切り替えやすくする SwitchActor C++ クラスが追加されました。バリアントを Variant Manager と結合すると、その Option ぷrパティを使用してアクティブな子アクタの切り替えができます。

  • 新規: Cinema 4D からアクタ トラック カメラをインポートすると、カメラ ロール値とアニメーションをインポートします。

  • 新規: Post-Process Volume プロパティが Variant Manager でキャプチャできるようになりました。

  • 新規: MDL/AxF Importer プラグインが AxF Importer と MDL Importer の 2 つのプラグインになりました。

  • 新規: Visual Dataprep エディタが更新され、保存し忘れによるデータロスを防ぐためにインポート後にコミットされていないデータに対して保存を確認するダイアログを表示するようになりました。

  • 新規: StaticMeshEditorExtension プラグインが、スタティックメッシュ エディタ、コンテンツ ブラウザ (一括生成用)、エディタ ブループリント、Visual Dataprep にGenerate Unwrapped UV ユーティリティ機能を追加しました。

  • 新規: Datasmith インポーターでのブレンド マテリアル機能に対するサポートが改善されました。

  • 新規: Datasmith アセット メニューにVisual Dataprep パイプラインを実行しやすいようにオプションが追加されました。

  • 新規: 自動公開モードが Variant Manager に追加されました。UI の赤いボタンでオンにします。オンにすると Variant Manager は選択されたバリアントにたいしてアクタの修正されたプロパティをすべてキャプチャします。

  • 新規: Variant Manager においてキャプチャされたプロパティの右側にボタンが追加されて、記録された値がプロパティの現在の値と異なるかどうかを示します。このボタンをクリックすると、記録された値が現在の値に更新されます。

  • 新規: アクティブにされた Variant Manager バリアントに未解決のアクタバインディングがある場合の表示が追加されました。

  • 新規: Datasmith を使用してインポートすると、ライトマップ UV 生成を有効にするオプションが公開されました。それにより、静的なライティングが必要ないユーザーは、それを無効にしてインポートを高速化することができるようになりました。

  • 新規: Visual Dataprep において、演算子 Enable Lightmaps UVs と Compute Lightmap Resolution がより明確な Setup Static Lighting 操作に結合されました。

  • 新規: Cinema 4D Materials のインポートが改善されました。

    • リフレクタンスとカラー レイヤーからベースカラーをパースするようになりました

    • リニアおよび sRGB を適切に処理するためのドキュメントが追加されました

    • 法線テクスチャ ミックス モードに対するサポートが追加されました

    • 不適切に調整されたテクスチャ色に対して、色の輝度を修正しました

  • 新規: Visual Dataprep シーンとアセット プレビュー パネルが更新されて、オブジェクトの可視性を処理し、入力アセット タイプに応じて異なるアイコンを表示するアイコンが含まれました。

  • 新規: Variant Manager バリアントにアクティブかどうかを表示する小さなインジケータが付きました。

  • 新規: VRED and DeltaGen variant Datasmith エレメントがエディタ スクリプト処理にアクセス可能になりました。

  • 新規: MDL インポータは Datasmith に依存しなくなりました。

  • 新規: CAD インポート - メタデータ (カスタム プロパティ) インポートが改善されました

  • 新規: IFC インポータが IFC ファイルから長さ単位変換設定を適用するようになりました。

  • Improvement: Improved both speed and memory usage when importing big scenes using Datasmith.

  • Removed: All Datasmith importers are now unified, The dropdown menu from the Level Editor was no longer necessary, and has been removed.

DevTools

AutomationTool

  • Bug Fix: Fixed Gauntlet for recopying OBBs to a target device.

  • Bug Fix: Fixed Ionic compatibility issues relating to Zip64 archives and the 7-zip/Mac unzip command.

  • Bug Fix: Armv7 and arm64 architectures are now built when packaging Android plugins.

  • Bug Fix: Fixed editor-only plugins that triggered the recompilation of code projects.

  • Bug Fix: Improved logic that determines whether a content-only project needs to be compiled.

  • 新規: AutomationTool は、利用可能な場合は Mac 上で従来の xbuild に代わって MSBuild を使用するようになりました。

  • 新規: 同期を行い、オプションとしてプロジェクトをビルドしたり開いたりする SyncProject スクリプトが追加されました。

    使用例:

    SyncProject -project=EngineTest -build -open

    すべてのオプションについては SyncProject ヘルプを参照してください。

  • 新規: プロジェクトで指定したターゲットをビルドする BuildTarget スクリプトが追加されました。(すべてのオプションについては BuildTarget ヘルプを参照してください。)

    使用例:

    BuildTarget -project=EngineTest -target=Editor
    
    BuildTarget -project=ShooterGame -target=Game -configuration=Development -platform=Win64+PS4+XboxOne
    
    BuildEditor -project=Foo is equivalent to BuildTarget -project=Foo -target=Editor

BuildGraph

  • 新規: マクロにエージェントとノードの定義を含めることができるようになりました。

UnrealBuildTool

  • Bug Fix: When loading BuildConfiguration.xml, whitespace characters are now stripped around xml node values (except for string values) for convenience.

  • Bug Fix: BuildConfiguration.xml files now explicitly check for valid boolean values rather than defaulting to false on error.

  • Bug Fix: Added -fdiagnostics-absolute-paths to Clang builds on Linux and Switch to get fully qualified paths to all files involved when an error happens in a header.

  • 新規: イテレーション時間の向上のため、「BuildConfiguration.xml」ファイルの DisableUnityBuild 設定にモジュールのリストを追加して、これらを Unity のビルドから除外できるようになりました。

  • Bug Fix: Fixed an issue with loading .suo settings, and updated the version to 1.56.

  • Bug Fix: Changed the PVS Studio toolchain to use an instance of the VCToolChain to preprocess all the input files.

  • Bug Fix: Changed the order in which modules are mapped to Visual Studio projects.It is now Game to Mod to Program to Engine to Enterprise.This resolves issues where a Program in the game source root would take all the source code away from the Game project.In this case now, though the Program source is put into the Game project, it is best to have the program target in a Programs folder under the game source rather than at the same level as the game targets.

  • Bug Fix: Added a custom driver to invoke the linker on Windows, to filter out intermittent "Unexpected PDB error; OK" messages and restart the link.

  • Bug Fix: Added a warning when referencing a module without a fully qualified path, doing so will break the incremental building of it.

  • Bug Fix: Fixed single-file compile option modifying response files for files other than the one being built, causing unnecessarily large rebuilds.

  • Bug Fix: Fixed an issue where using -Platforms to generate a solution with a subset of platforms would break the editor finding the solution.

  • Bug Fix: Excluding target.cs files from the module source, this fixed an issue where target source got assigned to a project multiple times (which in some cases resulted in it being assigned to an otherwise empty project).Resolves an issue with games having a program with the same overlapping name.

  • Bug Fix: Reworked module assignment to visual project files to simplify the rule.Now the first matching target starting at the module file and searching upward in the directory structure will be used as a base for which project to use.If multiple targets are on the same level, the old rules of Game to Mod to Program to Engine to Platform to Enterprise still applies.

  • Bug Fix: Now allows of a list of preferred Windows toolchains.This makes it possible to reference both the latest toolchains as we version them in AutoSDK, while also still allowing for the version number used when installed locally.

  • Bug Fix: Fix LIB files not being generated to the same directory as the DLL when bShouldCompileAsDLL = true in the target.

  • Bug Fix: Fixed an error when trying to delete a file when hot reloading with the debugger is attached.

  • Bug Fix: Fix for broken IntelliSense data.

  • Bug Fix: Added detection of all .NET Framework versions, and if none are found, throws BuildException.

  • 新規: サポートされていないコンフィギュレーションでエディタをビルドしようとした際に、エラーを発生させるようにしました。

  • 新規: UBT に「GenerateClangDatabase」モードが追加されました。これにより、Clang ツーリング向けにワークスペースのルート ディレクトリで「compile_commands.json」ファイルが生成されるようになります。新しい「Filter=...」引数を使用して、含めるファイルを指定します (例: Filter=QAGame/Source/…)。

  • 新規: VSCode プロジェクト ファイル ジェネレータにオプションを追加して、すべてのファイルを含めるようにしました (デフォルトでは無効)。

  • 新規: Rider プロジェクト ファイルを生成するためのサポートが追加されました。

  • 新規: 「テスト」または「シッピング」でビルドされないゲーム、クライアント、サーバーのターゲットに対して、デベロッパー モジュールが有効になりました。

  • 新規: エンジン モジュールで、可能であればサードパーティのスタティック ライブラリへの完全パスを指定できるようになりました。また、有効なパスが指定されなかった場合は UBT で警告を出力するようになりました。これによってライブラリに対する依存度チェックが可能になり、パフォーマンスが向上します。

    • 従来のライブラリ検索ビヘイビアを必要とする状況に対応するために、PublicSystemLibraries リストが追加されました。

  • 新規: Android ライブラリのインポートに関する規則の更新により、代わりに新規導入された Android Architecture が使用されます。これは全般的なケースでの Target.Architecture とは異なり、常に有効なアーキテクチャに設定されます。

  • 新規: ソース コードの事前処理のみ (コンパイルなし) を行う「preprocess」引数が追加されました。「SingleFile=...」と併用して単一のソース ファイルを事前処理することもできます。

  • 新規: Windows の DirectX Math に対するビルド サポートとカスタマイズ オプションが追加されました。

  • 新規: 「Target.cs」ファイル内のコマンド ライン引数に対するネイティブのサポートが、各フィールドの [CommandLine] 属性を介して追加されました。

  • 新規: 「BuildConfiguration.xml」ファイルを介してモジュールごとに Unity および最適化の設定をオーバーライドできるようになりました。これによって Build.cs 内の Unity ビルド無効にする必要性がほとんどなくなります (ローカル イテレーション時間で無効にすることが主な理由であったからです)。「bFasterWithoutUnity」は「bUseUnity」に名前が変更され (意味が逆になるので注意してください)、Unity モードでのビルドをサポートしないモジュールの場合に使用します。

  • 新規: 最新の UBT ビルド設定を使用するプロジェクトで、シャドウ変数警告がデフォルトでエラーとして扱われるようになりました。警告とエラーの深刻度はモジュールごと、そしてターゲットごとに設定できます。エンジンは、常にこれらのエラーとともにビルドされます。

  • 新規: 一部のプラットフォームに対するランタイム シンボル ファイルの生成をオプションで無効にするために、TargetRules にフラグが追加されました。

  • 新規: Unreal Engine のコンパイル時に既知のコード生成に関する問題が含まれている場合に、UBT でエラーを出力するようになりました。また、UBT では、使用するコンパイラの並べ替え時にツールチェーン バージョンを除外するようになりました。現在、Visual Studio 2019 16.3 ツールチェーン (14.23.xxxxx) はブラックリストに記載されていることに注意してください。

  • Improvement:Updated the Android toolchain to filter paths to a library in the same way an additional library search path is filtered, enabling us to just specify the full path to multiple libraries for different architectures.

UnrealGameSync

  • Bug Fix: Fixed an issue that prevented building (and consequently, generating project files) when syncing precompiled binaries, which can happen if the build checkbox is selected before the "Sync Precompiled Binaries" option is enabled.

UnrealVS

  • Bug Fix: Fixed null dereference when starting batch builds without selecting a job first.

  • Bug Fix: UnrealVS v1.55 now loads asynchronously and no longer displays warning on start.

  • Bug Fix: Fixed that the Quick Build menu Visual Studio 2019 would occasionally be empty.

  • Improvement: Added more logging when running build batch jobs to catch a crash.

VSCode

  • Bug Fix: To address Intellisense warnings about incorrect macro definitions, modified the OpenColor header to check if GNUC is defined before use (as it already does a few lines below).Removed global invalid GNUC define, and fixed up spaces in the define, which were causing problems with VSCode.

エディタ

  • Crash Fix: Fixed a crash that occurred when a user attempted to spawn an Actor Blueprint that has been force-deleted.

  • Crash Fix: Fixed a duplicate-object crash that happens when a user performs a paste after undoing an earlier paste.This fix moves all objects with the same name out of the way, instead of just the first one.

  • Crash Fix: A crash was occurring when adding a component in the Blueprint Editor after undoing an Add Component action; the fix explicitly moves objects out of the way in order to adhere to the component naming convention.

  • Crash Fix: Fixed a crash that sometimes occurred in composite tables when performing an undo action on adding a table to itself.

  • Crash Fix: Fixed a potential crash that was triggered by early GC when creating assets.

  • Crash Fix: Fixed a crash that occurred when the user force-deleted levels containing certain types of assets such as particle systems.

  • Crash Fix: Deleting multiple entries of a map in a Blueprint will no longer crash the editor.

  • Crash Fix: Fixed a crash occurring for -game client in Multi-User when hot-reloading and purging packages.

  • Crash Fix: Fixed a crash that could occur when deleting an Actor from a level.

  • Crash Fix: HLOD:Fixed a crash occurring in cluster computation when a cluster's spheres barely overlapped.

  • Crash Fix: Fixed an issue with the World Outliner's customizable column, where it was allowing multiselect, which could cause a crash when no options were selected.

  • Crash Fix: Fixed a crash that occurred when user scrolled the sequence node list while the the track context menu is open.

  • Crash Fix: Fixed a crash caused by a missing call to initialize the concert style set from the Disaster Recovery plugin.This was initialized in a Multi-User plugin, so if both Multi-User and Disaster Recovery were enabled, it did not crash.Now, Disaster Recovery properly makes the call to initialize, preventing the crash.

  • Crash Fix: HLOD—Fixed a crash occurring when a user deleted the last Actor from an HLOD cluster.

  • Crash Fix: Fixed a crash that occurred when saving a package named "None."

  • Crash Fix: Fixed a Disaster Recovery crash occurring at exit if two editors were launched on the same project concurrently.

  • Crash Fix: Fixed a rare PIE crash that occurred when an Actor preview viewport is open.

  • Crash Fix: Fixed a crash that was occurring when refreshing a property editor "Guard against null properties" when calling IsOnlyVisibleWhenEditConditionMet.

  • Crash Fix: A crash was occuring after clicking Launch if Failed when the message log was open to Packaging Results.This has been fixed.

  • Crash Fix: Fixed a crash that occurred when adding a new spline point to the last segment of a closed-loop spline component.

  • Bug Fix: Fixed a bug in the GetNumberOfSelectedNodes function of SGraphEditor so it correctly returns the number of selected nodes.Added a new method, FindGraphEditorForGraph, in the SGraphEditor class.

  • Bug Fix: Duplicating an interface function no longer duplicates the pins on the graph nodes.When the schema duplicates a graph, the fix will have it path up all function terminators, not just the entry.When an interface graph is duplicated, it checks to make sure a user-defined pin exists before adding it.

  • Bug Fix: Fixed a problem where users were able to drag and drop events into the Event Graph that were non-callable by Blueprints.

  • Bug Fix: Fixed a typo in the OnNavigateToDataTableRowCode function of FDataTableEditor that was causing it to navigate to the struct twice.

  • Bug Fix: In Blueprints, SwitchOnEnum node output pins for native enums are now searchable by their corresponding C++ enum name.Previously, they would only turn up in a search if the keyword(s) matched the user-facing display name that's used for the pin's label.

  • Bug Fix: Creating an event from the details panel is now focused in the window without pressing Ctrl.

  • Bug Fix: Fixed a Blueprint compiler error that occurred when a Blueprint interface was removed from a class.

  • Bug Fix: Fixed a bug that could prevent Unreal Editor from closing.

  • Bug Fix:Fixed an issue where the Multi-User Browser search bar was not clearing the filter when the user pressed the Esc key to clear the search text.

  • Bug Fix: The editor now gives the user feedback when a combobox is useable.

  • Bug Fix: Fixed an issue with undo/redo that could cause UObject name collisions and possible crashes in UObject::Rename calls.

  • Bug Fix: The Stylus Input plugin now correctly triggers stylus events in popup windows.

  • Bug Fix: Asset property editors will no longer display thumbnails when an Array/Set/Map of SoftObjectPaths is tagged with "DisplayThumbnail=false" metadata.

  • Bug Fix: Fixed the Multi-User active session widget to display a "N/A (-game)" when a session client is in-game.Added a tooltip saying that client in-game does not emit their presence/level.

  • Bug Fix: Force-deleting an asset no longer closes all open asset editors, but instead only closes all editors that reference that asset.

  • Bug Fix: Prevented Disaster Recovery log console to pop up behind the editor on Mac OS.

  • Bug Fix: Fixed an error where tessellated materials displayed as a checkerboard and PS complexity 0 in Shader Complexity ViewMode in the editor.

  • Bug Fix: Added a parameter to constrain menu height.Some menus that were previously too long to access all the entries now have a fixed length.

  • Bug Fix: There is now a warning message about data loss when the Merge Actor tool overwrites existing files.

  • Bug Fix: Fixed an error in an Actor name when using the Merge Mesh tool to replace the selected Source Actors.

  • Bug Fix: Fixed an issue with the Multi-User Session History; the transaction Details panel was not displaying transactions that were superseded by others, and therefore not applied.

  • Bug Fix: Fixed an issue where the Multi-User Session History Details panel was expanding and collapsing when the user was browsing session activities.Now the Details panel stays open, but displays a "No Details" message when the selected activity does not have details.

  • Bug Fix: Fixed an issue where LOD Paint warning dialog was occurring when LOD Paint was not enabled.

  • Bug Fix: Fixed some property "reset-to-default" buttons in the Property Details panel that were not generating a transaction.

  • Bug Fix: Fixed the Depth Picker in the Details panel depth picker so it actually picks a sensible depth, rather than just picking the hit proxy Actor location.This allows you to use the eyedropper to set the focus distance for a cinematic camera.

  • Bug Fix: Fixed the asset picker to keep the "Show Other Developers" toggle button in sync with the filter list checkbox state when the filter UI is enabled.

  • Bug Fix: Disabled the unintended usage of console commands spawning Multi-User UI widgets when running the editor in "-game."

  • Bug Fix: Editor now validates that there are no locally dirty packages when joining a Multi-User session.

  • Bug Fix: Prevented Disaster Recovery from recovering changes made during a Multi-User session.

  • Bug Fix: Fixed persistence of live transaction session changes when the asset is not loaded.

  • Bug Fix: Reduced the time for gathering session changes when persisting.

  • Bug Fix: Fixed the filtering of classes when "AllowedClasses" or "DisallowedClasses" is specified for a UClass* property.Previously, unloaded Blueprint classes were always displayed.

  • Bug Fix: Fixed an issue where the data table row property was writing a potentially localized value for "None".

  • Bug Fix: Maps with struct values now correctly display their key in a separate property.

  • Bug Fix: EditConditions applied to containers holding structs now correctly apply to the structs' members as well.

  • Bug Fix: Scale spin boxes no longer cause the other components of the scale to get stuck at 0 when scaling through zero (eg.1 > 1).

  • Bug Fix: Fixed the BehaviorTreeEditor auto arrange crash and bug.

  • Bug Fix: Curve Editor—Speculative fix for when the curve owner is null and testing cubic tangents.

  • Bug Fix: Editor now shows the selected IDE instead of the suggested IDE in the tooltip for code hyperlinks.

  • Bug Fix: Fixed a regression where archetype spline editing inside the BP Editor window was no longer working.

  • Bug Fix: MaterialBaking—Removed cached Materials instances from the material proxy pool when changes are made to one of its parent materials.

  • Bug Fix: Fixed a crash that occurred when user hot reloaded "compiled in" or "in memory" packages.This happened if the user enabled or disabled disaster recovery during a Multi-User session.

  • Bug Fix: HLOD—You can now merge HISM to the resulting proxy mesh.

  • Bug Fix: Fixed the Multi-User icon that is displayed in the context menu when you right-click an asset in the Content Browser during a Multi-User session.The Multi-User icon is displayed now instead of the Source Control icon (which was used as a placeholder).

  • Bug Fix: Fixed an issue with Disaster Recovery where it was not rotating/trimming the old recovery sessions, because it tried to delete from the wrong directory.

  • Bug Fix: Fixed the reallocation of auto-reimport monitors, which were causing corrupt delegate bindings.

  • Bug Fix: HLOD—Previously, rebuilding HLOD proxies sometimes resulted in bad textures; this fixed stale Materials in MaterialProxyPool.

  • Bug Fix: Consolidated add external property parameters, and added the ability to forcibly show external properties.

  • Bug Fix: Reference Viewer used to show a +1 offset in the "Search Breadth Limit" option.For example, if the user selected a Breadth of n, n+1 elements were shown rather than only n.This is now fixed.

  • Bug Fix: Fixed an incorrect component reference check.

  • Bug Fix: Fixed an issue where Replace Actors was not properly finding Actor references in sublevels.Instead of performing the reference fixup on the editor world, the editor now steps through each Actor being replaced, and gathers up its level so that the user knows where to search.

  • Bug Fix: Fixed an issue with the EditorSettings import button not working in some cases.

  • Bug Fix: Monitors to the left of monitor 0 (with negative pixel indexes) were not showing the tooltips in the right place.This problem has been solved.In addition, and to avoid future related bugs, "FSlateRect GetToolTipForceFieldRect(...)" was deprecated and replaced by "bool GetToolTipForceFieldRect(..., FSlateRect&)", which additionally indicates whether the function found a solution.This updated function minimizes the risk of re-adding this bug in the future.

  • Bug Fix: Fixed an issue where PIE/SIE dummy package events were not marked as "ignored on restore" by Disaster Recovery when PIE/SIE was launched from a Multi-User session.

  • Bug Fix: Fixed an off-by-one error when rotating the disaster recovery sessions that would delete the most recent session.

  • Bug Fix: Fixed a problem with disaster recovery finite state machine reporting as "not completed" when it actually was completed.

  • Bug Fix: Previously, the user was not notified when a recovered level was not saved to disk because the file was read only.Now, the editor is prevented from resetting the package dirty flag when the package did not save successfully, so the user does not think the asset was saved while it was not.

  • Bug Fix: Fixed an issue with DPI scaling for the ReporterGraph.

  • Bug Fix: Changed the warning badge in the Details panel for experimental/beta classes, so that the warning properly reports the last ancestor class that declared experimental/beta, instead of the last ancestor class that introduced a property.

  • Bug Fix: Fixed a memory stomp in Editor Settings that caused the editor to crash when undocking an asset editor window or Blueprint.

  • Bug Fix: Fixed a random crash that occurred while connecting to a Multi-User session, when the server could not respond in the same frame that the connection request occurred.

  • Bug Fix: Fixed a serialization/versioning issue with MeshDescription.Also eliminated unnecessary memory bloat by not retaining MeshDescriptionBulkData, which is generated to be written to the DDC when a legacy static mesh is first loaded.

  • Bug Fix: Fixed an issue where child tabs would grow when destroyed or recreated in the OnTabRelocated function of FGlobalTabmanager due to the DPI scale being applied redundantly.

  • Bug Fix: The Viewport Add Camera list no longer can contain Abstract classes.

  • Bug Fix: Fixed an issue where you could not rename a folder with case-sensitive strings.

  • Bug Fix: Fixed DPI scaling issues for the Console.

  • Bug Fix: Previously, when an Input Post was added to an animation layer, it would expand all input options in that layer.To fix this, now FAddPropertyParams is exposed to the AddExternalObjects function of IDetailCategoryBuilder.This is done to allow unique IDs to be specified, so the expansion state is persisted when displaying multiple external objects of the same type.It forces AllowChildren(True) to mimic previous behavior.

  • Bug Fix: Previously, when creating two Actors in a tool mode with the same name but different classes, the editor would crash.This is because the editor was testing on the World and not on the Level.Now, the editor tests for a unique name on the correct outer before spawning the second Actor.

  • Bug Fix: Added a warning to ComponentIsDamageableFrom that shows up if ECC_MAX is passed in.

  • Bug Fix: Fixed an issue where drag and drop was spawning Actors in the wrong location of the level viewport.

  • Bug Fix: Fixed an issue where newly added or saved assets in Multi-User were locking.

  • Bug Fix: Fixed a missing source control error status icon on the Level Editor toolbar.

  • Bug Fix: Fixed an issue where the editor would hang on shutdown due to a long file system scan by DDC.

  • Bug Fix:Fixed a memory leak in SOutputLog.

  • Bug Fix: File paths are now converted to use backslashes when opening source files in Visual Studio.This fixes issues with plugins in Visual Studio that were prompting users to re-open the file.

  • 新規: Windows10 での実行時に HDR モニタへのレンダリングを行うためのサポートがエディタに追加されました。

  • 新規: 関数ノードに対する [Convert function to event (関数をイベントに変換)] オプションと、イベントに対する [Convert event to function (イベントを関数に変換)] オプションが追加されました。

  • 新規: ノードを選択して Shift と Delete キーを同時押しすることで、削除されたノードの出力に接続されていた入力ポイントを再設定できるようになりました。

  • 新規: ブループリント エディタの [My Blueprint (マイ ブループリント)] パレットで、ドラッグ & ドロップによるローカル変数の並べ替えをサポートするようになりました。

  • 新規: 詳細アイテム ノードのフィルタリングで、有効なフィルタ文字列を含むカスタム ビルダ ノードをサポートするようになりました。カテゴリ フィルタリングでは、非テキスト フィルタはオーバーライドされなくなりました。

  • 新規: ブループリントの列挙型をチェックして 0 に等しいエントリが含まれていることを確認するための警告が UHT に追加されました。これにより、これらの列挙型に関連するブループリント コンパイラ警告が解決し、リフレクション システムとの「memset to 0」コントラクトに準拠するようになります。

  • 新規: ブループリントのコンテキスト メニューにおける検索ヒューリスティックが向上しました。コンテキスト メニュー内で一致する項目を検索する際のビヘイビアを調整するコンテキスト メニュー CVars が追加されました。ドラッグされたピンのタイプに対する比較を追加したため、当該のタイプに関連した提案項目が表示されます。より短いユーザー入力に応じて提案内容が表示されるようになり、一致率の計算方法が更新されました。

  • 新規: インターフェース実装関数パラメータをノード検索コンテキスト メニューから取得できるようになりました。

  • 新規: オーバーライド関数メニューが更新されて、基本クラスが画面右側に表示されるようになりました。オーバーライド メニューにインターフェース関数は含まれていません。

  • 新規: UBlueprint OnChangedEvent および OnCompiledEvent がエディタのみのイベントとなりました。

  • 新規: ブループリントに対する UGameMapSettings の SkipAssigningGamepadToPlayer1 関数を公開しました。

  • 新規: 関数の名前をそのエントリ ノードから変更できるようになりました。

  • 新規: インターフェース ノードの呼び出しでダブルクリックすることで、その実装に移動できるようになりました。

  • 新規: MakeHitResult と BreakDateTime ノードが通常の Make および Break ノードのように動作するようになりました。一部のピンは非表示になっており、[More Info (詳細情報)] ドロップダウンをクリックすることで表示できます。こうすることで、使用されていない入力がある場合に、グラフの垂直スペースに表示されるピンの数が減ります。

  • 新規: SkeletalMeshComponent と StaticMeshComponent がブループリントで利用可能になりました。

  • 新規: 関数のオーバーライドに「最善の推測」を行うモディファイアが追加されました。元の関数がブループリント関数として作成されている場合は、イベントの実装よりも優先されます。

  • 新規: ブループリントで IsDataValid 関数を呼び出すと、単純なコンストラクション スクリプトと SCS ノードの有効性も確認するようになりました。これにより、ブループリントに追加されたコンポーネントもすべてチェックされるようになります。また、2 つの IsDataValid チェックの中間結果を結合するヘルパー関数も追加されました。

  • 新規: カスタム イベントの [Details (詳細)] パネルに追加のキーワードを入力し、BP コンテキスト メニューでそれらを検索できるようになりました。

  • 新規: SWizard で、ウィザードのすべてのページで (ShowPageTitle で有効化された) ページ タイトルの表示がサポートされるようになりました。

  • 新規: プラグイン ブラウザでプラグインを検索する際、説明テキストもスキャンされるようになりました。

  • 新規: UFUNCTION のマークされた CallInEditor が DisplayPriority メタ タグをサポートするようになりました。これは、[Details (詳細)] ビューで親の UObject を使用するときに生成されるクリック可能なボタンの順番と整理の制御に使用します。

  • 新規: 独自のビルド環境でプロジェクトを使用している場合、正しい実行可能ファイルが自動的に再起動されるようになりました。「.target」ファイルは起動時に読み込まれ、起動する実行可能ファイルの正しいパスを決定するために使用されます。

  • 新規: コンフィギュレーション メニューにクライアント / サーバーを表示するのではなく、プロジェクトの [Packaging (パッケージ化)] メニューからパッケージ化するターゲットを選択できるようになりました。これにより、複数のゲーム / クライアント / サーバー ターゲットをサポートできるようになりました。

  • 新規: CookOnTheFly サーバーのスペルミスを修正しました。

  • 新規: スタティック メッシュを USD としてエクスポートするオプションが追加されました。このオプションは、頂点、法線、UV をサポートします。

  • 新規: プラグイン ブラウザで有効な状態のプラグインを表示するフィルタが追加されました。

  • 新規: Reference Viewer (参照ビューア) の検索フィールドにカーソルを合わせて Enter キーを押すと、検索を再実行できるようになりました。

  • 新規: Sun and Sky ブループリントをライティング モード ペインに追加しました。

  • 新規: アセットの部分的な保存を実行するオプションが追加されました。アセットのサブセットをチェックアウトできない場合 (アセットが排他的にロックされている場合や、最新リビジョンではない場合など) にアセットを部分的に保存できます。

  • 新規: アーカイブ済みのマルチユーザー セッションを復元するための UI フローを変更しました。セッション履歴が表示され、アクティブ セッションのウィンドウにアクティビティのライブ ストリームが表示されます。Recovery ウィンドウの上部に前後関係がわかる説明文が追加され、コンテキストが理解しやすくなりました。[Recover (回復)] ボタンの名前が [Recover All (すべて回復)] に変更されました。

  • 新規:Disaster Recovery ウィジェット上部に、このウィジェットの目的と役割を説明するテキストが追加されました。

  • 新規: グレー スケール画像から作成されたテクスチャをエクスポートできるようになりました。

  • 新規: 新しい Interior ArchVis レベル テンプレートが追加されました。

  • 新規: 「dirty」としてマークされたコンパイル済みパッケージは、トランザクション バッファに保存されないようになりました。

  • 新規: セッション中に素早くアクティビティを検索できるよう、Multi-User History ウィジェットに検索バーが追加されました。

  • 新規: Multi-User/Disaster Recovery の Session Recovery ウィジェットに検索バーが追加されました。

  • 新規:Multi-User History ウィジェットおよび Recovery ウィジェットによって表示される (フィルタリングされていない) アクティビティの表示数と総数が追加されました。

  • 新規: [Zip Up Project (プロジェクトを ZIP 圧縮)] パッケージ化オプションでエディタからプロジェクトを圧縮するときに、プロジェクトの「Plugins」フォルダが含まれるようになりました。

  • 新規: 長時間実行される UAT タスク (クックやパッケージ化など) が完了した際に、エディタのタスク バーでエントリが点滅または強調表示されるようになりました。これは、[Editor Preferences (エディタの環境設定)] の [Get Attention On UAT Completion (UAT 完了時に警告する)] オプションで無効にできます。

  • 新規: [Audit Asset (アセットの監査)] ダイアログは、エディタ プラットフォームのチャンクの表示を正しく更新し、最初に開いたときから正しい情報を表示するようになりました。

  • 新規: 編集条件に基づいて可視性を決定する EditConditionHides メタ プロパティを追加しました。

  • 新規: InlineCategoryProperty メタ データのサポートが追加されました。これにより、[bool] または [enum] プロパティが適用されて、カテゴリの横にインラインで表示されるようになります。これは、プロパティのカテゴリ全体の可視性の切り替えに使用できます。

  • 新規: [Details (詳細)] ビューに配列をドラッグして入力できるようになりました。

  • 新規: アセット プロパティ エディタが「AllowedClasses」メタで設定され、「ExactClass」メタをサポートするよう設定されている場合に、アセット プロパティ エディタで複数のアクタ タイプを正しく処理できるようになりました。

  • 新規: [Output Log (アウトプット ログ)] ウィンドウでワード ラップ (改行) できるようになりました。

  • 新規: ArchVis レベル テンプレートに NPR レベルを統合しました。

  • 新規: アセット ビューで再帰的フィルタリングを無効にできるようになったため、アセット タイプ フィルタが有効な場合に、当該タイプのすべてのアセットが一度に表示されないようになりました。[View Options (表示オプション)] > [Filter Recursively (再帰的にフィルタリング)] でこの動作を切り替えることができます。

  • 新規: マルチユーザー — コード内でプレゼンス ビヘイビアをカスタマイズしやすいように、API に追加のプレゼンス機能が公開されました。

  • 新規: マルチユーザー — マルチユーザー サーバーがエディタから起動された場合、マルチユーザー サーバーはエディタがユニキャスト、マルチキャスト、スタティック エンドポイント向けに使用するのと同じ UDP メッセージング設定を使用します。

  • 新規: MessageBus — UDPMessaging モジュールが実装するネットワーク メッセージング モジュラー機能が追加されました。

  • 新規: MessageBus — エラー発生時に UDPMessaging サービスを再初期化したり、失敗した時のためにバックオフを増加させたりする自動修復オプションが追加されました。

  • 新規: [Enable Brush Flow (ブラシ フローの有効化)]、[Ignore Back-Facing (背面を無視)]、[Color View Mode (カラー ビュー モード)] の各メッシュ ペイント設定が、エディタのセッション間で維持されるようになりました。

  • 新規: マルチユーザー ブラウザでセッションを表示するか、新しいセッションを作成した際に、サーバーがセッション要件を検証しない場合は (「-CONCERTIGNORE」付きでサーバーを起動した場合)、それを示すアイコン / ツールヒントがサーバーの横に表示されます。

  • 新規: 自動保存のインタラクションにより、コンフィグ変数が遅延します。

  • 新規: 最近開いたプロジェクトの NumProjects のみを表示する SRecentProjectBrowser ウィジェットが追加されました。

  • 新規: 名前が数値のフォルダ (「1」や「1234」など) を階層内の別のレベルに移動しても、エディタが無限ループに陥らないようになりました。

  • 新規: 復元不可のアクティビティ (マルチユーザー セッション中に生成されたものなど) をグレー アウト表示するよう Disaster Recovery アクティビティ ウィジェットを更新しました。

  • 新規: マルチユーザー セッションを回復する際に、アーカイブ済みのセッション名がウィンドウのタイトルに表示されるようになりました。

  • 新規: コンポーネント ビジュアライザで ChildActorComponent アクタのコンポーネントを扱えるようになりました。

  • 新規: レベルのクリーンアップ出力がより詳細になったことで、PIE 時にユーザー コードによりリークされたすべての参照チェーンが表示されるようになりました。

  • 新規: Plastic SCM Source Control プロバイダ プラグインが追加されました。

  • 新規: [Recovery (回復)] パネルに拡張可能な [Details (詳細)] エリアが追加されました。ここには、Disaster Recovery セッションまたはアーカイブ済みの Multi-User セッションを復元するときにパッケージ / トランザクションの詳細が表示されます。

  • 新規: マルチユーザー セッション中にユーザーがアセットをロックした際に、コンテンツ ブラウザ内のアセット上部に表示される [lock (ロック)] アイコンの外観を変更しました。

  • 新規: 高解像度のスクリーンショットに日付 / 時間に基づいた命名規則を適用できるようになりました。

  • 新規: 複数のユーザーとモディファイアを正しく処理する GetNavigationActionFromKey 関数が追加されました。

  • 新規: 同じプロジェクトで Disaster Recovery クライアントの同時実行がサポートされるようになりました。これにより、エディタを 2 回開き、セッション トランザクションを記録できるようになります。

  • 新規: CSV リーダーが更新されて、他のアプリケーションで開いているスプレッドシートなど、書き込みがロックされたファイルを再インポートできるようになりました。

  • 新規: Substance のチュートリアルが表示されない問題を修正しました。

  • 新規: FText の代わりに FText 属性を使用する MessageToken が追加されました。これにより、MessageToken が動的になります。STextBlock には、TextToken がバインドされた属性を操作できないようにするロジックがあります。

  • 新規: AssetEditorSubsystem を推奨し、FAssetEditorManager を廃止するためのリファクタリングが行われました。

  • 新規: コンソールの自動補完ウィンドウにヘルプの最初の一行を表示するオプションが追加されました。この新規オプションはデフォルトではオフになっています。

  • 新規: GizmoMaterial を Editor Materials から Engine Materials に移動しました。

  • 新規: Custom Scene Outliner が追加されました。このウィジェットは、独自のツールのシーン アウトライナのプレゼンテーションを再利用する必要がある場合に便利です。フィルタと列を通常のシーン アウトライナに追加 / 削除するための機能が追加されました。

  • 新規: デフォルトで編集するための ARFilter UPropertys を公開しました。

  • 新規: マウス ユーザー インデックスの再マッピングをサポートするために、ISlateInputManager が拡張されました。

  • 新規: エラー発生時に自動的に再接続を試行するマルチユーザー設定が新たに追加されました (デフォルトでは無効に設定)。これにより、ワークスペース要件が満たされていない場合など、エラー発生時のログに対する継続的なスパミングを回避できます。この設定は、「ConcertRetryAutoConnectOnError=true」を使用することでコマンド ラインから上書きすることもできます。

  • 新規: [Select Function... (関数の選択)] ドロップダウンに、指定した署名に一致する関数 / イベントを作成するオプションが追加されました。

  • 新規: マルチユーザー サーバーをエディタから起動した場合に、エディタの UDP メッセージング設定をマルチユーザー サーバーに渡します。

  • 新規: マルチユーザー セッションに参加する際のソース管理ワークスペースの検証時に、ローカルな変更が含まれるファイルに関する追加の詳細情報を出力ログに追加しました。

  • 新規: ユーザーの VR インタラクターがサポートしている場合、デフォルトのマルチユーザー VR アバターが 2 つのインタラクション レーザーを表示できるようになりました。

  • 新規: マルチユーザー セッションで無関係なシーケンサのタイムラインを同期するマルチユーザー シーケンサ オプションが追加されました。

  • 新規: 複数のメッセージ バス インスタンスのデバッグがサポートされるようになりました。

  • 新規: スプライン コンポーネント — すべてのスプライン ポイントを現在選択されているスプライン ポイントの「x」、「y」、「z」値にスナップする [Snap All Selected X/Y/Z] メニュー オプションが追加されました。

  • 新規: スプライン コンポーネント — タンジェントのビジュアリゼーションが破線ではなく実線となりました。

  • 新規: スプライン コンポーネント — Alt キーを押しながらドラッグすると新しいスプライン ポイントを作成できますが、これが両方向で機能するようになりました。

  • 新規: スプライン コンポーネント — スプライン ポイントのボックス選択 / 視錐台選択が可能になりました。

  • 新規: スプライン コンポーネント — [Select All Spline Points (すべてのスプライン ポイントを選択)] メニュー オプションが追加されました。

  • 新規: スプライン コンポーネント — 選択したスプライン ポイントをアクタ直下にドロップするための [Snap/Align to Floor (フロアにスナップ/合わせる)] オプション (デフォルトのホットキーは「End」) が追加されました。オプションとして、ターゲットの場所の法線にスプライン ポイントのベクターを合わせることもできます。

  • 新規: スプライン コンポーネント — 選択したスプライン ポイントを別のスプライン コンポーネント上の最も近いスプライン ポイントに移動するための [Snap/Align/Align Perpendicular to Nearest Spline Point (最も近いスプライン ポイントにスナップ/合わせる/垂直に合わせる)] メニュー オプションが追加されました。スプライン ポイントの接線はターゲット ポイントの接線に平行または垂直になるように調整されます。

  • Improvement: You can now delete the user construction script if a Blueprint is no longer derived from AActor.

  • Improvement: Updated the Multi-User Active Session widget and Multi-User Package History widget to display the activity history in a table with several columns rather than a single line of rich text.

  • Improvement: Improved performance for Actors multi-selection.

  • Improvement: Deprecated the global variable GEditor>Layers and the classes ILayers and FLayers.The deprecated variables all have been replaced by GEditor> GetEditorSubsystem () and the class ULayersSubsystem.This also required deprecating all functions in the ULayersSubsystem that used/returned a TWeakObjectPtr; these have been replaced by raw pointer analogs (for BluePrint compatibility).This directly exposes most ULayersSubsystem functions to BluePrint.

  • Improvement: Improved performance of UV island packing:

    • Tested rows from longest to shortest to get rid of one inner loop in the hot path.

    • Added a lookup table to skip another free segment inner loop in the hot path.

    • Added island hashing to skip directly to the last known best position.

    • Split loops, simplified code, and added comments for clarity.

    • Reduced data copying and clearing to the working area only.

    • Multithreaded initial scale search when the complexity is high enough.

    • Added a segment grid along the Y axis for more efficient search of taller islands.

    • Added the ability to log packing stats per island in Insights to understand algorithmic behavior.

  • Deprecated: The IDesktopPlatformBase::GetSolutionPath() method has been deprecated in favor of functionality in the SourceCodeAccess module.

  • Removed: Removed the validation that forced the replaced object to be the same class as the previous object in the ReplaceObjects function of SDetailView.This restriction was not needed.

カスケード

  • Crash Fix: Prevented crashes in the Editor by fixing divide by zero in beam update.

コンテンツ ブラウザ

  • Crash Fix: Fixed an issue where saving assets while renaming was causing a crash.

  • Crash Fix: Fixed a crash occurring when creating a new asset with CollectGarbageEveryFrame enabled.

  • Crash Fix: A crash was occurring when a user saved over an existing level and pressed ESC. This is now fixed.

  • Crash Fix: Fixed an editor crash that occurred when user accepted local revision during a merge.

  • Bug Fix: The "Discovering Assets" overlay no longer eats mouse events.

  • Bug Fix: Multi-editing font face assets are now avoided by default, because it does not work with the font face editor and can be done using the property matrix instead if needed.

  • Bug Fix: The breadcrumb arrow is now hidden when no child path is available.

  • Bug Fix: Fixed an issue where the Show in Content Browser was not working for engine plugin content.

  • 新規: フォルダの検証を行う前に、確認ダイアログが表示されるようになりました。

  • 新規: コンテンツ ブラウザおよびショートカットですべてのフィルタが有効になりました。

  • 新規: 親フォルダを折りたたむ際に、子フォルダの親を選択できるようになりました。

  • 新規: レベル シーケンス アセットに対するコンテキスト メニュー オプションが追加されました。このオプションでは、当該のシーケンスを含むレベルを開くことができます。

  • 新規: TIFF テクスチャをインポートできるようになりました。

  • 新規: コンテンツ ブラウザの In Use by Any Level フィルタで、複数の階層をチェックできるようになりました。

  • 新規: 選択したアセットのファイル パスをコピーするための右クリック コンテキスト オプションが新たに追加されました。

  • 新規: 移行ツールが拡張されて、個別のファイルまたはフォルダ全体を選択して除外できるようになりました。

  • 新規: 起動時 (アセットの検知中) のコンテンツ ブラウザのフィルタ / 検索を最適化しました。

  • 新規: データ アセット エディタの画面右上に、それらのネイティブ クラスの表示とハイパーリンクが追加されました。複数の異なるアセットを同時に編集している場合は、最も近い祖先が表示されます。

  • 新規: コレクション UX の改善点は以下の通りです。

    • コレクション UI を次のように一新しました。

      • コレクション アイテム デザインが更新されました。

      • コレクション ビューにアセット カウントが追加されました。

      • アセットのツールヒントにコレクションがより顕著に追加されました。

    • ソース パネル UI が次のように一新されました。

      • ソース パネルのすべての要素 (パス、お気に入り、コレクション) に対する統合検索機能が追加されました。

      • パスおよびコレクション ビューを切り替えるスイッチャーが追加されました。 これにより、パスまたはコレクションを参照する際に自動的にビューが切り替わります

      • コレクションがデフォルトで表示されるようになりました。表示オプションで設定し直す必要はありません。

    • 以下はコンテンツ ブラウザの自動補完に関する改善点です。

      • コレクションとメタデータ タグの名前、さらに古いクラス名も一覧表示されます。

      • 検索語句がトークン化され、部分的なテキストでの自動補完が可能になりました。

    • スクリプティング API サポートが次のように追加されました。

      • Python またはエディタ ユーティリティ (エディタのみ、「AssetTagsSubsystem API」を参照) を通じて、コレクションを作成、削除、操作できるようになりました

      • エディタ内とランタイム (クックされている場合) の両方でコレクションを照会できるようになりました。

    • ランタイムに使用するオプションの「クック」コレクションのサポートが追加されました。

      • これはスタティック コレクションに対してのみ機能し、その情報をアセット レジストリ メタデータに追加します。

      • 「BaseEngine.ini」の AssetRegistry 設定 (bTagAllCollections、CollectionsToIncludeAsTags、CollectionsToExcludeAsTags) を参照してください。

フォリッジ

  • Bug Fix: Removed an invalid check in the ApplyLevelTransform function of FLevelUtils, and adapted code to support reentrancy.

  • Bug Fix: Cooking fix in StaticMeshComponent::OwningComponent can be NULL for a component created via SpawnActor off of a Blueprint default (LODData will be created without a call to SetLODDataCount).

  • Bug Fix: Fixed "move selected instanced foliage Actors to level".Now this moves only the selection, not all instanced foliage Actors.

  • Bug Fix: Fixed a bug where Snap Foliage to Landscape was not working when using the Landscape Layer system.

  • Bug Fix: Fixed a problem where Foliage instances were not properly handling Level transforms.

  • Bug Fix: Fixed Foliage instances to properly handle Level Editor transform.When ActorFoliage respawned at load (caused by a FoliageType change), Actors were spawned in world coordinates and then a Level Editor transform was applied on all level Actors.This resulted in bad positioning.

  • Bug Fix: ActorFoliage respawning at load was also done too early, which would lead to the respawned Actor being invisible.This no longer occurs.

  • Bug Fix: StaticMeshFoliage in a level with a Level Editor transform was moving some editor instances when saving the level, only for the instances made from Actors that were moved by the level transform.Visually, it did not cause problems because IFA was also moved, but it would generate a mismatch between editor instances and HISM instances.At this point, erasing foliage and other manipulations using editor data would not work for all cases (loading the level with or without the transform).This is now fixed.

  • Bug Fix: Editor data instances are now always saved locally to the Level.

  • Bug Fix: Foliage Actors in PIE are not respawned when detecting a mismatch of FoliageType's Actor class.

  • Bug Fix: Fixed an issue where the Foliage Engine Show Flag was ignored by Actors that were painted by the Foliage Tool.

  • 新規: アクタをフォリッジに含めるオプションと、アクタをフォリッジから除外するオプションが追加されました。

  • 新規: 特定の領域におけるフォリッジ インスタンスを除外するために、FoliageType に除外ランドスケープ レイヤー (Exclusion Landscape Layer) と最小しきい値が追加されました。

  • 新規

    • シングル インスタンス モードで描画しているとき、他のインスタンスとのコリジョンを検出するために使用する半径をオーバーライドするオプションが追加されました。

    • シングル インスタンス モードでの描画で使用する球体ブラシには、描画するよう選択したフォリッジ タイプの最大半径が表示されます。有効な場合は半径のオーバーライドについても考慮されます

    • シングル インスタンス モードでの描画に使用する球体ブラシの色は、法線フォリッジの描画と区別するために緑色になっています。

ランドスケープ

  • Crash Fix: Fixed a crash occurring when the virtual texture file cache has more line reservation requests than it can handle.

  • Crash Fix: Previously, a crash occurred when selecting Landscape mode and then selecting Foliage mode.Landscape mode automatically creates an Actor and selects it when you select that mode.Switching to Foliage mode destroys the Actor previously created, but an invalid, weak reference is still in the Selected Actors list.Just checking Num() is not enough, as GetSelectedObject has additional clauses that return nullptr.The fix uses GetBottom, which is a bit more robust, and also uses Cast instead of CastChecked so nullptr is accepted and skipped.

  • Bug Fix: Fixed a landscape splines issue where socket connections were not reset when a spline point mesh was removed.

  • Bug Fix: Fixed an issue where landscape simple collision was returning incorrect physical material.

  • Bug Fix: Fixed an issue where usage of non UAV-compatible formats caused Runtime Virtual Textures to crash on Windows7 PCs.

  • Bug Fix: Landscape component now recreates its material instances when a material is destroyed by the Delete Asset dialog.

  • Bug Fix: Editor now waits for the streaming virtual texture transcode to complete before deleting file handles.

  • Bug Fix: Fixed an issue where the landscape did not render after opening a level in the editor with a mobile Preview Rendering Level enabled.

  • Bug Fix: Previously, when viewing Wireframe from the Top view, the LOD for the landscape would not change when zooming in and out with the mouse wheel.Now the landscape LOD calculation is correct for these views.

  • 新規: LOD の計算に正投影カメラのケースを処理できるようになりました。これにより、LOD が正しく計算されず、ワイヤーフレーム トップ ビューで表示される問題が回避されます。

  • 新規: ランドスケープ スプライン コントロール ポイントに LeftSideFalloffFactor および RightSideFalloffFactor が追加され、様々なサイド フォールオフが可能になりました。

  • 新規: 高さマップの Landscape Layer Contribution が変更され、定数はでなくグラデーション値が表示されるようになりました。

  • 新規: ランドスケープ コンポーネントの CPU レンダリング負荷に対する最適化を複数実施しました。例えば、はるかに SIMD に適したキャッシュ コヒーレントな方法を使用してランドスケープの連続 LOD 値を計算し、キャッシュされたメッシュ描画コマンドがサポートされるようになりました。これらの変更により、LOD 選択アルゴリズムも変更されました。そのため、以前のバージョンとまったく同じ LOD 分布を得ることはできません。従って、ビジュアルとパフォーマンスの両方を考慮して、ランドスケープ LOD 分布設定を再調整する必要があります。新しいシステムで推奨されるパラメータのセットは次の通りです。

    • LOD 0 画面サイズ:0.5

    • LOD 0:1.25

    • 他の LOD:3.0

  • 新規: ランドスケープ アルファ ブラシの回転の増分または減分に対してホットキーをバインドするオプションが追加されました。

  • 新規: Runtime Virtual Texture ランドスケープ スプラインのメインパスでスプラインの最大描画距離を制御できるようになりました。これにより、道路の陰影表示には Runtime Virtual Texture のあるランドスケープだけで十分であることがわかるので、Runtime Virtual Texture スプラインをより早くカリングできます。

  • 新規: Runtime Virtual Texture にランドスケープをレンダリングするためのメッシュ描画コマンドが有効になりました。これにより、Runtime Virtual Texture ページ レンダリングのパフォーマンスが向上します。

  • 新規: ランドスケープ スプライン コントロール ポイントの Runtime Virtual Textures へのレンダリングのサポートが追加されました。

  • 新規: ランドスケープは、最大 18 つの草レイヤーをサポートするようになりました。

  • 新規: スプライン ポイントに [Focus Selected (選択にフォーカス)] メニュー オプションが追加されました。右クリックでスプライン セグメントにポイントを追加するときに、スプライン コンポーネントのメタデータを補間できます。

  • 新規: 新しいスプライン ポイントを追加するときに、周囲のスプライン ポイントのタンジェントが自動的に調整されるようになりました。これにより、厄介なループやねじれを防止できます。

  • 新規: 選択した 1 つ以上のスプライン ポイントを周回する機能が追加されました。

マテリアル エディタ

  • Bug Fix: Fixed a problem where the color picker would stop updating during an edit.

  • Bug Fix: Changed the texture preview from Fill to either Align Left or Right (depending on what side of the node it's added to).This preserves the aspect ratio of the texture preview.

  • Bug Fix: Now makes sure we have Material Editor commands before trying to use them to create a node.

  • Bug Fix: The Material Parameters list now updates when parameters are hooked up.

  • Bug Fix: When you copy material function calls, they will now update their input pin appearance correctly.

  • Bug Fix: Changing undo behavior now also handles material function changes and more strictly updates the parent material.

  • Bug Fix: Previously, when editing an empty material instance with no parent, an unhandled exception occurred because the code tried to access a parent that did not exist.Now the editor checks to see if the parent exists first.

  • Bug Fix: Added a refresh to parameter toggling in material layers so you can update nested children.This fixed an issue where the user was unable to manually change values in material layers after the initial toggle to allow editing.

  • Bug Fix: Previously, when changing a parameter to a constant, the parameter would not be removed from the Parameter Defaults panel.Fixed this by ensuring that parameter overview panel updates properly when a parameter is converted back to a constant.

  • 新規: マテリアル インスタンス エディタの階層ツールバー ボタンがリファクタリングされて、項目別のサブメニューが必要なくなりました。

  • 新規: マテリアル エディタのユーザー パフォーマンスにオプションが追加されました。ドメインでマテリアル/インスタンスを表示するときに、プレビュー ビューポートのデフォルト サイズを設定できるようになりました。

  • 新規: RVT ドメインを持つマテリアルで RVT 出力ノードが使用されている場合、マテリアル コンパイル エラーがトリガーされるようになりました。マテリアル出力をオーバーライドするだけではユーザーが混乱してしまう可能性があるため、このトリガーでよりわかりやすくなります。

  • 新規: 「teardrop」マテリアル関数は、正面から見ると球体のように見え、速度に垂直なベクターからだと安定したティアドロップ形状に広がるように見える、速度に合わせたクワッドを生成します。

  • 新規: この新しいマテリアル関数は、クワッド / スプライトを操作して、安定し速度に合わせた楕円体を生成します。

  • 新規: マテリアル エディタで、マテリアル インスタンスのカーブ アトラス値の変更がスカラー パラメータ値配列に正しく伝わるようになりました。

  • 新規: 詳細なプロパティの [Channel Names] を使用して、テクスチャおよびベクター パラメータの R、G、B、A 出力にラベルを付けることができるようになりました。これらの名前は、このマテリアルのインスタンスのマテリアル インスタンス エディタや、この式のピンの横に表示されます。

  • 新規: [Override Original Material] ダイアログの文章が、より明確で理解しやすいものに変更されました。

  • 新規: アトラス生成が PostLoad に移動し、呼び出しはクック コマンドレットからになりました。

  • 新規: 保存時に発生するマテリアルのクラッシュに関する詳細情報を取得するログが追加されました。

  • Improvement: When right-clicking a set of Material Function(s) in the Content Browser, a new "Find Materials Using This" option displays that opens the Reference Viewer with the Materials using the selected material function(s).

Media Framework

  • 新規: Pixel Streaming Matchmaker では、ブラウザが接続できない場合、ページを更新して定期的に再試行するようになりました。次の更新までのカウントダウンも表示されます。

  • 新規: Pixel Streaming Matchmaker で、残容量がないときに表示されるメッセージに、容量がどのくらいなのかをユーザーに通知するようになりました。

  • 新規: Pixel Streaming でストリーミングを停止し、静止画 JPEG をブラウザに送信して表示できるようになりました。この機能は、カメラが動いておらず、シーン内で何もアニメートされていない状況で使用します。したがって、JPEG が高品質であること以外は、おそらく違いを認識できないでしょう。これは、FreezeFrame および UnfreezeFrame の 2 つの新しいブループリント関数によって制御されます。FreezeFrame には、静止画に使用される明示的な RGBA テクスチャが提供される場合があります。このテクスチャが提供されない場合、バック バッファがキャプチャされ静止画として使用され、一時停止したビデオ ストリームのインポスターとして機能します。PixelStreaming.FreezeFrameQuality コンソール変数を使用すると、JPEG の品質を制御できます。「1-100」の値で設定します。デフォルト値は「100」です。

  • 新規: FileMediaCapture は、ファイル名にスペースではなく「0」を使用するようになりました。

  • 新規: MediaFramework — EXR ライブラリが 2.3.0 に更新されました。

  • Bug Fix: For Pixel Streaming, when we change level, ensure the PixelStreamingInputComponent is recreated.Otherwise a crash could occur when Pixel Streaming after a level change.

スクリプト処理

  • Bug Fix: The node context menu no longer displays the option to expand a node that has just been expanded and has no contained nodes.

  • Bug Fix: Add CLASS_HasInstancedReference flag if any property is instanced.This affects Blueprints that use a struct with properties marked as instanced and which were based on a type with no native instanced references.

  • Bug Fix: CompileAllBlueprints commandlet now re-instances, ensuring that it does not later crash during GC.

  • Bug Fix: Improved invalid parameter error when passing the incorrect struct type to Python.

  • Bug Fix: Updated Editor Utility Widgets to reinstance on compiling, and then move the old instance to the transient package, so that garbage collection can pick it up.This fixes an issue where OnConstruct would be called on the same instance each time the widget is recompiled.

  • 新規: コンテンツ ブラウザ拡張エディタ ユーティリティのサポートが追加され、通常のアセットタイプではなく、ブループリント クラスに対してターゲット / フィルタが適用されるようになりました。IsActionForBlueprints に対して「true」を返すことでこれを行います。つまり、UEditorUtilityLibrary の GetSelectedBlueprintClasses 関数を使用して、選択した BP クラスを取得します。

  • 新規: 最近の Python ファイル メニューをクリアする新しい UI メニュー アイテムが追加されました。

  • 新規: エディタは、ブループリントから Editor Utility オブジェクトの「Run (実行)」を呼び出すことができるようになりました。

  • 新規: Python でも呼び出し可能な QuitEditor 関数が追加されました。

シーケンサ

  • Crash Fix: Now removes parent binding if a component is not updated.This fixes a crash that occurred when assigning a binding to a different Actor class type, which could make some component bindings invalid.

  • Crash Fix: Fixed a crash occurring when ticking ALevelSequenceActors that might remove themselves from the world's array during a tick.

  • Crash Fix: Fixed a crash occurring when adding a spawnable from a Blueprint-generated class.

  • Crash Fix: Fixed a crash occurring when drawing trajectories of animated objects in the level viewport.

  • Crash Fix: Fixed a crash occurring when you convert an unbound possessable to spawnable.

  • Crash Fix: Fixed a case where some Sequencer assets were not transactional, causing crashes when the user performed an undo.

  • Bug Fix: Actor Sequence—Find curve tab spawner before registering so that the curve editor appears for Actor sequences.

  • Bug Fix: CameraRig—Removed invalid preview rail mesh segments.

  • Bug Fix: CameraRig—Preview meshes should be transient and not saved.This fixes a bug where they are being serialized out as null.

  • Bug Fix: Curve Editor—Fixed dragging exit tangent.

  • Bug Fix: Curve Editor—Prevented throttling on drag so that editing keys in the Curve Editor updates the viewports interactively.

  • Bug Fix: Curve Editor—Show a dummy editable text box before the property rows are generated.This fixes an issue so that the input boxes are now always visible.

  • Bug Fix: Take Recorder—Currently recording takes are now stopped automatically if PIE ends.Close the recorded sequence on end PIE if it wasn't closed otherwise.

  • Bug Fix: Take Recorder—Added guards to prevent starting and stopping recordings while they are in progress.

  • Bug Fix: Ensured that restore state does not happen during evaluation.

  • Bug Fix: Jump to the start of playback range when stepping to the next previous shot.

  • Bug Fix: Fixed an issue where some sections were not visible when dragging a section creates additional subtracks.

  • Bug Fix: Fixed a clamping occurring when keying transform rotation values > 180.Changed the interrogation type internally to FTransformData to get the raw Rotator, instead of one corrupted by FTransform > FRotator conversion.

  • Bug Fix: Live Link recorded curves now have correct Auto Tangents.

  • Bug Fix: Sequencer now is only setting/scrubbing time if the mouse-click was within the time scrubber region.This fixes a bug where if you double-click on a shot, hold the mouse button down on the second click and drag, it will set the time, causing the time to change unexpectedly.This no longer occurs.

  • Bug Fix: Editor now allows a folder name to be the same as a non-folder sibling.

  • Bug Fix: Override FBX import settings are now possible from Python.The override settings are now stored temporarily from python calls, then reset.This fixes a bug that prevented override FBX import settings from Python.

  • Bug Fix: The import camera cut/switcher from fbx was getting removed in a bad merge.This is now fixed.

  • Bug Fix: Fixed an issue with subsequences sometimes not working with a timescale < 1.This was caused by a rounding issue caused by transforming compile and clamp ranges by a scale of < 1.

  • Bug Fix: Moved material track object binding track menu to MaterialTrackEditor so that it will appear for the Actor Sequence Editor and other sequencer editors.

  • Bug Fix: The active anim instance on a skeletal animation component now correctly clears when stopping a sequence.This will stop any active anim-notifies when reverting to pre-animated state.

  • Bug Fix: Added more robust protections against assigning a sequence that would produce circular dependencies.For example, if the current level sequence is NewLevelSequence, this prevents the user from setting a subsection in it to NewLevelSequence as well.

  • Bug Fix: Fixed an issue where sequencer animation was not being reliably applied to materials.

  • Bug Fix: ALevelSequenceActor now implements RewindForReplay which will stop the sequence when seeking starts in a replay.This solves issues that occur when seeking before the sequence started would not restore the state, as no new network packets are sent to update the state.

  • Bug Fix: Fixed adjusting animation start time during resizing so that the start time is clamped to the beginning of a clip.

  • Bug Fix: UMovieScene::AddGivenTrack now allows multiple tracks with the same name.

  • Bug Fix: Cinematic Viewports now correctly enable Game View mode when activated.

  • Bug Fix: Fixed a significant performance impact that occurred when opening a Cascade Particle system before opening Sequencer.Sequencer was causing Cascade viewports to endlessly do an expensive re-render.

  • Bug Fix: Renamed Play Rate track to Time Dilation track.

  • Bug Fix: Invalidate bound objects after rerunning construction scripts, so that they are re-evaluated when FindBoundObject is called.This fixes an issue where the binding in the tree view is red and the menu is empty.

  • Bug Fix: Fixed an issue where default spawnable state was sometimes not always getting saved when the spawned object is destroyed.OnObjectModified saves the default state of the object if it is in the list of ModifiedObjects.However, the spawnable is removed from ModifiedObjects in OnPreObjectSaved.

  • Bug Fix: Forced an evaluation in the stopped state when scrubbing.

  • Bug Fix: Fixed an issue where pasting a spawnable does not correctly evaluate.The sequence signature was not getting invalidated after swapping the tracks from the copyable binding to the spawnable.

  • Bug Fix: Error notifications are now shown to provide feedback when an edit fails due to a sequence being read only.

  • Bug Fix: Paste on to selected object binding track is now supported.

  • Bug Fix: Improved the usability of track listing when using a text search.

  • Bug Fix: Reworked GatherTakes and GetTakeNumber so that the asset path can be shown in the tooltip.This removes ambiguity when there are multiple assets with the same take number (such as when an asset was duplicated and therefore the metadata was duplicated).Also, creating a new take now increments the metadata take number.

  • Bug Fix: Movie Rendering audio pass now ignores per-shot warmup and overall warm up times.This resolves an issue where audio would only be partially captured when using these settings; now the renders should be faster overall.

  • Bug Fix: Dragging an audio asset onto an object's audio sub-track now adds the section to a new row instead of a new audio track.

  • Bug Fix: Animation section's Properties now filter out animations that do not apply to the bound object's skeleton.

  • Bug Fix: Anim-notifies on the first frame of an animation will now trigger when played in Sequencer.Anim-notifies in the middle of the animation will no longer trigger when the Sequence loops back to the beginning.

  • Bug Fix: The Details panel now updates when selecting a Camera Component in Sequencer.

  • Bug Fix: Fixed an issue where sections would be pasted onto an existing row instead of creating a new one.

  • Bug Fix: Fixed object binding label so that it reports correctly when there are invalid bindings.

  • Bug Fix: Editor now allows spatialized audio on scene components, not just Actors.

  • Bug Fix: Fixed an issue where Cinematic Mode occasionally fails to get disabled when seamlessly traveling between maps.

  • Bug Fix: Newly pasted tracks are now expanded automatically.

  • Bug Fix: Improved synchronization of renaming spawnable Actors between Sequencer and World Outliner.

  • Bug Fix: Nodes are no longer automatically expanded when dragging.

  • Bug Fix: Improved the layout and usability of breadcrumbs and toolbar items when using a narrow Sequencer layout.

  • Bug Fix: Piloting cameras now correctly rotate from 180 to -180.

  • Bug Fix: Refocuses on the previously focused item when setting the current time with the play time widget.This enables the user to: press Spacebar for play, Ctrl + G to set a time, then Spacebar to play, without needing to click an item to focus on it after setting the time.

  • Bug Fix: Newly created sections for imported root motion are now additive with scale disabled, so that the imported motion moves the object from its current position.

  • Bug Fix: Flickering of the Sequencer track view in certain scenarios has been greatly reduced.

  • Bug Fix: Fixed several issues with pasting keys caused by which objects are selected.

  • Bug Fix: Fixed an issue with transform values being doubled when keyed.

  • Bug Fix: Fixed split regression.The newly created split section is now on the right side.

  • Bug Fix: Fixed an issue with transform baking for rig rails not outputting the correct values.The rail actor is now ticked on each baked frame, to make sure the correct values are baked.

  • Bug Fix: Fixed multiple export to FBX issues.

    • Fixed skeletal animation export off by 1 frame—changed the anim adapter to advance by integer frames, rather than converting to float time and incrementing by the sampling rate.

    • Fixed exporting an object in a shot—evaluation needs to happen in global time through RootToLocalTransform.Inverse().As a result, also added an option to export in global time or in the sequence's local time.For example, if an object is animated in a shot that starts at global frame 150, the exported keys can either start at global frame 150 or local frame 0. 3.Step and export frames at the display rate of the sequence, rather than the hardcoded DEFAULT_SAMPLERATE.

  • Bug Fix: Fixed an issue where exporting transform tracks to Camera Anims would cause the tangents to be incorrect.

  • Bug Fix: Loop points for animation sections are now drawn correctly.

  • Bug Fix: Max Tick rate in the Sequencer UI now behaves the same as in-game (t.maxfps is only overridden during playback, and if Frame Locked is enabled).

  • Bug Fix: Transform origins are now implemented as shared global data, to remove the need to Initialize transform tracks.Transform tracks are heavily used, but transform origins are not.We now compute the sequence transform origin once at the start of the frame, and use that for the rest of the evaluation.This can result in significant wins for content where lots of transform tracks are used.

  • Bug Fix: Previously, manipulating a spawn track caused the object to be destroyed and respawned when the spawn track executed Restore State.Fixed this by removing the call to DestroyObjectDirectly, allowing the spawn register to do the work.

  • Bug Fix: Take Recorder—Fixed a crash caused by undoing a transaction that included the creation of the recorded take.Transactions are now disabled on the movie scene during the creation of a take; this means that the creation of the asset, and operations on the movie scene that occur before you stop recording, are not undoable.

  • Bug Fix: Sequencer—Previously, Blueprint components were not restoring properly when autotracked with "Allow Level Sequencer Edits Only" enabled.This was fixed by swapping out object pointers in Sequencer's cached states in response to OnObjectsReplaced.

  • 新規: Cinematics Camera—Changes default film back to 16:9 Digital Film.

  • 新規: In the main Editor menu bar, Sequencer windows have been consolidated into a Cinematics submenu for easier navigation.

  • 新規: Take Recorder—Several UI Tweaks:

    • Timecode Provider is now used as the running timecode.

    • The duration in timecode shows in the popup recording toast.

    • The timecode provider frame rate is now used instead of the INI value, so that Take Recorder is always recording using the Timecode Provider frame rate.

    • You can now open the timecode settings by clicking on the frame rate button.

    • Added Timecode In and Timecode Out to the take metadata.

  • 新規: Take Recorder — PreInitialize が追加されました。これは Take Recorder が録音の初期化を行う前に呼び出されます (ボタンが押されたときなど)。

  • 新規: シーケンサ エディタでのドラッグアンドドロップ用に拡張ポイントが追加されました。

  • 新規: ルート トラックを固定できるようになりました。そのため、スクロール中でも常にルート トラックを表示させることができます。他のトラックの編集しながらショット トラックを参照する際に便利です。

  • 新規: Set および Get オブジェクト PropertyClass が公開されました。

  • 新規: カーブ エディタ — メイン シーケンサのように、S キーを使用したチャンネルの個別なキー変換がカーブ エディタでも可能になりました。これにより、シーケンサ カーブ エディタ コマンドを外部で使用できるようになります。そのため、実際のカーブ エディタを知らなくてもシーケンサ固有のカーブ エディタにコマンドを追加できます。

  • 新規: オーディオ ループ フレームに目盛りを追加しました。

  • 新規: すべてのトラック フィルタを一度に有効にするオプションが追加されました。

  • 新規: ノードが選択されていない場合、選択されたキーまたはセクションを使用して、セクションがノードに貼り付けられるようになりました。

  • 新規: アニメーションおよびジオメトリ キャッシュ セクションに初期ループ開始オフセットが追加されました。左端をドラッグしてセクションの先頭をトリミングする場合、この新しいプロパティを使用して、そのアニメーションの最初のループのみをトリミングできます。そのため、右端でセクションを延ばすとシームレスにループさせることができます。アニメーションのサブセットをループしたい場合、古い開始 / 終了オフセットも引き続き使用できます。ただし、プロパティ メニューで設定する必要があります。

  • 新規: ムービー シーン プレイヤーにバインド オーバーライドのリストが追加されました。

  • 新規: スポーン可能なオブジェクトのエクスポートが修正されました。そのため、それらはエクスポート時に一時的にスポーンされます。

  • 新規: スレートおよびテイク番号は、Take Recorder から記録されたアニメーション アセットに埋め込まれるようになりました。

  • 新規: シーケンサ スクリプト — 指定されたマスター シーケンスと FSequencerBindingProxy から FMovieSceneObjectBindingID を生成する MakeBindingID が追加されました。これは、サブシーケンス内のオブジェクトへのバインド作成に使用できます。

  • 新規: オブジェクトのバインド / トラックを削除し、アニメーション ステートを維持するオプションを追加しました。

  • 新規: UMG アニメーションの編集中に選択したノードのみを表示できるようになりました。

  • 新規: 実験的機能:新規のテンプレート シーケンス アセット タイプ。テンプレート シーケンスは、単一のオブジェクト アーキタイプまたはクラスにバインドされるシーケンスです。その際、サブシーケンスと同じタイプのオブジェクト バインディングにドロップすることで、多くのアセットで共通のシーケンスを再利用できるようになります。また、ATemplateSequenceActor を使用して独自に再生することもできます。これは実験的なプラグインなので、使用するにはプロジェクトで有効にする必要があります。

  • 新規: ミュートされている場合、[Track (トラック)] アイコンは暗くなるようになりました。すべてのセクションが非アクティブの場合、トラック表示テキストも暗く表示されます。

  • 新規: シーケンサースクリプト — ブレンド タイプと完了モードが公開されました。

  • 新規: 再生中のアスペクト比の制約を処理するためのレベル シーケンス設定が追加されました。新しい設定では、デフォルトで XFOV の制約がオーバーライドされ、以前の動作が保持されます。そのため、シーケンス中に使用するコンストレイントの種類の選択や、または全くコンストレイントを使用しないといった選択が可能です。

  • 新規: Take Recorder — アセットの初回作成時ではなく、記録開始時の再生範囲が拡大されました。記録開始時にこれを Infinite (無限) に変更すると、現在の時間を進めることができます。

  • 新規: オーディオを既存のバインドにアタッチするメニュー アイテムが追加されました。

  • 新規: ALevelSequenceActors は、ネットワーク デモ リプレイの終了をリッスンして、自分自身を一時停止するようになりました。これにより、シーケンスがリプレイの最後に達した後もオーディオやその他のステートフル トラックを再生し続けてしまう問題が解決しました。

  • 新規: シーケンサ トラックをソロまたはミュートとしてマークできるようになりました。これにより、編集中のトラックの再生を制限したり、トラックを一時的に無効にしたりできます。

  • 新規: トラック セクションのグループ化がサポートされるようになりました。グループ化されたセクションは、ドラッグ中一緒に移動し、相対的な開始オフセットが維持されます。

  • 新規: シーケンサでは、サブシーケンス トラックで評価テンプレートを生成できるようになりました。

  • 新規: スポーン可能オブジェクトをエクスポートできるように追加の変更が加えられました。サブシーケンスからエクスポートする場合、スポーン可能オブジェクトはマスター シーケンスの所有権を持つように設定する必要があります。スポーン可能なアクタはエクスポート中に再スポーンできるため、GUID から FBX ノードへのマップを保持します。

  • 新規: [Discard Changes] と [Save As (名前を付けて保存)] は、使用されていないか使用頻度が低いため、ツールバーから削除されました。

  • 新規: 新しいセクションを作成するときに、マテリアルとパーティクルの範囲を再生範囲に設定できるようになりました。

  • 新規: [Trim Left (左側をトリム)]/[Trim Right(右側をトリム)] および [Split (分割)] が、トリムおよび分割範囲外のキーを削除するように変更されました。

  • 新規: Lロックされたシーケンスはすべてのトラックをロックされた状態として (赤い境界線で) 表示され、そのノードのテキストは淡色で表示されます。

  • 新規: シーケンサまたはシーケンサ カーブ エディタで CTRL と F を同時押しすることで、キーボード フォーカスが検索ウィジェットにジャンプし、ツリーをすばやく検索できるようになりました。

  • 新規: Sequencer Movie Renders は、ムービーをレンダリングする前にシェーダの準備ができていることを確認するために、各ティックでシェーダ コンパイラとメッシュ距離フィールド ビルダを表示するようになりました。

  • 新規:イベントの操作性の見直しを次の通り行いました。

    • イベントのペイロード パラメータを再度定義できるようになりました。

    • 新しいイベント エンドポイントを作成すると、デフォルトでは個別の関数ではなく、カスタム イベント ノードが活用されるようになりました。これは、生成された関数グラフの柔軟性が向上したことから可能になりました。

    • (もしある場合は) バインドされたオブジェクトを通過させるピンを指定できるようになりました。これには、以前のルールが適用されます (オブジェクトピンとインターフェース ピンのみがサポートされます)。

    • ブループリント グラフ アクション メニューを使用するために、クイック バインド メニューが作り直されました。

  • 新規:カーブ エディタ ツリーのフィルタリングと同期が次のように改善されました。

    • シーケンサで選択を変更すると、カーブ エディタはツリー上の同じノードを選択し、それらのノードにツリーを分離 (自動フィルタリング) します。これにより、シーケンスからカーブに簡単にドリルダウンできます。これらの設定は両方とも、[Editor Preferences (Synchronize Curve Editor Selection) および (Isolate Curve Editor To Selection)] で構成できます。

    • ピン ウィジェットがテーブル行にマウス カーソルを合わせたとき、またはピンがアクティブなときにのみ表示されるように変更されました。

    • 兄弟が明示的に一致したときに明示的でない子を除外するようにフィルタのロジックが変更されました。これにより、ネストされた一致が発生する階層に、一見一致しないノードが表示されるのを防げます。

    • ノードの特定の階層に一致する Parent.Child.Grandchild 構文を含むようにテキスト フィルタ ロジックが拡張されました。

  • 新規: オブジェクト バインディングを名前でタグ付けする機能が追加されました。オブジェクト バインディングは GUID によって内部的に参照されるため、同様のオブジェクト バインディング (所有可能なカメラやキャラクターなど) の一貫した参照は以前は不可能でした。しかし、オブジェクト バインディングに名前でタグを付けることができるようになったことから、オブジェクトが存在するアセットに関係なく、コア システムによる一貫したオーバーライドまたは参照が可能になりました。

  • 新規: 直接再生できないシーケンスのクック済みビルドで不要な再生データを無効にするオプションが追加されました。このオプションは、サブシーケンスの右クリック コンテキスト メニューに表示されます。有効にすると、シーケンスの再生データがクック時にプルーニングされます (これにより、メモリを節約できることがあります)。

  • Improvement: Added a Cvar Matinee.AllowMatineeActors to enable accessing the Matinee Actors from the Cinematics list.Defaults to Off.

  • Improvement: Improved the performance of CameraRig_Rail when using bLockOrientationToRail, by combining location and rotation transforms.

  • Improvement: Improved the performance of CameraRig_Crane by combining location and rotation transforms.

  • Removed: Matinee—Removed from UI. Removed access to Matinee from the following:

    • Cinematics > Add Matinee [Legacy]

    • List of Matinee Actors in the cinematics menu

    • Open Matinee button in the Details panel

スタティック メッシュ エディタ

  • Bug Fix: StaticMeshEditor now respects the selected LOD even if it is below MinLOD. If the selected LOD is below MinLOD a warning will be displayed.

  • Bug Fix: Fixed canvas DPI scaling issues for static mesh socket names and skeletal mesh socket/bone names.

  • Bug Fix: Fixed Navigation properties in the Static Mesh Editor so they handle undo correctly.

VR-Editor

  • Bug Fix: When an asset is force-deleted in VR mode, the asset editor UI will now close.

Gameplay Framework

  • Crash Fix: Fixed a number of issues, including crashes, with composite data tables and composite curve tables that contain a cycle in the parent table hierarchy.

  • Bug Fix: Changed INVALID_CONTROLLERID to 1 to avoid potential issues where game code might confuse INDEX_NONE (1) with the old value of INVALID_CONTROLLERID (255).

  • Bug Fix: Actor overlap events no longer trigger on an actor from its own subcomponents overlapping with each other at startup.

  • Bug Fix: Overlap events no longer trigger while the level is being loaded, except where allowed explicitly by the Actor overlap flags.

  • Bug Fix: Added AddForce and related functions to UProjectileMovementComponent.This supports external applications of forces that accumulate until the next tick, at which time they are applied to acceleration and zeroed.This enables application of a force during the correct stage of integration, and when substepping is involved.

  • Bug Fix: Character moves can no longer combine when the movement mode changes over the course of that move.This reduces the latency of sending that move (by using bForceNoCombine), and prevents some issues when combining incompatible movement modes.

  • Bug Fix: Fixed a glitch when walking on a component attached to a simulated component.

  • Bug Fix: Character moves no longer attempt to combine on the frame where jump input begins or ends, fixing some common movement corrections.

  • Bug Fix: UCharacterMovementComponent::ServerCheckClientError now uses ServerExceedsAllowablePositionError for the actual position and movement mode checks, so you can override the behavior but still retain the ignore setting, logging, and random chance from fake packet loss CVars.

  • Bug Fix: Avoids using bAutoManageAttachment within UAudioComponent and UParticleSystemComponnent, unless the world is a game world, to prevent erroneous bounds in editor worlds.Avoids including auto-detached components in CalcBounds().

  • Bug Fix: Fixed input rebindings not working correctly when modified from a Blueprint that inherited directly from Pawn.

  • Bug Fix: Exposed all suitable SplineComponent::Get*AtSplineInputKey() functions to Blueprints.Using a spline input key is more efficient than continually querying by location, and we already exposed the FindInputKeyClosestToWorldLocation() function.

  • Bug Fix: Fixed dynamic actors in streaming levels failing to replicate in cases where an in-memory version of the PIE level still exists, rather than duplicating from the editor world version of the sublevel.

  • Bug Fix: Fixed cases of CharacterMovementComponent additive root motion source overshoot for SimulatedProxies.

  • Bug Fix: Properties of components that are not editable when inherited can no longer be edited through the data-only Blueprints window or the actor's instance properties panel.

  • Bug Fix: Added SetUseAutoAttachment function to FXSystemComponent, and implemented it for ParticleSystemComponent and NiagaraComponent.

  • Bug Fix: Fixed the WorldAsset name in LevelStreaming for duplicated levels not having the PIE prefix stripped off.

  • Bug Fix: The UCharacterMovementComponent VisualizeMovement function now returns a float that is used for the height offset of the last rendered debug player movement info, which enables derived classes to add text starting at that offset as well.

  • Bug Fix: Refactored CanJumpInternal_Implementation in ACharacter, which determined what CharacterMovement states supported jumping.This logic is now handled in a new overridable function in the UCharacterMovementComponent called CanAttemptJump.

  • Bug Fix: Added debug information about Character Jump state to "p.visualizemovement".

  • Bug Fix: The UNiagaraComponent CalcBounds function now uses the auto attach parent's bounds when not attached.

  • Bug Fix: Added GetFloatPropertyAtSplineInputKey and GetVectorPropertyAtSplineInputKey functions to work with SplineComponent input keys for compatibility with query functions that return a key instead of point.

  • Bug Fix: The minimum difference between a Character's perch radius and its capsule radius has been slightly increased.This prevents Characters from falling in-place or on valid geometry.

  • Bug Fix: Added proper safe-zone support for the debug console.

  • Bug Fix: bOverrideWalkableSlopeOnInstance now appropriately sets it's flag on Instanced Static Mesh Components when creating all body instances.

  • Bug Fix: Owner No See is now properly respected for objects placed in a level.

  • Bug Fix: Fixed inconsistent ordering of UpdateOverlaps relative to BeginPlay in the cases of server/standalone SpawnActor, networked replicated actors, and actors streamed as part of a level.BeginPlay now always precedes UpdateOverlaps.

  • Bug Fix: LevelScriptActor can no longer create unlimited InputComponents.

  • Bug Fix: Debugged arrows from "p.showinitialoverlaps 1" lasting forever.

  • Bug Fix: Console history no longer shows multiple entries for a single command that was entered multiple times.

  • Bug Fix: The DuplicateTransient specifier on UInputComponent now properly ignores duplicate Actors that have an Input Component but no actual input bindings.

  • Bug Fix: Fixed a bug that caused LightComponents to display duplicate versions of some properties.

  • Bug Fix: Updated the RestrictedToClasses metadata specifier to use a "," delimiter instead of spaces.

  • Bug Fix: Initial controller ID set for the ULocalPlayer PlayerAdded function now uses the overridable SetControllerID function to avoid swapping controller IDs with themselves in the UEngine SwapControllerId function.

  • Bug Fix: Fixed edge cases so that the Root Component of an actor can no longer be destroyed from the actor's user construction script.

  • Bug Fix: The UGameplayAbility MontageStop function now properly uses the OverrideBlendOutTime parameter.

  • Bug Fix: SpawnForceFeedbackAtLocation is now properly tagged as an unsafe function call during Actor construction.

  • Bug Fix: ChildActor no longer attaches (or reattaches) to ChildActorComponent as part of OnRegister.Instead, this happens in CreateChild.

  • Bug Fix: Fixed Actor overlap events triggering on the same Actor from subcomponents changing overlap state with each other.

  • Bug Fix: Random Streams now reset to InitialSeed instead of regenerating in PIE.

  • Bug Fix: Calling the AssetManager function UnloadPrimaryAssetsWithType from the debug console was incorrectly loading the assets.It will now unload them as expected and report the number of assets unloaded.

  • Bug Fix: Fixed Gameplay Tag Query variables on components not being modified when edited.

  • 新規: MassageVectorAxisInput と MassageAxisInput が UPlayerInput サブクラスでオーバーライドできるようになりました。

  • 新規: ゲーム プレイヤー タグ コンテナ ブループリント ピンに対するゲームプレイ タグ フィルターのサポートが追加されました。 新規: UPARAM (meta=(Categories="")) マークアップを介した UFUNCTION パラメータのゲームプレイ タグ フィルターのサポートが追加されました。 フィルター機能は UPARAM 値をまず優先しますが、UFUNCTION-level タグ フィルターをコールバックすることができます。

  • 新規: UCameraComponent が更新され、ランタイム時に可視としてマークできる編集可能なカメラ メッシュを持てるようになりました。

  • 新規: 関数がインターフェースの一部であるかどうかを判断し、その関数の名前に基づいて関数のオーバーライドを取得するための BlueprintEditorUtillity 関数を追加しました。

  • 新規: EdGraphNode に bCanRenameNode の仮想アクセサー関数が作成されました。

  • 新規: 属性キャプチャによって裏打ちされる必要のない「一時変数」に対するスコープされたモディファイアをサポートするために、ゲームプレイ エフェクトの実行計算機能が追加されました。

    • 実装により、基本的にはスコープされたモディファイアで操作される一時的な値を公開するための実行手段として、ゲームプレイ タグで識別されたアグリゲーターを作成できます。従って、ソースまたはターゲットからキャプチャする必要のない操作可能な値を必要とする数式をビルドできるようになりました。

    • 使用するには、実行ファイルでタグを新しいメンバー変数 ValidTransientAggregatorIdentifiers に追加する必要があります。これらのタグは、下部のスコープ付きモディファイヤの計算モディファイア配列に表示され、機能をサポートするように更新された詳細カスタマイズで一時変数としてマークされます。

  • 新規: 複数の動的出力パラメータがサポートされるようになりました。プロパティ名の間に「,」を追加することにより、複数の動的出力を指定できます。

  • 新規: DateTime 構造体が追加操作をサポートするようになりました。

  • 新規: Windows で一般的なゲームパッドをサポートしている RawInput プラグインの修正が施されました。

  • 新規: PossessedBy がポーンの所有者を設定するようになりました。

  • 新規: 「Splitscreen Enabled」を取得および設定するブループリント関数を追加しました。

  • 新規: レベル内の既存のアクタと同じ名前のアクタをスポーンしようとすると、致命的なエラーとして表示されるようになりました。

  • 新規: (FWorldDelegates 内にある) OnWorldTickStart に、パラメータとして呼び出される UWorld が追加されました。

  • 新規: アクタに GetComponentsByInterface 関数が追加されました。

  • 新規: Input Device Context が追加され、コントローラー入力のソースが区別できるようになりました。

  • 新規: 制限タグの操作性について改善が施されました。制限されたゲームプレイ タグ ソースのデフォルト オプションが削除されました。そのため、制限タグを追加するときにソースがリセットされなくなり、複数行の追加が簡単になりました。

  • 新規: APlayerController の GetNextViewablePlayer 関数の実装が改善されました。APlayerController のフレンドとして FTViewTarget を削除しました。

  • 新規: PossessedBy は、ポーンの所有者を新しいコントローラーに設定するようになりました。

  • 新規: 特定の同じクラスのすべてのインスタンスで定数データを共有する機能が追加されました。このデータは、インスタンスごとではなくクラスごとに保存されます。これにより、多くのインスタンスと定数データを持つクラスのメモリ使用量を大幅に節約できる一方、エディタ内での通常のブループリント ワークフローを通じた編集時の操作性に変化は生じません。この機能を使用すのに適切なのは、EditDefaultsOnly および BlueprintReadOnly としてマークされているメンバー変数です。

  • 新規: (FLevelUtils 内の) IsLevelLoaded は、レベルが見つからない場合、チェックに失敗となるのではなく、「false」を返すようになりました。

  • 新規: INavigationDataInterface に IsNodeRefValid 関数が追加され、RecastNavMesh に実装されました。この新しい関数は、(CharacterMovementComponent 内の) PhysNavWalking によって呼び出され、フロアがドロップアウトしたことを検出します。

  • 新規: APlayerController::GetHUD および AController::GetPawn のテンプレート バージョンが追加されました。

  • 新規: (AActor 内の) 新しい UpdateOverlapsMethodDuringLevelStreaming 関数は、BeginPlay() 後に実行される UpdateOverlaps クエリ全体を無効にするか、[Mobility (可動性)] に基づいて条件付きにする (スタティック オブジェクトをスキップする) ことができます。また、INI で指定されたデフォルトに従わせるオプションもあります。これにより、各クラスに個別のデフォルトを設定できます。これにより、エンジン ソースを変更することなくエンジン クラスのビヘイビアを設定することもできます。この新しく追加されたデフォルト オプションの名前は OnlyUpdateMovable です。名前の通り、これはアクタのルート コンポーネントの [Mobility (可動性)] が「Movable (非スタティック、非固定)」 に設定されている場合にのみ、オーバーラップを実行します。以前のビヘイビアは AlwaysUpdate と同等でした。ただし、このビヘイビアでは、多くのアクタ タイプでストリーミング パフォーマンスが最適化されない可能性があります。

  • Improvement: The Blueprint sub-level selection dropdown menu now sorts alphabetically.

  • Improvement: You can now specify multiple classes to restrict to using the "," delimiter, as specified in the documentation.

  • Deprecated: Deprecated the APawn function IsControlled.

  • Deprecated: In UGameViewportClient, GetDisableSplitscreenOverride has been deprecated and replaced with IsSplitscreenForceDisabled.

  • Deprecated: SetDisableSplitscreenOverride has been deprecated and replaced with SetForceDisableSplitscreen.

  • Deprecated: Removed obsolete enum EConsoleType and the IsConsoleBuild function and bUseConsoleInput variable from UEngine.

  • Deprecated: Made the definitions of a number of UStaticMeshComponent functions whose implementations were entirely compiled out if not WITH_EDITORONLY_DATA, not exist unless WITH_EDITORONLY_DATA.

  • Deprecated: The UWorld function GetPawnIterator has been deprecated.Use a TActorIterator of the desired pawn class instead.

  • Deprecated: UWorld::GetPawnIterator() has been deprecated.Use a TActorIterator of the desired pawn class instead.

  • Deprecated: AActor::GetComponentsByClass has been deprecated.Use type templated AActor::GetComponents or the version of GetComponents that takes a TSubClass parameter.

ローカライゼーション

  • Bug Fix: Previously, various break iterators were using the wrong FString constructor in their overloaded version of IBreakIterator's SetString function.

  • Bug Fix: Fixed an issue where categories in the Details panel were unlocalized.

  • Bug Fix: Fixed IdenticalTo's FText function, comparing two instances, with null localized strings as identical.Invariant and generated FText instances will have null localized strings unless they are persisted, and should never be considered identical to anything else.

  • Bug Fix: Fixed an issue with LEET failing to load native LocRes data if set during a boot.This makes the behavior of leet and culture=leet on the command line consistent with what would happen when switching to LEET at runtime.

  • Bug Fix: Performed fixes on localization commandlet executor.

  • Bug Fix: Fixed an issue with Niagara graph nodes being gathered for game localization.

  • Bug Fix: Fixed a crash occurring when using locales with numeric symbols that are outside the Unicode basic multilingual plane.

  • 新規: 文字列のコピーが回避可能な UTF-16 文字列を使用するプラットフォームの最適化する手段として、SetStringRef 関数が IBreakIterator に追加されました。

  • 新規: LEET をコード ベースのカルチャに変換し、一般的なカスタム コード ベースのカルチャがサポートされるようになりました。これにより、LEET カルチャが ICU 固有の実装とバージョンに結び付けられるのを回避し、ゲームが ICU データを使用せずに独自のカスタム カルチャを注入できるようになります。

  • 新規: ICU を 64.1 にアップグレードしました。

  • 新規: 遅れて配信されたアセット レジストリがマージされた後に UAssetManager がローカライゼーション キャッシュの更新を実行するようにしました。これにより、非同期読み込みからのログ スパムが停止され、「dirty」フラグが付いてる間はキャッシュにアクセスするようになります。

  • 新規: FEnginePackageLocalizationCache は、add/remove/rename イベントを処理した後、そのイベントが実際にキャッシュの内容を変更しなかった場合は「dirty」としてマークされなくなりました。

ネットワーキング

  • Bug Fix: Added ensures to track any CDO or Archetypes that are incorrectly added to the Net Driver.

  • Bug Fix: The Net Driver's OutPacketsLost variable will now increment when detecting an outgoing packet loss.

  • Bug Fix: Fixed an issue where invalid interface scopes would cause multicast group joins to fail on iOS.

  • Bug Fix: Actors are now blocked from being added to the Network List if they are being destroyed.

  • Bug Fix: Fixed an issue that prevented replicated object references within arrays that are nested inside structs from resolving correctly.

  • Bug Fix: The Steam version of GetAddressInfo now parses and handles all of the address types the platform supports, even when using the passthrough functionality.

  • Bug Fix: TcpMessaging now closes connections that send invalid or corrupt messages.

  • Bug Fix: Fixed an issue preventing UEnum::NetSerializeProperty from serializing the correct number of bits for the Max Value of an enum if it was a power of 2.

  • Bug Fix: Fixed an issue that would set error codes incorrectly when making GetAddressInfo requests.

  • Bug Fix: Fixed an issue that would cause server s to drop clients without microphones when voice is enabled.

  • Bug Fix: Moved the encryption key response delegates from UWorld to UNetConnection in order to correctly handle seamless travel during the key lookup.

  • Bug Fix: All Components that are owned by Actors now get unmapped when the ActorChannel is deleted.This prevents issues where Component references may point to the PendingKill version of the Actor or Component.

  • Bug Fix: Net tick rate is now only limited if it is lower than the Engine tick rate.

  • Bug Fix: Fixed address mapping issues on IPv6 only platforms when user input was not pushed through any sanitizers, which led to a protocol mismatch conflict.Addresses on IPv6 are now synthesized when a protocol mismatch is detected.

  • Bug Fix: Added additional address synthesis paths when attempting to connect to a named destination.Now synthesis will be attempted on any input address if necessary, or whenever the address would need resolution.This functionality will be improved with more precision in a future version.

  • Bug Fix: Duplicates of static network GUIDs will now time out correctly during travel.

  • Bug Fix: Party beacons now handle parties and their members joining and leaving the same beacon in different parties more gracefully.This resolves several scenarios where new reservations that overlap with existing ones would be rejected, and fixes a possible leaked reservation when changing party leader.

  • Bug Fix: Fixed an issue where replicated properties that were sent reliably due to net.PartialBunchReliableThreshold were still generating history items.This would cause the History buffer in FSendingRepState to fill up with reliable changelists that weren't initialized.

  • 新規: 最初のアクタ スポーンのスケール、速度、位置の量子化が設定可能になりました。

  • 新規: DOREPLIFETIME 実装が、パラメータに構造体を使用するように変更されました。また、DOREPLIFETIME_WITH_PARAMS という名前の新しいマクロが公開され、古い機能が含まれるようになりました。

  • 新規: すべてのアクタの次の更新時間 (ForceAllActorsNetUpdateTime) を変更する関数がネット ドライバに追加されました。

  • 新規: プラットフォームで GetAddressInfo およびアドレスのシリアル化をテストするためのいくつかのコンソール コマンドが追加されました。これらのコマンドは、エンジンの開発ビルドでのみ有効になります。新しいコマンドは次のとおりです。

    • SocketSub GAI

    • SocketSub Serialize <アドレス文字列>

    • SocketSub AsyncGAI

  • 新規: 非同期 GetAddressInfo クエリのサポートが追加され、プラットフォームがリクエストが返されるまで遅延なしでホスト情報をクエリできるようになりました。

  • 新規: プレイリストの参照から取り込まれた「csv」プロファイルのレプリケーション データを追跡する機能が追加されました。

  • 新規: プロパティのレプリケーションを使用して定数またはスパイクの帯域幅を生成する BandwidthTestActor クラスが追加されました。使用するコンソール コマンドは次のとおりです。

    • Net.GenerateBandwidth KilobytesPerSecond — ティックごとに定数スループットを生成します。

    • Net.GeneratePeriodicBandwidthSpike SpikeInKb PeriodInMS — 周期ごとに帯域幅のスパイク (1 フレーム) を生成します。

  • 新規: TCP NoDelay 機能が追加されました。

  • Improvement: Refactored some functionality from APlayerController::ServerShortTimeout into the Net Driver for improved organization.

  • Improvement: Optimized APlayerController::ServerShortTimeout.

  • Improvement: Increased the verbosity of logs printed when a nak packet is received to Very Verbose.This prevents excessive log output.

  • Improvement: Per-request logs in HttpConnection are now log level Verbose.

  • Improvement: The following functions are no longer virtual:

    • USceneComponent::SetRelativeScale3D

    • UActorComponent::IsActive

  • Deprecated: Replicated properties in UActorComponent, USceneComponent, and AActor are deprecated and will be made private in future versions.Uses of them should go through the new Getters and Setters.Deprecated properties include:

    • AActor: bHidden, bReplicatedMovement, bCanBeDamaged, Role, ReplicatedMovement, Instigator

    • UActorComponent: bReplicates, bIsActive

    • USceneComponent:ReativeLocation, RelativeRotation, RelativeScale3D, bAbsoluteLocation, bAbsoluteRotation, bAbsoluteScale, bVisible

レプリケーション グラフ

  • Crash Fix: Fixed an issue where the Lifetime Custom Delta State tracked by Rep Layout used improperly-sized lookup tables, causing crashes under some circumstances.

  • Bug Fix: Fixed an incorrect return value when removing an Actor from the Replication Graph.

  • Bug Fix: The Replication Graph will now reflush DORM_Initial and non-netstartup Actors when a client unloads and reloads a streaming level.

  • Bug Fix: Dependant Actors are now prevented from getting added twice to the same parent in Replication Graphs.

  • Bug Fix: Destroyed nodes in the AllChildNodes array are now cleaned up after a spatial rebuild event.

  • Bug Fix: Child nodes are now cleaned up in the TearDown function.

  • Bug Fix: Fixed a bug where changing an Actor's Dormancy could add it back to the GridSpatialization2D node in the Replication Graph, even if it was explicitly removed.

  • Bug Fix: Fixed a bug that would add classes to the Replication Graph's class tracking more than once.

  • Bug Fix: Limited the bounds for connection view locations in the Replication Graph to HALF_WORLD.

  • Bug Fix: Implemented special case Weak Object Ptrs and Special Object Ptrs in RepLayouts.This fixes issues with RepNotifies and property comparisons.

  • 新規: Net.RepGraph.PrintCullDistancesForConnection が追加されました。これは、接続固有のカリング距離も出力します (RepGraphDebugActor を使用します)。

  • 新規: ハード コードされたビルド定義の代わりに DO_ENABLE_REPGRAPH_DEBUG_ACTOR が追加され、RepGraphDebugActor の追加が簡単になりました。

  • 新規: 破壊されたノードを削除するときにノードの順序をそのまま保持するオプションがレプリケーション グラフに追加されました。

  • Improvement: Net.RepGraph.PrintCullDistances will now work without a RepGraphDebugActor.

  • Improvement: The Replication Graph now uses RemoveSingleSwap in RemoveConnectionGraphNode to speed up TArray item removal operations.

Network Emulation

  • Bug Fix: Network Emulation PIE settings will now be disabled instead of hidden when Play settings are configured for a single instance.

  • Bug Fix: Network Emulation PIE settings will set a custom profile when no current profile have been assigned.

  • Improvement: The warning when a NetEmulation profile is not found in configs has been downgraded to a log.

Replays

  • Bug Fix: Fixed an ensure that could occur during replay playback in the editor.

  • Bug Fix: Added a check to prevent save game-based replay commands from running on a dedicated server.

  • Bug Fix: Fixed an issue with level sequence Actors where the sequence would not be reset properly when a replay is scrubbed.

  • 新規: PlatformCrypto プラグインで、AES-256 ECB、AES-256 CBC、AES-256 GCM 形式のデータのストリーム暗号化および復号化ができるようになりました。

  • 新規: PlatformCrypto プラグインで、ランダムバイトの作成および擬似ランダムバイトが作成できるようになりました。

  • 新規: LAN ビーコン クエリにブロードキャストの再試行が追加されました。

  • 新規: キー値に加えてデータを渡すように暗号化パケット ハンドラ インターフェースが変更されました。

  • 新規: 実験的な DTLS パケットハンドラ コンポーネントが追加されました。

Online

  • Crash Fix: Moved XMPP socket/thread destruction into destructor to prevent a crash when using websocket-backed libstrophe XMPP connections.

  • Bug Fix: Fixed FindFriendSession and SendSessionInviteToFriends inappropriately returning false in some cases when using the Steam subsystem.

  • Bug Fix: Fixed issues with projects linking to SteamAuth (using the reporting delegates).Due to required usage of FUniqueNetIdSteam, the code would not build properly outside of the SteamOSS.

  • Bug Fix: Fixed a memory leak during libcurl shutdown.

  • Bug Fix: Fixed a potential memory leak in libcurl in cases when headers fail to append to a request.All previously appended headers would be leaked and not added to the request in this case.

  • Bug Fix: Cancelled HTTP requests no longer log errors as if curl had failed.

  • Bug Fix: Fixed a bug that prevented clients without microphones from muting others.

  • Bug Fix: Fixed a small memory leak when using the Debugging SSL certificates bundle.

  • Bug Fix: Rebuilt OpenSSL on Win32 and Win64 to fix an issue where a register would sometimes be corrupted

  • Bug Fix: Fixed an incorrect uint assignment causing problems on Clang builds.

  • Bug Fix:Fixed an issue where GetOnlineSubsystem could return the wrong subsystem if called in the OnOnlineSubsystemCreated callback.

  • Bug Fix: In the VivoxVoiceChat plugin, FOnVoiceChatBeforeRecvAudioRenderedDelegate now will have the correct number of samples.

  • 新規: Introduced the SteamShared module!This enables projects to use the Steamworks SDK directly without having to worry about API initialization and dependency linking.Plugins and existing modules can link directly with the new shared module, providing a smoother flow for developers writing expansions to the engine using Steamworks.

  • 新規: VivoxVoiceChat プラグインでは、FOnVoiceChatBeforeRecvAudioRenderedDelegate がオーディオを出力ストリームに挿入できるようになりました。

  • 新規: SteamOn コード外で Steam 認証インターフェースへのアクセスを許可する FOnlineAuthUtilsSteam クラスが導入されました。すべてのデリゲートがそこに移動されました。また、プロジェクトが SteamAuth の結果でより良いアクションをとれるように、更に多くの情報を含んだ新しいレポート デリゲートも追加されました。

  • 新規: SocialUserList に、ロギング / デバッグを支援する ISocialUserList::GetListName() アクセサーが追加されました。

  • 新規: 自動更新を有効 / 無効にするプロセスを明確にするため、SocialUserList から SetAutoUpdatePeriod が削除されました。

  • 新規: IVoiceChat ヘッダを VivoxVoiceChat の外に移動しました。

  • 新規: FJoinPartyResult は、NotApproved 以外の理由でサブコードをサポートするようになりました。

  • 新規: GetPlatformIconMarkupTag が付属のルールセットと共に追加され、ローカル プレイヤーのクロスプレイ状況に応じてアイコンを表示するタイミングのルールなど、クロスプレイ ロジックが適用できるようになりました。

  • 新規: ユーザーが指定した文字列をフレンドに関連付ける方法として、SetOnAlias が IOnlineFriends に追加されました。エイリアスの取得には、属性 USER_ATTR_ALIAS で GetUserAttribute を使用します。これには、エイリアスを保存するためにバッキング実装が必要となります。バッキング実装を持たないオンライン サブシステムでは、NotImplemented エラーが発生します。

  • Improvement: Improved WebSockets handling of empty protocol strings

  • Improvement: Modified the way we determine a SocialUser's Platform for GetCurrentPlatform calls by using the best available information (by also searching the local player's persistent party).This function is now virtual to enable games to dig deeper if desired.

  • Improvement: Increased MAX_LOCAL_PLAYERS from 1 to 4 on Windows.

Paper2D

  • Crash Fix: Fixed a hang when cell width or height was set to 0 in the Extract Sprites dialogue.

  • Bug Fix: Paper2DSprites now correctly use Source UV and Dimension values for textures not in an atlas.

物理

  • Bug Fix: Fixed a compatibility issue with Visual Studio 16.3.

  • Bug Fix: Fixed a Chaos MacOS build failure caused by missing exposed symbols.

  • Bug Fix: Chaos commands were abandoned when switching between threading models.We now correctly flush the dispatcher and solvers before switching to the new dispatcher.

  • Bug Fix: Fixed a Physics replication rotation issue.

  • Bug Fix: Integrated a workaround for a Clang 7 bug.

  • Bug Fix: Fixed SQ to run initial overlap on zero-length sweep.

  • 新規: 次の物理ティックの前にコマンドのバッチを実行したい場合は、Chaos::FCommandList クラスを使用できます。例えば、物理エンジンとの複雑なやり取りがあるときに、より予測しやすい結果を得るには、このクラスを使用してください。

  • 新規: Chaos ジオメトリのオフライン生成がサポートされるようになりました。

  • 新規: Chaos 高度フィールドのサブセクションを編集できるようになりました。そのため、ペイントとスカルプティング用の Chaos オブジェクトでランドスケープ ツールを使用できます。(マテリアルと穴はまだ機能しません。)

  • 新規: クック済みビルドでコリジョン プロファイルを処理する際に、不要な文字列のコピーを避けるようになりました。

  • Improvement: Initialize bIsSceneSimulating member variable to false.

コリジョン検出

  • Improvement: Improved performance of SetActorEnableCollision.For actors that generate overlap events, we no longer update overlaps in some cases.

クロス

  • 実験的な新規: Chaos Cloth がバックストップと最大距離コンストレイントをサポートするようになりました (PBDSphericalConstraint クラス)。

プラットフォーム

  • Bug Fix: Added an early check before creating a TargetPlatform object if the PlatformInfo will be found (check a static function to see if it's usable before making it).Changed each platform's GetTargetPlatform[s] function.

  • Bug Fix: Fixed the cubemap array UAV support in DX11 and DX12.Previously, only first cubemap of the array was exposed.

  • Bug Fix: Fixed platform configs being saved in extension paths for non-extension platforms.

  • Bug Fix: Fixed an issue where Linux/Mac were returning 0 as a validly running PID. This is a special PID used by the kernel that isn't needed to check as a proper running user space application.

  • Bug Fix: When a chunk is installed, mount optional pak files and other pak files are now mapped to this chunk.

  • Bug Fix: Fixed stack use after free on temp TSet, which FPointerEvent stored as a member variable reference.

  • Bug Fix: The engine no longer assumes a data-driven target platform's module will always exist.This prevents some "module not found" warnings from appearing for platforms that have data-driven platform configs but don't actually build.

  • 新規: TargetPlatform モジュールのワイルドカード検索が削除されました。代わりに、PlatformInfo が存在する TargetPlatform のロードのみを試みます (プラットフォームのサポートを同期し、「DataDivenPlatformIni.ini」ファイルがある場合など)。

  • 新規: 「uptnl」ファイルで、オプションではないミップの複製がサポートされます。これにより、オプションのミップでテクスチャをロードする際の IO シーク時間が短縮されます。オプションではないミップが複製されることから、ビルド サイズは増加します。そして、「uptnl」ファイルに複製されるオプションではないミップは、クック時に 2 回、「ubulk」と、「uptnl」で 1 回ずつシリアル化されるようになりました。DuplicateNonOptionalMips 属性を使用して、TextureLODGroups の LODGROUP ごとに複製を制御できます。オプションのミップを使用してテクスチャをロードする時に「uptnl」が利用可能な場合、すべての非インライン ミップは「ubulk」ではなく「uptnl」からロードされます。それにより、IO シーク時間が短縮され、パフォーマンスが向上します。

  • 新規: Linux および Mac で RTTI が有効になっているコンパイル エディタが修正されました。

  • 新規: PlatformExtensions の場所を確定しました (Engine/Platforms/... {プロジェクト}/Platforms/...)。

  • 新規: iOS および Android の Facebook SDK が 5.8 へ更新されました。

All Mobile

  • Bug Fix: Enabled boot profiling for embedded library building.

  • Bug Fix: Fixed an issue that prevented the progress bar from appearing when switching preview rendering levels in PIE.

  • 新規: UI に ES2 が非推奨であることの警告を追加しました。

  • 新規: プラットフォームのスケーラビリティ設定は、エディタで [Preview Rendering Level (プレビュー レンダリング レベル)] に変更するときに適用され、プレビュー レンダリング レベルを無効にすると復元されるようになりました。

  • 新規: GPU シーンをすべてのモバイル デバイスで有効にできるようになりました。以前は、特定の Mali GPU デバイスでは、サポートされるプリミティブの最大数に制限がありました。

Android

  • Bug Fix: Refactored Android event handling to prevent the Android hardware window from being created or lost before the engine could use it.

  • Bug Fix: The Android toolchain now prevents paths for .so files from becoming absolute.

  • Bug Fix: Corrected the .so files library filtering by architecture so that library prefixes are not assumed.

  • Bug Fix: FLiteralOrName now uses a uint64 instead of UPTRINT on 32-bit platforms to account for cases where the high bit of a 32-bit pointer may be in use.

  • Bug Fix: Fixed an issue that prevented non-unity Android builds from successfully compiling.

  • Bug Fix: Fixed the UPL plugin paths for GoogleARCoreBase, GoogleARCoreServices, and LeapMotion.

  • Bug Fix: Fixed errors that occurred when configrules.txt was less than 80 bytes.

  • Bug Fix: Corrected an issue with greater than or equal to operators (>=) in configrules.txt.

  • Bug Fix: Fixed the button mapping for controller v2 firmware when connected to certain phones.

  • Bug Fix: Fixed an issue that prevented copying over older OBBs during packaging.

  • Bug Fix: Fixed a shader compiler issue with samplerExternalOES on certain mobile devices in GLES 3.1 mode.

  • Bug Fix: Added R8G8 to GLES 3.1 RHI's list of supported textures, as it was previously missing.

  • 新規: 代替ログイン ID を決定するオプション (gameActivityGetLoginIdAdditions) が追加されました。

  • 新規: Android の入力インターフェースでコントローラー ライティングとフォース フィードバックがサポートされるようになりました。

  • 新規: Android デバイスの UPL に isEmbedded が公開されました。

  • 新規: [Project Settings (プロジェクト設定)] に Android の公開ログのオプションを追加しました ([Make log files always publicly accessible? (ログ ファイルを常に公開?)])。

  • 新規: Nokia 8.1 でフルスクリーンが有効になりました。

  • Improvement: Mobile rendering will use GL_QCOM_shader_framebuffer_fetch_noncoherent extension when possible.This improves the rendering performance of translucent materials.

  • Improvement: Android devices will use big cores when possible for Garbage Collection tasks.This speeds up Garbage Collection by 2x on some mobile devices.

  • Deprecated: Support for OpenGLES2 has been further deprecated in 4.24, and it will be removed fully in 4.25.OpenGL ES3.1 is now the minimum rendering path for mobile devices.

  • Removed: Removed Android support for Ant build system.

  • Removed: Disabled testOnly injection for Android Studio builds.

HTML5

  • Bug Fix: Mac Python—Updated copy script to support homebrew Python installs.

  • Bug Fix: Save game system checks are now skipped under multi-threaded builds.

  • Bug Fix: The AutomationTool for HTML5 now handles alternative project names.

  • Bug Fix: Launching onto the current editor map now works correctly.

  • Bug Fix: Emscripten audio stability has been improved.

  • Bug Fix: Added error handling for Python forking while trying to terminate already terminated processes.

  • Bug Fix: HTML5 is blacklisted on ApexDestruction, as APEX does not build for HTML5.

  • Bug Fix: HTML5 as a platform extension uses LoadLocalIniFile instead of GConfig.

  • Bug Fix: Fixed a runtime error for a HTML5 platform extension on non-HTML5 platforms.

  • Bug Fix: Added a missing GetRuntimeSettingsClassName member to FHTML5PlatformProperties.

  • 新規: すべての HTML5 コードはエンジン コードから削除され、プラットフォームの拡張機能となりました。

  • 新規: WebSocketNetworking はスタンドアローンのプラグインになり、複数のプラットフォームで利用できるようになりました。現在は Engine/Platforms/Plugins/WebSocketNetworking にあります。

iOS

  • Crash Fix: Fixed a crash that occurs when a background/foreground event comes in too early while MoviePlayer is trying to look at the command line.

  • Crash Fix: Fixed a race condition that would cause DeploymentServer.exe to occasionally crash on shutdown.

  • Bug Fix: Fixed issues with deployment of large .ipa files.

  • Bug Fix: Fixed an issue preventing MetalTexture.SetPurgeableState from working on iOS11.

  • Bug Fix: BundleID is now only set to the provisioning profile's identifier if it does not contain a wildcard.

  • Bug Fix: Fixed an issue that would cause iOS builds to fail when running some non-English versions of Windows.

  • 新規: iOS で OpenSSL がバージョン 1.1.1 に更新されました。

  • 新規: iOS で OpenSSL 1.1.1 の libwebsockets バイナリが再ビルドされました。

  • 新規: AVAudioSession を使用して iOS でオーディオがどのように動作するかをより細かく制御できるオーディオ オプションが追加されました。これは、IOSAppDelegate で -SetFeature:Active を使用するか、コンフィグ設定を使用して有効にできます。これらには、下記が含まれています。

    • VOIP 中のマイク / スピーカーの使用。

    • バックグラウンド オーディオの有効化 / 無効化。

    • 他のアプリケーションとのオーディオ ミキシングの有効化 / 無効化。

  • 新規: 組み込み済みの通信を介してシェーダのバッチ処理を一時停止する機能が追加されました。

  • Removed: Removed deprecated source code that previously supported OpenGL ES on IOS.

Linux

  • Bug Fix: Linux SDL2:Remove EGL/OpenGL code from of Wayland CreateWindow when using Vulkan.

  • Bug Fix: SDL2—Rebuilt sdl2 with a alsa-lib-devel package installed (enable ALSA).

  • Bug Fix: LinuxAArch64 platform—Removed targetplatform from the LinuxToolchain.

  • Bug Fix: Fixed GetMemoryTypeFromProperties VERIFY not retrying without a VK_MEMORY_PROPERTY_HOST_CACHED_BIT bit.The VERIFYVULKANRESULT() was failing, and we weren't getting into the code where we removed VK_MEMORY_PROPERTY_HOST_CACHED_BIT and tried GetMemoryTypeFromProperties again.The result of GetMemoryTypeFromProperties is now checked, and if it fails, those memory flags are removed, and the GetMemoryTypeFromProperties call is tried again, reporting the failure at that point with UE_LOG.

  • Bug Fix: If a dir already exists, the engine now returns true from the CreateDirectoriesFromPath.

  • Bug Fix: Fixed a race condition when building with -nodebuginfo was set.Previously attempted to strip the debug info twice.

  • Bug Fix: No longer adds a local launch device for the Linux AArch64 platform Local device; right now, this will never be an Arm64 device.

  • Bug Fix: Fixed an issue on Linux that prevented killing the multi-user server from the editor (from the Multi-User Browser).

  • Bug Fix: The default LinuxAArch64 platform in binary now builds to the same default as the Linux platform.

  • Bug Fix: Fixed a file handle leak and file handle registry corruption on Linux when a file opened in "read/write" mode was looked up/added to the file handle registry reserved to file opened in "read only" mode.

  • Bug Fix: Fixed an issue in the Linux file abstraction layer preventing a seek() followed by a read() to read at the correct position when a file is opened in "read/write" mode, preventing a multi-user session from reloading on Linux.

  • Bug Fix: Fixed real-time signals set to be ignored on Linux, which made it hard to use VTune and some other programs.

  • Bug Fix: Fixed a deadlock on startup between a TLS and dlopen threads.

  • Bug Fix: Added LinuxAArch64 platform to the LinuxDeviceProfileSelector whitelist.

  • Bug Fix: The Linux address sanitizer now builds when linking shared libs (DSOs) under Linux, using the -shared-libsan option.This loads libclang_rt.asan-x86_64.so instead of a static link.Also added linux sanitizer information to build details if set.This is a fast way to relink circularly dependent libraries.

  • 新規: LinuxAArch64 プラットフォームと Linux プラットフォーム グループが追加されました。

  • 新規: 新しい Linux ツールチェーン ビルド スクリプトも追加されました。

  • 新規: (libstdc++ とリンクした) UE Clang ツールチェーンを使用して nvTriStrip と ForsythTriOptimizer がビルドされました。MeshBuilder の stdc++ 依存関係が削除され、将来のビルド用に bash スクリプトが追加されました。

  • 新規: Linux AArch64 FreeType2 ライブラリが追加されました。

  • 新規: LinuxAArch64Server および LinuxAArch64Client ビルド ターゲットが追加されました。

  • 新規: Linux アーキテクチャを Linux の [Package Project (プロジェクトをパッケージ化)] サブメニューに移動しました。DataDrivenPlatformInfo セクションに PlatformSubMenu ini エントリが追加され、FPackageProjectMenu::MakeMenu() でこれらが結合されました。

  • 新規: SoundVisualizations および Kiss_FFT の AArch64 ビルドの PrecompileForTargets が「None」に設定されました。

  • 新規: Linux Strophe ライブラリが新しい SSL ヘッダで更新されました。

  • 新規: (libstdc++ とリンクした) UE Clang ツールチェーンで nvTriStrip と ForsythTriOptimizer がビルドされました。MeshBuilderCommon の stdc++ 依存関係が削除されました。

  • 新規: SERVER および STATIC_PIC フラグ DLWS_WITHOUT_SERVER=OFF DLWS_STATIC_PIC=ON を使用して、Linux libwebsockets ライブラリが再ビルドされました。

  • 新規: Linux OpenSSL が v1.1.1c、libcurl が v7.65.3、libwebsockets が v3.0.1、webrtc が rev.24472 に更新されました。また、aarch64 Docker ビルド スクリプトが追加され、BUILD.EPIC.sh の aarch64 の問題も修正されました。また、条件付き WebRTC ビルド変数が BUILD.EPIC.sh に追加されました。そして、不足している bzip2 およびファイル パッケージが centos ビルド ツール dockerfile に追加されました。「build.cs」ファイルの libcurl および openssl の場所も更新されました。加えて、CRYPTO_get_mem_functions および関数シグネチャが更新されました。32 ビットの「arm」および「i686」ファイルも削除されています。

  • 新規: Linux のデフォルトでシステム コンパイラにフォールバックする機能が削除され、「ForceUseSystemCompiler」コマンドラインが渡された場合にのみシステム コンパイラをチェックして使用するようになりました。また、ForceUseSystemCompiler が指定され、システム コンパイラが見つからない場合は、デフォルトで Epic コンパイラが使用されます。

  • 新規: Linux のエディタのフルスクリーン モードが無効になりました。

  • 新規: Linux WebRTC が更新され、サードパーティの WebRTC ソースも変更されました。 #### Mac

  • Deprecated: Removed the 32-bit Linux i686 and armhf libraries.

Mac

  • Bug Fix: Fixed an invalid string index in the UE4DataFormatters lldb script.

  • Bug Fix: Fixed the multi-user server application on the Mac OS to get the Unreal icon when running, and to enable the users to scroll/copy text from the displayed log console.

  • Bug Fix: Now initializes the SSL module when loading AppleHTTP to ensure the correct unload sequence on shutdown.

  • Bug Fix: OpenGL (still used by the Launcher or CrashReportClient) doesn't allow zero-sized windows on newer versions of macOS, so for such windows, the size is set to (1,1) instead, and alpha is set to zero to hide the window.

  • 新規: Mac Python — 2.7.14 にアップグレードされました。

ウィンドウ

  • Bug Fix: Added DXBC disassembly check for loads using additional typed formats, which are not supported on all versions of Windows (despite requesting a vanilla DX 11.0 feature level).Additionally, this change no longer makes dumping out debug info and checking for double ops mutually exclusive (checks would be skipped if debug dump was enabled).

  • Bug Fix: Fixed the execute process where strings on Windows platform were getting corrupted.

  • Bug Fix: Removed unused warning numbers from WindowsPlatformCompilerSetup.h.These typically introduced problems when new compiler versions were released, because they resulted in new errors being output from published code.

  • Bug Fix: Implemented fix for vsync always enabled when running in Independent Flip mode with Direct3D 11.

Programming Notes

  • Bug Fix: The sun position plugin no longer creates a dependency on the editor during runtime compilation.

  • Bug Fix: Fixed an invalid check in BulkDataWriter when attempting to serialize a zero byte buffer.

  • Bug Fix: The Windows 10 SDK is now included when installing new versions of Visual Studio from the editor.

  • 新規: 生成された関数ブループリント グラフは、ブループリント コンパイル プロセスの一部として作成可能で一時的なものですが (コンパイル中のみ保持されます)、最終クラス レイアウトでバイト コードと UFunction を生成するために引き続き使用されます。外部クライアントは、UBlueprint::GenerateFunctionGraphsEvent にバインドし、FKismetCompiler::SpawnIntermediateFunctionGraph を使用してコンパイラ コンテキストで必要な中間グラフをスポーンすることにより、このプロセスにフックできます。GenerateFunctionGraphsEvent は動的なデリゲートです。つまり、すべてのバインドがパッケージにシリアル化され、それにより、単一のパッケージ内で構成ワークフローが有効になります。

    生成された関数グラフは、このブループリント デベロッパー設定が有効な状態で中間ビルド プロダクトとしても表示されます。

  • 新規: エディタのブレークポイントで停止したとき、処理中のワールドの種類を示すために [watch window (ウォッチウィンドウ)] に追加できるデバッグの補助として、新しく GPlayInEditorContextString が導入されました (例えば、「クライアント 1」または「専用サーバー」)。使用するには、「UE4Editor-Engine!GPlayInEditorContextString」をウォッチウィンドウに追加します。

  • 新規: 「BlueprintType」としてマークされている列挙型には、ゼロの初期化子が必要です。次に例を示します。次に例を示します。

  • 新規: 変換されたすべての関数に非推奨が追加されました。詳細プロパティ ビルダを呼び出すのではなく、AddPropertyParams オーバーロードを使用してください。

  • 新規: ランチャー モジュールに検証コマンドが追加されました。これにより、インストール時に不具合の可能性があるときにランチャーに通知し、その検証を行う操作をトリガーできます。

  • 新規: MeshDescription API に様々な変更が加えられました。

    • API が改善され、より多くの操作が可能になり、異なるアロケーターを持つ配列を結果コンテナとして提供できるようになりました。

    • MeshDescription は、顔の主要な表現として三角ポリゴンを使用するようになりました。メッシュが完全に三角ポリゴンに認識されている場合、ポリゴンより高速で、まったく同じ方法で使用できることから、三角ポリゴンが優先して使用されます。

    • 三角ポリゴンを作成すると、下位互換性を維持するために「シャドウ」ポリゴンも作成されますが、これはシリアル化時に省略されます。

    • ポリゴンの場合と同様に、新しい三角ポリゴンを作成するときに欠落しているエッジが作成され、隣接などの操作を三角ポリゴンでも使用できます。

    • MeshDescription のネイティブ シリアル化の形式は、三角ポリゴンに基づくようになりました。

    • 任意の数のエッジのポリゴンを表すことができ、作成されると、適切な数の三角ポリゴンが自動的に生成されます。3 辺以上のポリゴンは自動的に「内部エッジ」を生成します。これはポリゴンによって所有され、ポリゴンが再び三角ポリゴン化されると再生成されます。そうでない場合、内部エッジは他のエッジと区別されず、接続された三角ポリゴンまたは頂点の決定に使用できます。

    • メッシュ要素クラス (FMeshVertex など) のパブリック メンバーへの直接アクセスは非推奨になりました。特に、頂点インスタンスとエッジは接続された三角ポリゴンのリストを保持するようになり、ConnectedPolygons メンバーは非推奨となり削除されます (このデータが ConnectedTriangles リストから派生可能なためです)。

  • StaticMeshDescription モジュールの追加により、スタティック メッシュ固有の属性を明示的に参照する FMeshDescription メソッドは非推奨となり、StaticMesh 属性の登録は FStaticMeshAttributes に移動しました。

  • UStaticMesh::SourceModels、SectionInfoMap、OriginalSectionInfoMap への公開直接アクセスは、パブリック アクセサーを使用することから非推奨となりました。StaticMesh API には、GetSectionInfoMap() および GetOriginalSectionInfoMap() に加えて、SourceModel を処理するための多くのメソッドがあります。

  • OnWorldTickStart への既存のバインドには、シグネチャに UWorld* パラメータを追加する必要があります。

  • FBodyInstance::bOverrideWalkableSlopeOnInstance には、直接アクセスの代わりに使用する必要があるアクセサー関数が追加されました。

  • PanelWidget 関数、SetDesignerFlags は、仮想オーバーライドとして適切にマークされるようになりました。

レンダリング

  • Crash Fix: Fixed a crash in Pixel Streaming with NVIDIA GPU occurring if RHI thread is enabled.

  • Crash Fix: Fixed a crash in FSceneViewport::OnFocusReceived(...) when ViewportClient is nullptr.

  • Crash Fix: Fixed a crash that occurred when changing to or from fullscreen mode.

  • Crash Fix: Fixed an issue where non-UAV textures caused a crash when using GenerateMips functionality.Now render targets for mip generation have UAV access.

  • Bug Fix: Fixed fullscreen mode for DX12.

  • Bug Fix: Fixed a bug where Vulkan extensions were not properly initialized.

  • Bug Fix: Made a fix for non-power-2 UDIM Virtual Textures.

  • Bug Fix: Fixed an issue where RDG was assuming that raster pass has render targets.

  • Bug Fix: Refactored FSlateUpdatableInstanceBuffer so that the render thread flush is removed in its destructor, and correctly handles object lifetimes.

  • Bug Fix: Fixed a potential binding error occurring in the uniform buffer used by procedural mesh sections.

  • Bug Fix: Fixed an error "was not found or is set to read-only" occurring for Cvar when marked up in RendererSettings.

  • Bug Fix: The stat screen message for multi-viewport now displays correctly #6019.

  • Bug Fix: VT prefetch pages are now marked as recently used, otherwise they might be evicted later in the frame.This can break code that assumes they're resident.

  • Bug Fix: Current gamma and sRGB behavior for render targets when used with USceneCaptureComponents.Allows matching scene capture to screen rendering much more closely.

  • Bug Fix: This fix handles disabling linear gamma when using sRGB format.

  • Bug Fix: LODs screen coverage for orthographic views is now calculated correctly.

  • Bug Fix: Fixed an issue with PixelStreaming on Firefox 68+ where ice candidates now have an empty candidate to denote the last entry (this was being sent to the WebRTC proxy before, which didn't know how to deal with it, and so force-disconnected the user).

  • Bug Fix: Fixed an issue occurring when authentication is turned on; moved login url setup code to the above folder setup to stop an infinite loop of redirection.

  • Bug Fix: Fixed MIP sky light pdf texture and solid angle texture defines set in the incorrect location for sky light direction sampling.

  • Bug Fix: Fixed incorrect throughput for calculation, path tracing, specular reflection, material sampling.

  • Bug Fix: Fixed Subsurface Profile shading model showing up as default shading model in cooked builds when using FromMaterialExpression.

  • Bug Fix: Fixed an issue where the volumetric lightmap was not being removed from a scene before ReloadPackages().

  • Bug Fix: Fixed a threading issue on landscape multi-view LOD calculation.

  • Bug Fix: When translucency is not rendered, separate translucency and scene color are no longer blended because separate translucency is blank.

  • Bug Fix: On some occasions, PixelStreaming could encode a frame with older content.This was caused by encoding the frame before the backbuffer got copied into it.This is issue is now fixed.

  • Bug Fix: Fixed an issue with r.rendertargetpool.events visualization.

  • Bug Fix: Fixed an issue where translucent hit proxies were always selectable even when translucency selection was off.

  • Bug Fix: Fixed a memory leak in Instanced Static Mesh reported from UDN.

  • Bug Fix: Made robustness changes to FD3D11DynamicRHI::GetQueryData.

  • Bug Fix: Fixed a bug with Dithered LOD occurring when user would set EarlyZPassOnlyMaterialMasking.

  • Bug Fix: Fixed the VT editor image when using UDIMs with non-power-2 sizes.

  • Bug Fix: Fixed several issues related to texture readback in DX12.

  • Bug Fix: Fixed a problem for NaNs in pass/view uniform buffers in canvas tile rendering, occurring due to scene buffers not being initialized yet.

  • Bug Fix: VT prefetch pages are now marked as recently used so they are not evicted later in frame, which would break code that assumes that the VT prefetch pages are resident.

  • Bug Fix: The editor usually prevents users from assigning non-virtual textures to materials that are expecting virtual textures, but if that state happens, it causes a crash.This fix avoids a crash when that happens, with the problematic texture rendering as black.

  • Bug Fix: Fixed an issue with incorrect computation of the specular transmission BRDF.

  • Bug Fix: Fixed FrameFence so that RT and RHIT agree on what frame we're on.This fixes a DX12 mesh corruption bug.

  • Bug Fix: Frame rate smoothing is now disabled by default.

  • Bug Fix: Fixed a problem where wrong sizes were computed for mips of non-power-2 UDIM texture when computing VT address wrapping.

  • Bug Fix: Moved DX12 PipelineState hashing to 64-bit to avoid hash collision, and to take vertex declaration into account in the hash.

  • Bug Fix: Fixed a case where the landscape sometimes would be rendered with a default material in a packaged game.

  • Bug Fix: Fixed a -nan issue with view uniform buffer due to render target context not being allocated for the main view.

  • Bug Fix: HLOD—Fixed MaxDrawDistance not working for HLODs.

  • Bug Fix: Fixed an issue where the render target pool was releasing all targets instead of the requested target.

  • Bug Fix: HLOD—bCastDynamicShadow was forced off in ALODActor::PostLoad() since 4.19 as a workaround for another issue.

  • Bug Fix: Previously, a GPU error occurred when using a scene capture 2D component in the level.The GPU would restart when you performed reflection captures using SceneCapture components.CaptureSceneToScratchCubemap performs a copy that requires depth as it has a distance fade factor, so you must use a real depth buffer for that pass.

  • Bug Fix: Lots of Vulkan validation work:

    • Debugged names for images for helping track down validation errors.

    • When the reflection environment rounds up to 2 cubemaps, it is now explicitly cleared to avoid a validation error.

    • The Shadowmask texture is now properly transitioned to read.

    • A missing transition was added for LightScatteringHistoryTexture.

    • Added an ensure that occurs when updating descriptorset, to catch validation errors when a texture is set.

    • Fixed an issue in transition resources, where it would use the incorrect number of subresources.

    • Added VK_QUERY_RESULT_WAIT_BIT to ensure query results are actually ready when copied back to the result buffer.

  • Bug Fix: File cache async requests are now destroyed before handle, and this fixes rare crashes when using a virtual texture.

  • 新規: フレーム フェンスの代わりに、コマンドリスト マネージャー フェンスでリソースを解放できるようになりました。

  • 新規: DXC シェーダ診断メッセージのレポートを修正しました。DXC 診断メッセージには数行のコンテキストが含まれていますが、これらの行は除外されるようになりました。そのため、この診断メッセージは FXC メッセージのレポート方法と同じです。

  • 新規: 存続期間が RDG で管理されているバッファにアップロードするため、RDG がサポートされるようになりました。これは、後のパスで SRV としてバインドできます。

  • 新規: FRDGBuilder の QueueBufferExtraction 関数では、RDG のみが以前の状態を認識していることから、バッファを移行するアクセスとパイプラインを選択できるようになりました。

  • 新規: DXC が a0c95cd に、DXIL がバージョン 10.0.18362.0 に更新されました。このバージョンの DXC では、[unroll(N)] で明示的なループ カウントが指定されない限り、小さなループでさえ展開に失敗してしまう [unroll] バグの修正が施されています。

  • 新規: ネイティブ マスクを取得するための明示的なメンバー関数が追加されました。

  • 新規: 新しい RHI バッファ ロック / ロック解除 API が実装されました。これらの変更により、RHI がバッファ ロック / ロック解除の実装で IsInRenderingThread() や IsInRHIThread() などの関数を呼び出して、バッファの名前変更を保留するかどうかを決定する必要がなくなります。RHI は、RHICmdList.IsTopOfPipe() および RHICmdList.IsBottomOfPipe() 関数を使用して、ロック / ロック解除操作を保留するかどうかを決定できるようになりました。

    • IsTopOfPipe() が「true」を返す場合、RT は即時 RHI コマンドリストにコマンドを記録している間に、コードはレンダリング スレッド (RT) で実行されます。RHICmdList.EnqueueLambda() を使用して、バッファの名前変更をパイプで保留する必要がある場合があります。

    • IsBottomOfPipe() が「true」を返す場合、コードは以前に記録されたコマンドを再生しています (またはコマンドリストの記録を Bypass() しています)。そのため、RHI スレッド (RHIT) で実行しているように操作し、GPU リソースに直接アクセスする必要があります。RT は「-norhithread」モードで実行している場合、RT が即時コマンドリストを記録および再生することから、IsBottomOfPipe() が RT を実行しているときに「true」を返すことができます。そのため、IsInRenderingThread() などのスレッド関数を使用するのではなく、IHITopOfPipe/IsBottomOfPipe 関数を使用して RHI で実行コンテキストを提供することが重要となります。IsIn*Thread() 関数は一部のプラットフォームでは低速となる可能性のある TLS データにアクセスする必要があるため、これら新しい関数を使用する方がより適切です。

  • 新規: シーン上のメッシュ アタッチメント グループには、「bLightAttachmentsAsGroup」が有効になっているルートを持つアタッチメント グループのプリミティブのみが入るようになりました。そのため、アタッチメント階層内の任意のプリミティブ コンポーネントを選択できるようになり、インセット シャドウと間接ライティングをグループ化するルートとして使用できます。

  • 新規: アタッチメントのグループ全体のインセット シャドウの状態を操作する BP Setter が追加されました。これにより、不要な場合に FScene でアタッチメント グループが作成されなくなるため、メモリを少し節約できます。

  • 新規: D3D12 の単一 GPU で mGPU 仮想化を実装し、vmgpu コマンドライン引数を使用して有効にしました。仮想化は、実際の SLI/LDA モードが使用されているかのように、複数の FD3D12Device-s を作成することで機能します。同じ物理デバイス上ですべてのリソースが複数回作成され、複数の LDA ノードをシミュレートします。複数の 3D、コピー、計算キューが (デバイスごとに 1 つ) 作成されます。仮想デバイス間でリソースを共有するには、実際の mGPU マシンとまったく同じように、明示的な転送と同期を実行する必要があります。このモードでは、実際のマルチノード構成をサポートしない PIX、Nsight、RenderDoc などの標準ツールを使用して、任意のマシンで mGPU AFR および SFR 機能を開発およびデバッグできます。この方法で最大 4 つの GPU を仮想化できます (これは、サポートされる最大の実際の LDA GPU と同じ数です)。以下は使用するコマンドラインの例です。MyProject game d3d12 MaxGPUCount=2 VMGPU AFR.

  • 新規: ボトム レベルおよびトップ レベルのアクセラレーション構造用のメモリ統計カウンターが追加されました。

  • 新規: UE4 のアドレス (およびポート) をプロキシに渡すことが可能になりました。これにより、UE4 がローカル マシン上にないときでもプロキシを使用できます。

  • 新規: Create Render Target 2D ブループリント ユーティリティ関数で作成されたときに、Texture Render Target 2D がミップ マップを自動生成するかどうかを選択する機能が追加されました。

  • 新規: 反射で半透明オブジェクトがサポートされるようになりました。

  • 新規: シーンキャプチャ 2D レンダリング ターゲットのミップ マップの生成がサポートされるようになりました。

  • 新規: RHI が深度ターゲット順序付けされていないアクセス ビューをサポートするかどうかを指定する GRHISupportsDepthUAV フラグが追加されました。このフラグに基づいて、サポートされる場合は SceneDepthZ によって TexCreate_UAV が設定されるようになります。

  • 新規: D3D12 レンダラの使用時に PixelStreaming が機能するようになりました。

  • 新規: FD3D12SegListAllocator::VerifyEmpty() でのメモリ漏れチェックに、より明示的な説明が追加されました。

  • 新規: SRV および UAV のメタデータ サーフェイス (HTILE など) のエイリアス化に対するサポートをレンダリング グラフに実装しました。

  • 新規: デュアル ソース ブレンディングに対する RHI サポートが追加されました。

  • 新規: COMPILER_SUPPORTS_BITFIELD_INTRINSICS と COMPILER_SUPPORTS_PACK_INTRINSICS が追加されて、特定のプラットフォームでこれらが実装されました。

  • 新規: 直接ライティングのラフネス値をクランプする CVar r.MinRoughnessOverride が追加されました。これにより、TAA がオフの場合にスペキュラのちらつきが削減されます。

  • 新規: ピクセル ストリーミングの OnAllConnectionsClosed デリゲートが追加されました。ピクセル ストリーミングを使用するアプリから全員が切断された場合に、これがブロードキャスト ターゲットとなります。これはアプリをリセットする良い機会であり、新規ユーザーに向けて準備を整えることができます。ブループリントでは、GetPixelStreamerDelegates 関数を使用して OnAllConnectionsClosed デリゲートへのアクセスを取得できるため、これにバインドすることができます。

  • 新規: DepthOfField エンジンの表示フラグはシッピングのみではなくなりました。

  • 新規: テクスチャへのマテリアルのレンダリング時には、一部の EOF アップデートのみが送信されるようになりました。パラメータ コレクション アップデート、マテリアルおよびレンダリング ターゲットのアップデートが確実にフラッシュされるようになります。

  • 新規: BuildVertexBuffers—Vertex カラーの変換を最適化しました。

  • 新規: クライアントサイドの AFK システムが、非アクティブのユーザーを切断するピクセル ストリーミングに追加されました。非アクティブの状態が一定期間続くとまずユーザーに警告が表示され、切断されるまでのカウントダウンが表示されます。クリックなどの操作を行わないと、ユーザーの接続は切断されます。これは「app.js」内で次のように設定されています。

    • afk.enabled:True に設定すると AFK システムが有効になります。デフォルトでは「False」です。

    • afk.warnTimeout: 警告のオーバーレイが表示されるまでの非アクティブの期間を秒数で設定します。デフォルトは「120」秒です。

    • afk.closeTimeout: (ユーザーがクリックなどの操作を行わない場合に) ユーザーが切断される前に警告のオーバーレイが表示される時間を秒数で設定します。デフォルトは「10」秒です。

  • 新規: RHICreateUnorderedAccessViewHTile、RHICreateShaderResourceViewHTile、RHIResummarizeHTile メソッドが RHI に追加されて、GRHISupportsDepthResummarize および GRHISupportsExplicitHTile を含むプラットフォーム上で実装されました。この機能によって HTILE メタデータ バッファへのアクセスが可能になり、HTILE がバイパスされたり正しくなかったりした環境における HTILE の再ビルドも可能になります。

  • 新規: プリミティブ コンポーネント上に、[Advanced (詳細)] 設定の [Details (詳細)] パネルで編集可能なカスタム プリミティブ データを公開しました。

  • 新規: インタラクティブなパス トレーシング ビューと、それを切り替えるための CVar での一時的なエイリアス化を削減するための新しいメソッドが追加されました。

  • 新規: マテリアル内のカスタム補完のための UV スロットの割り当てを改善し、未使用のスロットが単に最後に使用されたスロットの後に追加されるのではなく、未使用のスロットが再利用されるようにしました。

  • 新規: MapStagingSurface() にオプションのフェンス パラメータが追加されました。フェンスが渡されたら、Poll() を実行してフェンスを渡し済みであるかを確認できます。すでに渡している場合は RHI フラッシュが省略されます。非パラレル API については、Map() の処理中は RHI スレッドはとどまった状態です。

  • 新規: HLOD:有効な距離オーバーライド (r.HLOD.DistanceOverride) を考慮する GetHLODDistanceOverride() が ALODActor に追加されました。

  • 新規: PF_G16 レンダリング ターゲット出力をサポートするようになりました。

  • 新規: パラメータを渡す際に RDG{TEXTURE, BUFFER}COPY_DEST を使用するよう追加しました。

  • 新規: 複数のユニフォーム バッファの定義が同じシェーダ変数名で登録されている場合にアサートするための検証が追加されました。

  • 新規: UtilityShaders モジュールを削除し、ソースを RenderCore に移動しました。

  • 新規: 16-ビット UNorm (G16) データに対するテクスチャ ソース画像サポートが追加されました。

  • 新規: ブループリント ClearRenderTarget2D で可能な場合にハードウェア ファスト クリアを使用するようになりました。

  • 新規: ビデオ メモリのリークのため VK_KHR_dedicated_allocation をデフォルトで無効にしました。

  • 新規: UAV をエイリアス化された形式で作成するための RHI サポートが追加されました。GRHISupportsUAVFormatAliasing により、サポートされるプラットフォームが指定されます。

  • 新規: RDG テクスチャを取得するためのヘルパが GSystemTextures に追加されました。

  • 新規: 他のサブリソース ビュー RHI 関数と一致させるために、RHIGetStencilTexture を RHICreateUnorderedAccessViewStencil に置き換えました。

  • 新規: パス トレーサーのためのタイル化された基本マルチ GPU サポートが実装されました。

  • Improvement: Improved DX12 FastConstantAllocator.It is now faster and uses less memory, while also eliminating some GPU crashes.

  • Improvement: Improved reflection denoiser for 1 sample per pixel.There is also an experimental multi-sample per pixel code path.

  • Deprecated: RHISetStreamOutTargets is now deprecated and will not function.Switch to a compute shader-based approach if needed.

  • Deprecated: Removed references to OpenGLDrv.h in build scripts for iOS platform.

  • Deprecated: Deprecated boolean version of SetShaderValue and SetPixelShaderBool for 4.24.

  • Removed: Removed the FRHIGPUMask uint32 cast operator and made uint32 constructor private.

  • Removed: Removed the RHI thread stall from DrawTileMesh.

  • Removed: Removed vestigial SM4 workaround with depth render target.

レイトレーシング

  • Crash Fix: Moved GatherRayTracingWorldInstances after InitViews to avoid crashes caused by InitViews removing mesh draw commands (through RemoveCachedMeshDrawCommands() that were cached in VisibleRayTracingMeshCommands).

  • Crash Fix: Fixed a driver crash occurring when scrubbing in the Sequencer with Ray Tracing enabled and Geometry Cache.

  • Bug Fix: RaytracingSkyLight now allows alpha to propagate for usage in Composure.

  • Bug Fix: Ray Tracing HISM/ISM now uses the correct LOD.

  • Bug Fix: Fixed an issue with the Ray Tracing pipeline state cache that could cause pipelines created on the current frame to be immediately evicted, resulting in a use-after-free error.

  • Bug Fix: Fixed Ray Tracing debug modes where they were using pre-exposure incorrectly.

  • Bug Fix: Ray tracing scenes now explicitly hold references to all FD3D12Resources that are bound to the SBT, so they are not released while some RT commands are still in flight.Added a command to explicitly clear all SBTs for a scene, which releases resource references and allows resources to be immediately reused.

  • Bug Fix: Double-sided geometry ray-traced shadow CVar also affects reflection now.

  • Bug Fix: An uninitialized out parameter was causing undefined behavior in the spotlight estimator; this is now fixed.Fixed other similar instances through path and Ray Tracing shaders to prevent similar bugs in the future.

  • Bug Fix: Fixed the light "Affect Global Illumination" flag being ignored by Ray Traced global illumination.Slightly improved the flag description.

  • Bug Fix: Fixed performance drops with scene capture components when Ray Tracing is enabled.

  • Bug Fix: Fixed Landscape race conditions for Ray Tracing.

  • Bug Fix: Fixed an issue where the Cast Shadows flag was ignored for procedural meshes with Ray Tracing shadows enabled.

  • Bug Fix: Fixed validation errors occurring due to missing resource barriers in the skin cache and Ray Tracing dynamic geometry systems.

  • Bug Fix: Fixed the Ray Tracing shadows denoiser in multiview mode.Now each view renders in a separate tile, and they are later composed into the final texture.Fixed batch shadows mode that always applied the denoiser even if it was disabled.

  • Bug Fix: Fixed an issue where the cast shadows flag was ignored for geometry cache meshes with Ray Tracing shadows enabled.

  • Bug Fix: Fixed an issue where SkyLight was not respecting "Affect Ray Tracing Reflections" and "Affect Ray Tracing Global Illumination" flags.

  • 新規: パフォーマンス最適化の一環として、シャドウ レイ生成シェーダのためのピクセルごとの単一レイ スペシャリゼーションが追加されました。

  • 新規: レイトレーシングでナイアガラ リボンをサポートするようになりました。

  • 新規: レイトレーシング シェーダ向けのテクスチャ LOD の設定がプロジェクトごとになり、デフォルトでは無効になりました。

  • 新規: ネイティブのレイトレーシング インスタンス化を使用している場合、固有のカスタム ユーザー データをインスタンスごとに提供できるようになりました。以前は、固有のトランスフォームのみが許可されていました。

  • 新規: レイトレーシング デバッグ ビジュアリゼーション モードを切り替えるために CVar が追加されました。デフォルト値は、黒のビューポートを表示するのではなく BaseColor になりました。

  • 新規: ヒット深度を必要としない可視性レイにおけるレイトレーシングのパフォーマンスを改善するためにフラグが追加されました。

  • 新規: レイトレーシング反射パスに対するタイリングのサポートが追加されました。より明確に示すために、反射マテリアルの並べ替えを制御する r.RayTracing.Reflections.RenderTileSize Old Tile パラメータの名前が「SortTile」に変更されました。

  • 新規: Dynamic Raytracing Geometries (ダイナミック レイ トレーシング ジオメトリ) で、CVar r.raytracing.asyncBuild を通じて非同期ビルド オプションがサポートされるようになりました。

  • 新規: 単一の FRayTracingInstance 内での複数インスタンスのトランスフォームに対するサポートが実装されました。これは FInstancedStaticMeshSceneProxy の GetDynamicRayTracingInstances 関数内で使用され、数千ものインスタンスを作成することができます。これにより、インスタンス化された多くのスタティック メッシュを含むシーン内での CPU パフォーマンスが大幅に改善されます。

  • 新規: レイトレーシングでナイアガラ リボンをサポートするようになりました。

  • 新規: ハイブリッドのレイ トレーシングされた / スクリーン空間の反射 (実験的機能)。反射されたレイ ヒット ポイントが画面上で可視の場合、マテリアル評価レイをトレースしてライティングを実行する代わりに、SceneColor テクスチャがサンプリングされます。このモードは r.RayTracing.Reflections.Hybrid=1 (デフォルトではオフ) と設定することで有効にできます。サポートされるのは単一のバウンス反射のみです。マテリアルの並べ替えは必須であり、ハイブリッド反射が使用された際には自動的に有効になります。パフォーマンスが大幅に改善されますが、現時点では既知の問題がいくつか存在します。

    • 反射の前に SSAO が SceneColor に適用されるため、多少の不一致が生じます。

    • SceneColor の直接スペキュラ ライティングでは反射ベクターではなくメイン ビュー アイ ベクターを使用するため、直接ライティングに不一致が生じます。

    • メインの深度バッファは反射ヒット ポイントの可視性を判断しますが、クリップ空間で傾斜が大きいサーフェス (少数の深度バッファ ピクセルにマップされた大規模なサーフェス領域) の場合は問題が発生することがあります。

  • 新規: レイトレーシング マテリアル ヒット シェーダへの早期アウト パスが追加されました。最も近いヒット シェーダはヒット距離を提供するだけで済むため、これはマスク化されたジオメトリに対して可視性レイをトレースする際に便利です。パック化されたレイ トレーシング ペイロードに 8 ビット フラグ フィールドが追加されました。

  • 新規: レイトレーシング パイプラインの状態に対する自動状態オブジェクト キャッシュ エビクションが追加されました。デフォルトでは、キャッシュは最大 50 フル パイプライン状態のみを維持します。これにより、多数のレイ トレーシング シェーダを継続的にロードする場合 (シェーダの再コンパイル時など) に発生しがちなエディタのクラッシュを軽減することができます。キャッシュのサイズは r.RayTracing.PSOCacheSize CVar で制御できます。キャッシュの合計サイズが指定した値に到達するまでは、10 フレーム間使用されなかったパイプラインが古い順にキャッシュから削除されます。この影響を受けるのは完全にリンクされたパイプラインのみであり、個別にコンパイルされたレイ トレーシング シェーダは影響を受けません。NVIDIA driver 430.86 を使用して PSOCacheSize を非常に小さな値 (「5」未満) に設定している場合を除き、多数のシェーダを含む大規模なレベル (「インフィルトレーター」など) ではいまだに不安定な状態です。

  • 新規: キャスト レイ トレーシング シャドウのマテリアルごとのフラグが追加されました。

  • 新規: レイトレーシングのグローバル イルミネーションのデフォルト設定が、「4」 SPP および「50%」画面パーセントに変更されました。

  • 新規: レイトレーシングのグローバル イルミネーション パスに対するタイリングのサポートが追加されました。r.RayTracing.GlobalIllumination.TileSize (デフォルトは「0」で無効)

  • 新規: ビルトインのレイ トレーシング API では両面交差を使用するようになりました。これによって影響を受けるのは RHIRayTraceIntersection と RHIRayTraceOcclusion のみです。

  • 新規:ポストプロセス ボリュームの設定に RTAO を有効にするオプションが追加されました。

  • 新規: 「プライマリ レイ」と呼ばれるレイ トレーシング デバッグ ビューが新たに導入されました。

  • 新規: レイ トレーシング (r.RayTracing.ExcludeDecals) でデカールを除外するオプションが追加されました。

  • 新規: 統計「GenerateVisibleRayTracingMeshCommands」の名前を、これが実際に測定する関数に基づいて「GatherRayTracingWorldInstances」に変更しました。

  • 新規: レイ トレーシング時に ISM/HISM に対してカリングがデフォルトで有効になりました。

  • 新規: パック化されたレイ トレーシング ペイロードが、レイ トレースされたメインの反射のレンダリング中に使用されるようになりました。同じペイロードのインスタンスが、メイン マテリアルのレイ トレースと、直接ライティング中のシャドウ レイで使用されます。これにより、ライティングの評価に誤ったシェーダを使用していない限り、通常のコード パスに対するパフォーマンスが大幅に改善されます。

  • 新規: レイ トレーシング ジオメトリに対するネイティブのインスタンス化が実装されました。これにより、固有のトランスフォームを持つジオメトリの多数のコピーに対して、同じシェーダ バインディングを使用できるようになりました。これは、GatherRayTracingWorldInstances()、BindRayTracingMaterialPipeline()、SetRayTracingHitGroup() において非常に大きな CPU 時間の節約につながります。

  • 新規: レイ トレーシング ジオメトリ セグメントごとの異なる頂点バッファのバインドに対するサポートが実装されました。

  • 新規: レイ トレーシング反射でマテリアルの並べ替えがデフォルトで有効になりました。

  • 新規: すべてのレイ トレーシング パスが無効な場合は、TLAS、SBT、その他の高負荷なレイ トレーシング ルーチンが省略されるようになりました。

  • 新規: FShaderCodeLibrary を介してレイ トレーシング シェーダを作成できるようになりました。

  • 新規: レイ トレーシング反射のノイズ削減が、ピクセルごとに 1 つではなく任意の数のサンプルで機能するようになりました。

  • 新規: Multi-SPP が高レベルのループを通じて処理されるようになりました。反射シェーダにより、pass 0 を超えたもので現在累積しているカラー / ヒット距離を読み取る追加ステージが加えられ、最終パスでのみ最終ウェイトが適用されます。

  • Improvement: Implemented an optimization for Ray Tracing resource binding.SBT records are now cached using uniform buffer pointers as key.Records with matching keys are simply copied, avoiding the entire cost of resource binding.CPU performance in large scenes with many identical mesh instances is significantly improved by this (up to ~4–5x speedup in ArchVizRayTracing, ~1.5x speedup in Infiltrator).This optimization assumes that the contents of uniform buffers will not change during a frame.CVar r.RayTracing.CacheShaderRecords (default = 1) can be used to turn off caching.

  • Improvement: Changed the display name of some attributes in LightComponentBase to specify that they affect Ray Tracing only.

  • Improvement: Improved generic TraceRay helper functions and replaced existing common TraceRay calls which fit established material and visibility ray patterns.

  • Improvement:** Unified bottom level acceleration structure build and update APIs.

  • Deprecated: RHICopyBufferRegion/s, as it was exclusively required and used for skin cache VB merges.

  • Removed: Skin cache vertex buffer merging step has been removed, improving GPU performance.

FX—Niagara

  • Crash Fix: Fixed a crash in the Niagara System Editor that occurred when alt-dragging time ranges in the timeline.

  • Crash Fix: Fixed a crash in the Niagara System Editor that occurred if a module was missing a dependency, and there were multiple modules with the same name which could provide that dependency by using the full name in those cases.Added code to prevent this crash where two fixes have the same unique ID.

  • Crash Fix: Fixed a crash that occurred when using aligned memory writes for types like FQuat / FVector4 when adding new parameter data, as they may not be aligned in the parameter store.

  • Crash Fix: Fixed several crashes in the Niagara System Editor which would happen with undo and redo, especially when adding and removing emitters.

  • Crash Fix: Fixed a crash in the Niagara System Editor that occurred when performing Undo after copy/pasting emitters in the timeline.

  • Crash Fix: Fixed a crash caused by Niagara DI instance data not being recreated after a reset.

  • Crash Fix: Fixed a crash that occurred when adding new emitter to a system that has not been compiled after its last change.

  • Bug Fix: Fixed an issue where the particle system dynamic parameter was invalid in instanced stereo.

  • Bug Fix: Garbage is now collected after closing the Niagara Editor.This allows all the buffers to be deleted, reducing RHI memory pressure in the editor.

  • Bug Fix: In the Niagara Script Editor, execution state enum values are now hidden if they are invalid to set directly.

  • Bug Fix: Fixed an issue where particle vector random instance parameters were incorrectly using VRand, causing unit vector sizing instead of a box for certain assets.A new unit vector sizing option was added to allow data created under the incorrect implementation to have the same behavior.If you have assets that appear to be malfunctioning, that were created using version 4.23, select the new option to fix that.

  • Bug Fix: In the Niagara System Editor, made the drop-down arrow for stack function inputs focusable again, so that it can be opened with the keyboard.This also fixes the issue where the menu's search box is not focused when it is opened.

  • Bug Fix: Fixed an issue with Niagara systems which would cause a system to recompile on every load if certain types of emitter changes were merged in.

  • Bug Fix: Fixed a bug in the Niagara Script Editor where pressing the refresh button would crash the Editor if the graph contained reroute nodes.

  • Bug Fix: Removed bUse*Sampling variables because they are unreliable.They are bound after the DI is initialized in the editor and the discovery of them during VM binding might not write to the correct UObject (such as the one that will be serialized), and are therefore not reliable in cooked builds.They are also incorrect for GPU emitters.Replaced with bAllowCPUMeshDataAccess that the DI determines on instance initialize.This means the VM cannot bind to functions that would fail.

  • Bug Fix: Fixed an issue where the Niagara Component was activating automatically when changing sg.EffectsQuality.

  • Bug Fix: Handled reimport of StaticMeshes with Niagara Mesh Renderer.

  • Bug Fix: In the Niagara Script Editor, fixed the following issues with input and output renaming:

    • Fixed an issue where renaming an input or output from the parameters panel would not update a script's change ID and would not enable the Apply button.

    • Fixed an issue where you could create duplicate output names when renaming from the node context menu.

    • Fixed an issue where you could not have a function input with the same name as a function output.

  • Bug Fix: Fixed Engine.Time being set to 0 in the emitter namespace.Removed SystemInstance bindings to Simulation parameter stores.

  • Bug Fix: Fixed a possible crash caused by invalid render properties.

  • Bug Fix: Niagara detail level is now set correctly for cooked platforms.

  • Bug Fix: Fixed a bug where multiple Niagara particles could have the same value for Particles.UniqueID, and this generated identical deterministic random numbers.This no longer occurs for particles spawned through Events, or if using multiple Spawn Modules in the same Emitter.

  • Bug Fix: Fixed a bug where static switches with compiled constants were not correctly compiled across complex graphs.

  • Bug Fix: Fixed a check in Niagara GPU particles when switching the preview feature level.

  • Bug Fix: Fixed issues relating to RTT happening in the middle of a tick when there is other async work happening.Niagara now waits on async work when it hits a RTT mid-frame.

  • Bug Fix: Added fx.NiagaraGlobalSpawnCountScale to Engine/Config/BaseScalability.ini and EngineTest/Config/DefaultScalability.ini files.

  • Bug Fix: Modified Niagara component's Activate() call for correct reset behavior.

  • Bug Fix: Changed the SpawnRate and SpawnBurst_Instantaneous Niagara modules to account for the new fx.NiagaraGlobalSpawnCountScale variable.There are three parts to this change:1) Hooking in the global spawn count scale.2) Clamping the burst spawn count to 1. 3) Moving the scalability application to an earlier point in the SpawnRate module.The module ended up using two values (pre- and post-scaled) of the spawn rate in different locations.This updates the Niagara custom script version.

  • Bug Fix: The Niagara log panel was previously showing out of date messages if the last emitter or system compile failed.Now, Niagara empties EmitterCompiledData when initializing it, even if the latest VM executable data is invalid.

  • Bug Fix: Fixed an issue where Niagara components would never clear their render state dirty flag.

  • Bug Fix: Fixed an issue where loading a Niagara asset by using a hard reference during game startup would hit a check on initializing renderer properties.

  • Bug Fix: Fixed a crash in the Niagara System Editor which occurred when the user performed an undo while hovering over the advanced expander or function input.

  • Bug Fix: Fixed an issue which caused a crash when saving after editing a module parameter description.

  • Bug Fix: Fixed an issue in the Niagara System Editor where curves in the Selection panel would not be zoomed to fit on open.

  • Bug Fix: Fixed a crash caused by an invalid renderer being called on a GPU emitter.

  • Bug Fix: Fixed an issue where multiple stack modules that called the same function with static switches were not evaluated correctly (the first one was overwriting the values of the others).

  • Bug Fix: Fixed a crash that occurred on compiling an If node after adding and deleting input or output pins.

  • Bug Fix: Fixed an issue with broken trails when spawning an interpolated position.

  • Bug Fix: Previously, a data interface function call with unused output parameters would cause an error on compiling.Now Niagara properly supports DI function calls in the VM that have unused output parameters.

  • Bug Fix: Previously, parts of the VM compiler backend did not correctly handle matrix parameters, so data interface calls with matrix inputs did not behave correctly.This has now been fixed.

  • Bug Fix: Non-deterministic RNG calls in Niagara GPU scripts no longer impact subsequent deterministic calls.This might change the actual numbers generated by GPU emitters using the deterministic RNG if non-deterministic random numbers are also generated due to effectively changing the call order.

  • 新規: スレッドの利用性を高めるために、ナイアガラの高レベルのティック構造がリファクタリングされました。

  • 新規: システム プロパティがナイアガラ システム エディタの [System Properties] タブから、スタックの新規 [System Settings] カテゴリに移動されました。より明確にするために、エミッタ プロパティも [Emitter Spawn] グループから別の [Emitter Settings] カテゴリに移動されました。

  • 新規: デバッグ名ジェネレータが追加されたことで、重複するスタック エントリのデバッグが容易になりました。

  • 新規: ナイアガラのスケール モジュールを他のスケール オペレーションと組み合わせることができるようになりました。

  • 新規: 「AlignParticlesWithCollisionPlane」と呼ばれる新しいナイアガラ モジュールを送信しました。葉と地面の交互作用やコインなど、さまざまなもののシミュレーションにこれを使用できます。これは最初のバージョンであり、今後は随時改善されます。

  • 新規: ナイアガラ システム シミュレーションが複数のティック グループでティックできるようになり、降格可能な最後のティック グループに到達するまで、すべてのティック グループを同時に実行できるようになりました。

  • 新規: エミッタ階層をクック済みビルドのメモリに取り込むことを避けるために、親および ParentAtLastMerge エディタ専用データが作成されました。

  • 新規: パラメータ管理作業の一部をゲーム スレッドからナイアガラ システムのランタイムにおける同時スレッドに移動しました。

  • 新規: 同時ティック中に境界を更新して、変更があった場合にのみ最終化段階で GT の UpdateComponentToWorld を呼び出します。これはカスケードの動作に従うもので、アタッチされている場合には GT 最終化において最大 30 マイクロ秒を節約できます。さらに、RT での八分木の更新も節約できます。

  • 新規: 各グループのティックに伴って、ティック グループのナイアガラ システム スポーンを実行します。これによって可能な場合に非同期のためのスポーンが推進されますが、降格可能な最後のグループが追加のシステムでスポーンされた場合は、アクタ ティックの後にスポーンされる必要のあるシステムが残る可能性があります。

  • 新規: ナイアガラの回転モジュールが書き直されました。これには下記が含まれています。

    • 新しい命名規則。

    • 複数のクワットを組み合わせるための新しいメソッド。

    • レートの使用およびパーティグルの角速度の設定を通じてメッシュの向きを設定する新しいパラダイム。

    • メッシュ / パーティクル空間を含む、回転をトランスフォームする先の新しい空間。

    • メッシュをベクターに合わせるための新しいアプローチ

    • ドラッグ モジュールに回転ドラッグを追加。

  • 新規: ナイアガラ システム エディタの [Timeline] パネルとアイテム ヘッダに、エミッタおよびシステムに問題が発生したことを示す追加のアイコンが加えられました。以前のバージョンでは、[Selection] パネルのフル スタック ビューの行でのみこれが示されていました。

  • 新規: GPU シェーダのコンパイル エラーが警告として表示されるようになったため、クック処理が停止されることがなくなりました。

  • 新規: ナイアガラ システム エディタで、Alt キーを使用してエミッタとシステム間でモジュールをドラッグでコピーできるようになりました。

  • 新規: ナイアガラ コンパイル エラーは、クック処理において処理を停止してしまう可能性のあるフル エラーを生成しなくなりました。これらはクック処理プロセスの警告として表示されます。同様に、ナイアガラ コンパイラの警告はクック処理プロセスにおける表示テキストとして表示されます。

  • 新規: NaN が発生した際に画面にメッセージが表示されるようになりました。NaN ダンプはデフォルトで無効になっており、制御のためにコンソール変数に置き換えられています。

  • 新規: 追跡を容易にするために、独自の CSV 範囲にとどまるようナイアガラを更新しました。

  • 新規: システム インスタンス ID を、GUID ではなくアトミックに増加する数値に変換しました。システム インスタンス ID を FName に削除しました。これにより、FNames 上で永続的にメモリ使用量が増加してしまう問題が修正されました。

  • 新規: ナイアガラ コンポーネントによる最初のティック グループでのティックを可能にする fx.Niagara.Solo.TickEarly が追加されました。最後のティック グループに到達するまで非同期作業の継続を可能にする fx.Niagara.Solo.AllowAsyncWorkToEndOfFrame が追加されました。

  • 新規: ブループリントまたは C++ へのパーティクル データの一括エクスポートを可能にするデータ インターフェースが追加されました。

  • 新規: ナイアガラ パーティクルの並べ替えを最適化しました。

  • 新規: すべての Numeric Niagara グラフ ノードを同時に変換するオプションが追加されました。このオプションにアクセスするには、スクリプト エディタ内で (単一のピンを右クリックするのではなく) ノードを右クリックします。

  • 新規: ナイアガラ スケルタル メッシュ データ インターフェースに GetSpecificSocketTransform が追加されました。これにより、現在の USkeletalMeshComponent または USkeletalMesh の FTransform コンポーネントが返されます。オプションの ComponentToWorld トランスフォームを適用することもできます。GPU バージョンはまだ実装されていません。

  • 新規:

    • グラフ エディタの [Parameters] パネルで選択されている UNiagaraScriptVariables に対する [Details] カスタム パネルが追加されました。このパネルでは、ブループリントに似たモジュール入力のデフォルト値を変更できます。

    • 非モジュール パラメータ メタデータに対するグラフごとの説明が追加されました。

  • 新規: それぞれの EffectsQuality Scalability レベルに対して、ナイアガラ エミッタ プロパティのグローバル スポーン カウント スケールをオーバーライドするオプションが追加されました。もともと、スポーン カウント スケールのオーバーライドは Scalability .ini 階層の EmitterQuality セクションでシードされていました。スケールがオーバーライドされなかった場合は、代わりに fx.NiagaraGlobalSpawnCountScale を使用するようエミッタがフォールバックします。この修正によって、2 つのエンジン変数が新たに導入されました。

    Engine.Emitter.SpawnCountScale 
    Engine.Emitter.bOverrideGlobalSpawnCountScale 

    後者は定数であり、スタティック スイッチで使用できます。これにより、Engine.GlobalSpawnCountScale の使用は非推奨となりました。

  • 新規: OpenGL ES3.1 をターゲットとするデバイス上でナイアガラ シェーダに対するパーティクルごとのマテリアル パラメータが有効になりました。

  • 新規: ナイアガラ スクリプト エディタで C キーを押した際に、現在の選択項目周辺にコメントを作成できるようになりました。

  • 新規: フレーム間でテッセレーション要素を標準化することで、リボンの現在の長さに応じたナイアガラ リボン テッセレーションのロジックが向上しました。

  • 新規: ビュー データに依存しないナイアガラ GPU パーティクルによる、ビューのレンダリング前のティックを可能にする「fx.NiagaraAllowTickBeforeRender」が追加されました。これにより、ナイアガラで、前のフレームではなく現在のフレームのパーティクルの状態をレンダリングできるようになりました。

  • 新規: VM コンテキストが TLS からプールに移動されました。

  • 新規: 登録設定でのキャッシュ ミスを軽減するために、データバッファ レイアウトのコンパクト フォームが単一の配列に保存されるようになりました。

  • 新規: コンパイル時に未使用のモジュール入力が削除されるようになりました。

  • 新規: ナイアガラのアクティベーションとリセット時間に関する改善点は次の通りです。

    • データセットでは、それぞれの初期化時にコピーされるレイアウト情報のローカル コピーを維持しないようになりました。

    • アクティベーションのたびに発生していた、定数パラメータ ストア間でのバインディングの一部が取り除かれました。これにより、バインディングはストアの準備のために初期化時に一度だけ発生します。

    • 各アクティベーション時にバインディングおよびバインディング解除するストアの数が減り、必要最低限のセットのみが処理されるようになりました。

    • アクティベーションのコストを判断しやすくするよう、新しい統計範囲が追加されました。

    • エミッタの回転に伴う多数の割り当てを回避するために、エミッタ向けのデータ ドリブンの事前割り当てが追加されました。

    • エミッタ レンダラ オブジェクトは、無効なエミッタまたは初期化されていないエミッタ向けには作成されないようになりました。

  • 新規: ナイアガラ コンポーネント用のコンポーネント プールが追加されたため、コンポーネントの再利用を通じてパフォーマンスの向上が期待できます。

  • 新規: オブジェクト パラメータ — データ インターフェースまたはレンダラとの併用に向けて、生の UObject ポインタをナイアガラに渡すパラメータ タイプがナイアガラに新たに追加されました。最初は、スケルタル メッシュの参照をスケルタル メッシュ データ インターフェースに渡す方法として使用されます。

  • 新規: データ インターフェース用の決定論的乱数 — NiagaraRandomInfo 構造体内で渡すことで、決定論的乱数をデータ インターフェースで生成できるようになりました。現時点では、スケルタル メッシュ データ インターフェースでのみ機能します。

  • Improvement: Optimized temp register layout for better cache usage.

  • Improvement: Replaced Niagara's original grid location module.Improvements:

    • Offset and noise inputs can now be normalized to the grid cell size.

    • Users can now pin particles to each cell corner or uniformly distribute them throughout a volume.

    • The transform options now operate as expected.

  • Improvement: Static switches were added to reduce runtime costs.

  • Improvement: Optimized passing of Niagara CPU simulation data to the GPU for rendering.Now data is passed only if needed by the vertex factory.

  • Deprecated: Removed the "Dynamic load balanced sim" enum value for simulation targets.

ライティング

  • Bug Fix: Fixed an issue with DFAO artifacts in the distance after the DFAO cutoff range.

  • Bug Fix: Fixed the fog toggle in Unlit view mode.

  • Bug Fix: Fixed the capsule shadow principal point test to match the changes to the projection matrix when OffCenterProjectionOffset is nonzero.

  • Bug Fix: Removed unused depth and velocity shaders from translucent material shaders.

  • Bug Fix: Fixed Cloth shading model banding by encoding Cloth's fuzz component with a gamma of 2.

  • 新規: HDR Eye Visualization ツールの輝度メーターに照度が追加されました。

  • 新規: ライトマスでは、森などのインスタンス化が多用されるシーンにおけるメモリ消費を軽減するために、bUseEmbreeInstancing (デフォルト設定は「False」) がサポートされるようになりました。これにより、以前は不可能であったライトマスによるシーンのベイクが可能になります。これを有効にするには「BaseLightmass.ini」を変更します。より良い方法として、プロジェクト フォルダ内に「DefaultLightmass.ini」を作成する方法もあります。

  • 新規: 距離フィールド シャドウのカットオフ範囲のスケーリングを有効にするために、r.DFDistanceScale が追加されました。

  • 新規: Sun and Sky プラグイン向けの静的ライティングのサポートが追加されました。

  • 新規: ライトマス — 背面ヒット比率を光輝キャッシュ レコード内に保存し、補間背面比率が 0.5 未満の際にテクセルを未マップ済みとしてマークすることで、暗い隅の問題に対する緩和策が改善されました。

  • 新規: ライトマス — 大規模なシーンでのボリュメトリック ライトマップのボクセル化をスピード アップするために、ライトマスで bUseFastVoxelization (デフォルトは「False」) がサポートされるようになりました。これを有効にするには「BaseLightmass.ini」を変更します。より良い方法として、プロジェクト フォルダ内で「DefaultLightmass.ini」を作成する方法もあります。

  • 新規: 他のモジュールに DistanceFieldAtlas クラスが公開されました。これにより、エンジン モジュール外のカスタム メッシュ プロキシで独自の距離フィールド データを生成できるようになりました。

  • 新規: メモリ最適化の一環として、ボリュメトリック ライトマップ (VLM) サブレベル ストリーミングのサポートが追加されました。「BaseLightmass.ini」で bUseFastVoxelization と bUseEmbreeInstancing を「True」に設定することを推奨します。より良い方法として、プロジェクト フォルダの「Config」フォルダ内に「DefaultLightmass.ini」を作成する方法もあります。

マテリアル

  • Crash Fix: Fixed an Engine crash that occurred when importing a texture bigger than 8K.

  • Crash Fix: Fixed a crash that occurred when building a texture that has invalid data.

  • Bug Fix: VertexInterpolator material expressions now work correctly when creating lightmass/proxy materials.

  • Bug Fix: Lightmass/Proxy-replaced switches do not attempt to evaluate a non-active branch.This fixes a problem when the non-active branch has compile errors in the current context, which causes the compile to fail.

  • Bug Fix: Fixed an issue with transmission on shadowed point lights.

  • Bug Fix: Fixed an issue with scene color node in translucent shaders.

  • Bug Fix: Previously, the RuntimeVirtualTextureOutput was overwriting the data passed to the normal material output node, causing display errors, but no error was generated in the Material Editor.Triggered a material compilation error if a Runtime Virtual Texture Output node is used in a material with a virtual texture domain.Now, if an RVT output node is used in a material that is not compatible with that material domain, a material compilation error is generated.

  • Bug Fix: Fixed a bug where some texture mips would not get loaded when using the "force fully load" heuristic.

  • Bug Fix: Added "r.Streaming.UseAsyncRequestsForDDC" to prevent streaming textures from stalling the Editor when saving maps, when using a shared DDC server with potentially long IO latencies.

  • Bug Fix: Sanitized the sampler source being null in a material expression evaluation.

  • Bug Fix: Fixed one memory leak from view when rendering Runtime Virtual Texture pages.

  • 新規: [Output Velocity (速度の出力)] チェックボックスがオンの場合、半透明のマテリアルで深度と速度が出力されるようになりました。

  • 新規: AxF インポータ: 車の塗装マテリアルの表現 (もとのマテリアルに近いラフネスおよび反射性を再現) が向上しました。

  • 新規: SubUV プロパティ マテリアル式が追加されました。これにより、パーティクル subUV アニメーションの実装に使用される値への直接的なアクセスが可能になります。

  • 新規: 遅延デカールおよびポスト プロセス マテリアルにおける明暗順応マテリアル式のサポートが追加されました。

  • 新規: 頂点とピクセル シェーダのグラフのカスタマイズを可能にするマテリアル シェーダ ステージ スイッチが追加されました。

  • 新規: ランタイム仮想テクスチャのサムネイル プレビューが追加されました。

  • 新規: ランタイム仮想テクスチャのサンプリング時にマテリアル グラフ内で設定するミップ レベルの調整がサポートされるようになりました。

  • 新規: 同じ仮想テクスチャ ページ テーブル レイヤーを通じてアクセスするグループに複数のテクスチャ レイヤーを含めることができるようになりました。物理空間には、物理グループの各メンバーに 1 つずつ、複数のテクスチャ レイヤーを含めることができるようになりました。ランタイム仮想テクスチャに対してデフォルトでオンになっているため、RVT では単一のページ テーブル チャンネルが使用されます。これにより、ページ テーブルのメモリとルックアップ コストが軽減されます。

  • 新規: ランタイム仮想テクスチャの形式で法線 Z の記号がサポートされるようになりました。これにより、必要な場合にワールド空間の法線を保存できるようになります。

  • 新規: BaseColor、法線、スペキュラ ラインタイム仮想テクスチャの内部テクスチャ レイアウトが変更されました。この新しいレイアウトにより、33% のメモリ コストで法線の品質が向上します。

  • 新規:ランタイム仮想テクスチャのストリーミング データをビルドするためのサポートが [Build (ビルド)] メニューに追加されました。

  • 新規: ランタイム仮想テクスチャのベース カラーの YCoCg エンコーディングに対するサポートが追加されました。これにより品質が大幅に向上しますが、エンコーディングには時間がかかり、物理テクスチャで 25% のメモリ増加が伴います。

  • 新規: ランタイム仮想テクスチャ アセット向けの新しいアクション「Fix Material Usage (マテリアルの使用を修復)」が追加されました。これによってすべての依存マテリアルが、選択したランタイム仮想テクスチャ アセットのマテリアル レイアウトに一致するよう修復されます。これは、大規模なプロジェクトでランタイム仮想テクスチャ マテリアルのタイプを変更する場合に便利です。

  • 新規: 低ミップを作成するために、ランタイム仮想テクスチャにオプションのストリーミング仮想テクスチャを含められるようになりました。これをベイクする仮想テクスチャ ボリュームにボタンが追加されました。

  • 新規: 仮想テクスチャの 16 ビットのページ テーブル値がサポートされるようになりました (これをサポートできるほど物理空間が小さい場合)。これにより、メモリと更新のコストが軽減されます。

  • 新規: ランタイム仮想テクスチャを無効にするためのフラグがシリアル化されました。当初はデバッグでの使用のみを想定していましたが (永続的なフラグとしてではなく)、ワールド内に仮想テクスチャを配置するだけで使用する準備はできてない場合など、開発時のビヘイビアを制御する際にも有用であることがわかりました。

  • 新規: ランタイム仮想テクスチャのタイル カウントに対して「r.VT.RVT.TileCountBias」スケーラビリティ オプションが新たに追加されました。これにより、プラットフォームまたは品質レベルに応じて仮想テクスチャ解像度を変更することができます。

  • 新規: ランタイム仮想テクスチャ プリミティブの負の「LodBias」値をサポートするようになりました。これは、ランタイム仮想テクスチャで低可視性の LOD でレンダリングするプリミティブで使用可能です。

  • 新規: コンソール変数「r.VT.PoolSizeScale」が追加されました。これは、仮想テクスチャ物理プールサイズのスケーリング係数です。これによって、メモリ割り当てのプラットフォームごとのオーバーライドが可能になります。

  • 新規: 生ランタイム仮想テクスチャ サンプルからパラメータ形式へのマテリアル式の変換がサポートされるようになりました。

  • 新規: 「r.VT.MaxAnisotropy」スケーラビリティ コンソール変数が新たに追加されました。仮想テクスチャ専用の異方性の設定です。各仮想テクスチャのボーダー サイズに従って有効な値がクランプされます。

  • 新規: 時間の経過とともに使用される合計仮想テクスチャ物理空間の割合を追跡するための CSV 統計が追加されました。

  • 新規: ランタイム仮想テクスチャ向けの WorldHeight マテリアル タイプが追加されました。

  • 新規: 仮想テクスチャ トランスコード タスクのパフォーマンス マーカーが追加されました。

Mobile Rendering

  • Bug Fix: Fixed a software occlusion bug caused by candidates that cannot be set to be occluded.For example, when you enable custom depth.

  • Bug Fix: Fixed a bug where ILC/VLM does not affect Static Staticmesh at all on Mobile.

  • Bug Fix: Fixed a bug that caused Translucent material to not get valid custom depth RT on mobile platform and pc preview.

  • Bug Fix: Fixed a bug where Stationary Sky Light has double lighting contributions to StaticMeshActor on MobilePlatform.

  • Bug Fix: Previously, a wireframe-like rendering artifact on decals was appearing on some iOS and Android devices.This has now been fixed.

  • Bug Fix: Fixed issues with rendering thread time counting on iOS.Typing in "stat unit" should now show correct numbers.

  • Bug Fix: Android OpenGL should now correctly discard unused attachments on a default framebuffer.

  • Bug Fix: Fixed occasional rendering artifacts appearing on Android devices when UI elements use movies as a textures.

  • Bug Fix: Fixed occasional rendering artifacts occurring with scene capture on mobile when MSAA is enabled.

  • Bug Fix: Fixed an issue where Landscape will allocate buffers for adjacency information that are not used on mobile.

  • Bug Fix: The Apple TV HD is based on the A8, which does not allow writes to r11g11b10.So we'll promote to 16F instead of losing precision.

  • 新規: モバイル レンダラ向けのすべてのライト タイプに対する SpecularScale サポートが追加されました。

  • 新規: 以前は、イメージ ベース ライティングでは IndirectIrradience と AverageBrightness に基づいた単純な計算を使用していましたが、これではモバイル プラットフォームでのレンダリングと PC でのレンダリングの間に顕著な違いが生じていました。今回のバージョンでは、モバイルと PC の両方で IBL の計算に同じ式が採用されました。

  • 新規: モバイルと PC 間で LightMapPolicyType の選択において可能な限り一貫性を保つようになりました。

  • 新規: モバイル専用のランドスケープ マテリアルについて、マテリアル エディタにより強力な検証と詳細なエラー情報が追加されました。

  • Deprecated: Mobile preview will now use Shader Model ES3.1 (instead of ES2, which is deprecated).

  • Deprecated: Shader Model ES 2.0 is now deprecated.Users should instead target Shader Model ES3.1.

最適化

  • Crash Fix: Fixed a possible crash that sometimes occurred in the GetWorldTime function of FLevelRenderAssetManager when the world scene is null.

  • Bug Fix: Eliminated most hitches from upload buffer allocations.

  • Bug Fix: ProfileGPU only prints events whose duration is greater than N percent of root, by default .05.Unreported events contribute toward Other Children time so their cost is not lost.

  • Bug Fix: Made sure that file cache async requests are destroyed before handle.

  • 新規: ProfileGPU トラックにより、ディスパッチとグループ カウントが計算されるようになりました。

  • 新規: PSO 作成のシリアル化が削除されました。これにより、空白のキャッシュ ケースにおけるヒッチング量が大幅に削減されます。

  • 新規: D3D11 および D3D12 ベンダー拡張機能 (NVAPI など) に対するサポートが実装されました。また、この変更によって NVAPI が最新バージョン (r430) に更新され、D3D シェーダ コンパイラで使用できるようになりました。

  • 新規: UnrealInsights が macOS でサポートされるモジュールとなりました。

    • LOGTRACE_ENABLED が *nix と macOS プラットフォーム上の非プログラム、非シッピング ビルド ターゲットに対して有効になりました。

    • UE_TRACE_ENABLED が macOS 上の非プログラム、非シッピング ビルド ターゲットに対して有効になりました。

    • CPUPROFILERTRACE_ENABLED が macOS 上の非プログラム、非シッピング ビルド ターゲットに対して有効になりました。

    • macOS 上でのワイド文字表現は 2 バイトでの表現に変換されました (iOS と同じ処理)。

  • 新規: BuildVertexBuffers に対する大幅な最適化 - 頂点ごとのループから ScaleMatrix を引き上げました。

  • 新規: Half-Res (半分の解像度) のシーン カラーが SSR として追加されました。これは r.SSR.HalfResSceneColor によって制御され、下位のスケーラビリティ設定でデフォルトで有効になります。ほぼ同じビジュアル品質を保ちながら、帯域幅がバインドされたシナリオでパフォーマンスが向上します。

  • 新規: CFLAG_Debug が r.Shader.Optimize=0 でグローバルに設定されている場合でも最適化を常に適用するシェーダ コンパイル フラグ (CFLAG_ForceOptimization) が新たに追加されました。このフラグは、非最適化時 (スクラッチの必要がある重度の漏れなど) に非常に遅くなったり、機能しなくなったりする複雑なシェーダで必要でした。また、このフラグは NVAPI などのベンダー拡張機能を使用するシェーダでも必要になります (ドライバ インジェクションには最適化されたシェーダが必要)。

  • Improvement: Implemented many updates in the shader cross compiler for Metal.

  • 新規: 多量の VRAM を装備したシステム上で PoolSizeVRAMPercentage を使用する際に過剰な空間が予約されることを回避するために、「r.Streaming.PoolSize.VRAMPercentageClamp」が追加されました。デフォルトは「1024 MB」です。

  • 新規: コンポーネント メモリ コストを軽減するために、RuntimeVirtualTextureMaterialType に uint8 が使用されるようになりました。

  • 新規: iOS 上でメモリなしとしてシーン深度テクスチャを強制適用するオプションが追加されました。Cvar を通じて制御されます。これは実装においては理想的な方法とは言えませんが、作成時に深度バッファの読み取りが必要になるかどうかを判断する直接的な方法は、少なくとも現時点ではありません。

  • 新規: アセット上でオプションをレンダリングする前に、ランタイム仮想テクスチャ ページがクリアされるようになりました。

Post-Processing

  • Bug Fix: Fixed PreExposure on post processing before tonemapping.

  • Bug Fix: Fixed a regression in the tonemapper sharpen operator

  • Bug Fix: Fixed TAA not getting enabled for planar reflections.

  • Bug Fix: Fixed post process materials scheduled after tone mapping to no longer render over editor primitives and selection outlines.

  • 新規: ポストプロセス パイプラインがレンダリング依存グラフ API を使用して書き直されました。

  • 新規: オンザフライのコンパイルが原因で生じるレイテンシーを回避するために、シェーダ複雑度ビューモード シェーダのキャッシュを可能にする「r.ShaderComplexity.CacheShaders」が追加されました。

ツール

  • Crash Fix: Fixed a crash when canceling import with a bad skeleton.

  • Crash Fix: Fixed ShaderCompileWorker from crashing when setting FORCE_USE_STATS.

  • Bug Fix: Reverted unique naming for a morph target change—it is a needed behavior to merge a morph target that has the same name.

  • Bug Fix: Fixed an issue in batch scripts where the directory to a batch script was not quoted, and would cause a problem when special characters were part of the path.

  • Bug Fix: Inherit handles when launching a game process, this continues to allow stdout and stdin to read as the child processes, will use the same handles for those streams.

  • Bug Fix: Fixed LODGroup change—avoid touching LOD 0 SectionInfoMap, and remove any entry for the other generated LODs.

  • Bug Fix: Made PanoramicCapture a developer module.

  • Bug Fix: Prevented HoloLens and Win32 from building when -set:HostPlatformOnly=true was specified on the command line for InstalledEngineBuild.xml.

  • Bug Fix: Fixed degenerated triangle that introduced NAN value into the normals when they are computed.

  • Bug Fix: Fixed an issue in Framepro's DynamicWString wrapper class where each time the assignment operator was called, it chopped off the string's last character.

  • Bug Fix: When changing the default resolution (Edit > Editor Preferences > Play > Common Solutions), landscape or portrait orientation was reverted to the original value for that default resolution (for example, landscape orientation for televisions, monitors, and laptops, and portrait for phones and tablets).This fix maintains the last orientation used, enabling users to change multiple times from different phones or tablets in landscape mode without having to manually reset the orientation.

  • Bug Fix: Fixed Widget Blueprint to switch landscape and portrait orientation bug by forcing televisions, monitors, and laptops to strictly exhibit landscape orientation; however, because televisions or monitors may require portrait orientation, the code was modified to present the same behavior over Edit > Editor Preferences > Play

  • Bug Fix: Fixed Widget Blueprint to switch landscape and portrait orientation.Bug exhibited when the orientation was clicked after opening the program, where the default values were being used before selecting the screen size, which made the screen disappear and show a new resolution of zero-by-zero.

  • Bug Fix: Added missing const keywords to some arguments in SDesignerView.h, SDesignerView.cpp, and LevelEditorPlaySettingsCustomization.h.

  • Bug Fix: Fixed an issue with the real-time GPU Profiler where event names were incorrectly tracked.

UI

  • Bug Fix: FFrameNumber customization was not displaying the property tooltip in the correct location.

  • Bug Fix: You can now always use Select All shortcut in EditableText.

  • Bug Fix: Fixed an issue where an added input processor would still be in the ProcessorsPendingRemoval array, and would get removed the next time a button was pressed even though it was added back to the InputPreProcessorList.So now any time we add to the InputPreProcessorList we remove that processor from the ProcessorsPendingRemoval array.

  • Bug Fix: Fixed an issue with how the UI safe zone is displayed for split screen.Now uses the Viewport rather than View[0] that was previously used.

  • Bug Fix: Fixed an issue with stale safe zone updates.When updates are made to the title safe zone, the UI is updated immediately to be inside the new safe zone.

  • 新規: FreeType が 2.10.0 にアップグレードされました。

  • 新規: HarfBuzz が 2.4.0 にアップグレードされました。

  • 新規:

    • スレートとキャンバスのビットマップ フォントに対して輪郭と色合いを無効にするためのサポートが追加されました。

    • RHI、D3D、OpenGL のフォント テクスチャ アトラスからグレースケール (8 ビット アルファのみ) とカラー (8 ビットのチャンネルごとの BGRA) フォント クワッドの両方をバッチ処理するためのサポートが追加されました。

  • 新規: グレースケール フォント アトラスとカラー フォント アトラスのサイズを次の通り別々に設定できるようになりました。

    • これにより、カラー アトラスのサイズが常にグレースケールの 1/4 になる環境を回避し、フォントに対する変更に一貫性を持たせることができます。

    • 古い FontAtlasSize 設定は非推奨となり、GrayscaleFontAtlasSize と ColorFontAtlasSize を使用することが推奨されます。

  • 新規: SetScrollOffset 関数が ListViewBase クラスに公開されました。

  • Improvement:

    • Added support for rendering TTF/OTF fonts containing bitmaps, including color fonts like Emojis.Bitmap fonts require FreeType 2.10, and support is compiled out if using an older version.

    • ApplySizeAndScale now computes the desired pixel size manually using our desired DPI rather than calling FT_Set_Char_Size.

      • This also includes the font scale, which avoids the call to FT_Set_Transform, and lets us remove some workarounds for inconsistent scaling from FreeType.

      • For scalable fonts, the desired pixel size is passed to FT_Set_Pixel_Sizes.

      • For bitmap fonts, the desired pixel size is used to find the most suitable strike size, set via FT_Select_Size, and the ratio needed to scale that strike to the desired size (see GetBitmapAtlasScale and GetBitmapRenderScale).

    • AppendGlyphFlags has been updated to load color data when available, and to only exclude bitmap data for fonts that also have scalable data.

    • FSlateFontRenderer::GetRenderDataInternal has been updated to handle color bitmap rendering (BGRA, sRGB) in addition to the existing grayscale rendering.

      • It will handle scaling down bitmap font strikes that are larger than the desired size, which saves space in the atlas (see GetBitMapAtlasScale).

      • It won't scale up any bitmaps, as that is handled by the transform applied when batching the glyph quads for rendering (see GetBitMapRenderScale).

  • Deprecated: SetText taking FString on STextBlock.

  • Removed: Removed unused data from FCharacterRenderData.

  • Removed: Removed legacy localized fonts:

スレート

  • Crash Fix: Fixed an editor crash that occurred when re-importing a font face over an existing asset for the same font face.Also fixed a related issue where the font face editor did not point to the new font face asset.

  • Bug Fix: Improved display scaling support during window creation and resize.

  • Bug Fix: Fixed an issue where OnUnhovered events were doubled when the mouse left a clicked button.

  • Bug Fix: After WidgetRenderer draws a widget, the widget's original parent is now reassigned.

  • Bug Fix: Fixed an issue where the user was getting stuck in an infinite loop if the next two entries in list view were not selectable or navigable.

  • Bug Fix: Fixed an issue with SScaleboxes not invalidating prepass when their scale was changed directly.

  • Bug Fix: Fixed an issue where invisible but keyboard-focusable widgets in a scroll box could block navigation.

  • Bug Fix: Fixed an issue where web browser UObject binding could cause a memory stomp when invoking UFunctions called by the web page.

  • Bug Fix: Removed the clearing of viewport focus for all users when the primary keyboard user focused something other than the viewport.Updated hard-coded checks to User 0 so so the user can fetch the keyboard user ID instead.

  • Bug Fix: Added a check for NullRHI before drawing canvas elements in Flush_GameThread.This guards against a crash occurring when using NullRHI in conjunction with "Constrain Aspect Ratio."

  • Bug Fix: Fixed a problem where font material was not applied correctly on rich text.This occurred because SlateTextRun reused a cached ShapedGlyphSequence with the wrong FontMaterial because the CachedShapedTextKey was ignoring it.

  • Bug Fix: Fixed an issue where spinbox min/max values on vector structs would not propagate to the nested individual member fields.

  • Bug Fix: Changing a Grid Panel layer at runtime now updates properly.

  • Bug Fix: Fixed an issue where slate combo buttons were not focusing the opened widget.Now allows search and keyboard navigation.

  • Bug Fix: Previously, strings with wildcard symbols were not matching properly (for example, "abcde" and "abc*de" would return False).

  • 新規: SWizard に BreadcrumbTrail が追加されました。これを表示するには ShowBreadcrumbs を「True」に設定します。SWizard では、OnGetNextPageIndex デリゲートを通じてより複雑な分岐ウィザードがサポートされるようになりました。

  • 新規: [Details (詳細)] ビューで設定可能なクラスを制限するために、TSubclassOf ウィジェットで AllowedClasses メタデータがサポートされるようになりました。

  • 新規: SDecoratedEnumCombo の方向を垂直に反転できるようになりました。

  • 新規: 入力プリプロセッサの処理中にこれらを削除するためのサポートが追加されました。

  • 新規: FindInputPreprocessor が SlateApplication に追加されました。

  • Improvement: Significantly reduced the memory footprint of accessibility data in SWidget.

  • Improvement: Added a small triangle icon close to each one of the main sections of the Editor Preferences menu, for collapsing or expanding them.

  • Removed:Removed SWizard's OnNextClicked and OnPrevClicked delegates since they were never called.

UMG

  • Crash Fix: Fixed a crash that occurred when placing a native UserWidget in a panel within another UserWidget.

  • Crash Fix: Fixed a crash that occurred when you delete the content in a named slot or drag it out of the named slot in the UMG Editor.

  • Crash Fix: Fixed a crash that occurred in the editor when you dragged a Widget outside of a Panel Widget in the hierarchy panel, then set a property on that dragged widget.

  • Bug Fix: Fixed a bug where checking "Override Accessible Defaults" would cause non-deterministic cook errors.Any widgets with this enabled would need to be resaved in order to cook properly.

  • Bug Fix: Fixed an issue where font materials were not being applied correctly on Rich Text Widgets.

  • Bug Fix: Fixed an issue where the mouse input for widget components was being offset.

  • Bug Fix: Fixed an issue where Widget::IsDesignTime() was returning False when called inside Initialize override.

  • Bug Fix: The Curve Editor tab now closes when there is no active animation.This eliminates the "unrecognized tab" error when opening UMG.

  • Bug Fix: Removed an ensure message in the Editor that can happen when you rename a NamedSlot.Changed UUserWidget::GetSlotNames to support non-Blueprint widgets.

  • Bug Fix: Now the Editor only assigns the widget component as a child of the game Viewport if it is not in some kind of Editor world.

  • Bug Fix: Correction for a bug that was introduced in 4.23, where ColorAndOpacity was applied to both the background and the content of a button instead of being applied to the content only.

  • Bug Fix: Fixed a double Selection Changed event in List View when the selection was changed by clicking on an item in the list.

  • Bug Fix: The Details View widget now properly filters out any unwanted property category (some categories, such as "Transform", were showing up no matter what the CategoriesToShow and PropertiesToShow filters were set to).

  • Bug Fix: The Margin and Padding properties in UMG now remains selected and keyboard focused after a value is committed.

  • Bug Fix: Focus navigation on widgets within a world-space widget component now works in a standalone build.

  • 新規: UMG アニメーションの状態の復元を許可するためのグローバル キャプチャのオプションが追加されました。

  • 新規: UMG_API が SafeZoneSlot に追加されました。

  • 新規: 発生し得るすべてのケースを処理するために、3 つのメソッド (SetNavigationRuleBase、SetNavigationRuleExplicit、SetNavigationRuleCustom、SetNavigationRuleCustomBoundary) が新たに追加されました。

  • 新規: IsOpen ブループリント関数が ComboBoxString ウィジェットに追加されました。

  • 新規: ヘルパー関数が UWidget:SetFocus に追加されました。これにより SetUserFocus(GetOwningPlayer()) が呼び出されます。

  • 新規: すべての UMG テキスト ウィジェットでテキストの行端揃えをランタイムで変更するためのサポートが追加されました。

  • 新規: 特定のスロット タイプにキャストするために、不足していた WidgetLayoutLibrary ヘルパーが追加されました。

  • 新規: 新しいウィジェット ブループリントを作成する際にルート ウィジェットを選択するためのダイアログが追加されました。これは [Project Settings (プロジェクト設定)] で有効にできます。

  • 新規: 含まれる仮想ユーザーのフォーカスを手動で設定するために、ウィジェット インタラクション コンポーネント上に SetFocus 関数が公開されました。

  • 新規: リスト ビュー オフセットの編集条件プロパティが公開されました。

  • Deprecated: Deprecated SetNavigationRule.

バーチャル プロダクション

  • Crash Fix: Fixed an assert/crash that occurred when trying to use the HAP video codec with DX12.

  • Crash Fix: Fixed a crash in Maya that occurred after unloading the LiveLink plugin.

  • Bug Fix: Removed a dependency to DisplayCluster GameMode and Pawns.

  • Bug Fix: Fixed the default interpolator so it is now applied to new LiveLink subjects.

  • Bug Fix: Added a Fix for Recorded Live Link Sections not showing all keys.

  • Bug Fix: Fixed the OCIO shader that was trashing the input alpha component.

  • Bug Fix: Fixed a redefinition of super in AnimNode_LiveLinkPose.

  • Bug Fix: Added an Exit VR button in VRScouting.Fixed a warning that occurred when VRScouting was launched.

  • Bug Fix: Virtual camera will now fetch the frame rate from the recorder cockpit.

  • Bug Fix: Fixed a threading issue with RemoveSession.Added an ImageSender to the ImageChannel to prevent multi-thread access.

  • Bug Fix: Fixed a shutdown LiveLink sources error when the engine closed.

  • Bug Fix: Moved Widget3DCameraPassThrough_Opaque_OneSided reference from the Engine to the Game folder.

  • Bug Fix: Fixed a black screen for simple projection policy and GameViewportClient class-check logic.Fixed an issue with DisplayClusterRootComponent hierarchy construction.

  • Bug Fix: LiveLinkRetargetAsset initialization code was moved out of AnyThread.Now LiveLinkReference is used to get a reference to LiveLinkClient, and creates a copy of that ptr for AnyThread since the ModularFeature is not thread safe.

  • Bug Fix: Fixed the LiveLink switch preprocessor.

  • Bug Fix: Fixed the LiveLink EvaluateFrame node to have cohesive behavior like other nodes.

  • Bug Fix: Fixed an incorrect background color in the LiveLinkClientPanel when docked.

  • Bug Fix: Now clears the LiveLink Subject List when exiting Maya.

  • Bug Fix: A fix was made for Message Bus Sources switching their order in the context menu of LiveLink.

  • Bug Fix:Now checks for an invalid value returned by the ARKit for Virtual Camera.

  • Bug Fix:Fixed a threading issue in RemoteSession.The input was delayed by one frame, which prevented the destruction of the input handler.

  • 新規: カスタム構造体および c_style 配列をサポートするために、LiveLink レコーディングが更新されました。

  • 新規: GPU 上のテクスチャ バッファの最大数を 4 から 8 に増やすことで、UMediaOutput::RequestCaptureSourceSize の使用に関する問題が修正されました。また、キャプチャの方法をカスタマイズする機能が追加されました。

  • 新規: Text3D プラグインが追加されました。

  • 新規: ソースのシャットダウンを回避可能なミューテックスがリリースされました。

  • 新規: LiveLinkLog が追加されました。

  • 新規: バーチャル プロダクションに適切なプラグイン、コンソール変数、プロジェクト設定を有効にすることで、Virtual Production Template によって従来よりも迅速にプロジェクトを立ち上げて開始できるようになります。このテンプレートを使用することで、バーチャル プロダクションのアーティストは VR スカウティング撮影および仮想カメラワークを実行し、ライブ コンポジットを設定して、複数の出力を処理する Ndisplay をクラスタ化することができます。次のプラグインが含まれています。

    • Livelink

    • Remote Session

    • Take Recorder

    • Virtual Camera

    • Virtual Production Utilities

    • Apple AR Kit

    • Apple AR FaceKit

    • Multi-User

    • Remote Control

    • Composure

    • Variant Manager

    • nDisplay

    • Media Framework Utilities

    • Media IO Framework

    • AJA and Blackmagic Media

    • Timecode Synchronizer

    • Pixel Streaming

    • Avid Media

    • Apple ProRes

    • Media

    • Hap Media

  • 新規: 遅延をタイムコード プロバイダおよびビデオ プレーヤーに追加する機能が加えられました。

  • 新規: バッファの追跡を支援するために次のログが追加されました。

    • ソース モード以外のモードで特定の時間のフレームを記録する。

    • フレーム時間がすでにバッファ内に存在する場合に記録する。

    • LiveLink ソース モードが最新のものである場合、バッファ内にフレームを 1 つだけ維持する。

    • ライブ リンク ソース設定のカスタマイザを追加する。

    • 新しいフレームを追加する際に、バッファ サイズの設定を考慮する。

  • 新規: GetTimecodeFrameRate() が TimeManagementBlueprintLibrary に追加されました。

  • 新規: MXF ビデオ ファイルのシーケンス エクスポートをサポートする DNxSDK が追加されました。

  • 新規: DNxUncompressed でエンコーディングされたフレームを含む MXF をエクスポートするオプションが追加されました。

  • 新規: ビューポートで接続の状態を示す LiveLink デバッグ HUD が追加されました。撮影中の現在の接続状態を確認する機能が提供されます。[Live Link] パネルに表示される各サブジェクトの現在の状態を追跡できます。

  • 新規: 30 秒間応答しない LiveLink MessageBus ソースは削除されるようになりました。

  • 新規: チャンネルリモートのを作成するための新しいファクトリ システムがリモート セッションに追加されました。これによって外部チャンネル ファクトリを追加する方法が導入されて、チャンネルが作成された際にユーザーに通知するコールバックが提供されます。ユーザーは通知を受け、品質やビューポートなどのカスタム パラメータを必要に応じて設定することができます。

    • RemoteSessionFrameBufferChannel が 1 つのチャンネルと ImageProvider に分割されました。ImageProvider は、チャンネルによってクライアントに送信される生バッファを作成する役割を担っています。

    • 古いバージョンのアプリで新しいチャンネルを開くようにするために、ChannelRedirector が追加されました。

  • 新規: リモート セッションでタッチ メッセージをウィジェットに直接ルーティングできるようになりました。

  • 新規: (RemoteSession を通じて) UMG を iPad にストリーミングするためのパネルが追加されました。マップの変更時、UMG のコンパイル時または削除時にストリーミングが行われます。

  • Deprecated: FRemoteSessionFrameBufferChannel is deprecated.Use FRemoteSessionImageChannel and select how the image should be captured.

  • API Change: Deprecated ILiveLinkSource::GetCustomSettingsClass.Now uses a GetSettingsClass that returns a TSubClass.

XR

  • Bug Fix: Fixed an issue where the XR tracking system was calling OnBeginPlay twice—once near the beginning of PlayInEditor, then again in CreatePIEGameInstance.The PlayInEditor call was removed, leaving the CreatePIEGameInstance as the single call for OnBeginPlay.

  • Bug Fix: Fixed an issue where the VRPreview window only showed half of the headset view on Hololens 2, SteamVR, and WindowsMixedReality platforms.

  • 新規: OpenXR プラグインに対する非表示領域のメッシュのサポートが実装されました。

  • 新規: 空白のテクスチャを作成して、現在のエイリアス API を使ってそれを破棄するのではなく、エイリアス化されたテクスチャをソース テクスチャから直接作成する API を提供することで、スワップ チェーン テクスチャ エイリアス パターンが向上しました。この実装は D3D11、D3D12、Vulkan、OpenGL 向けです。デフォルトのメソッドでは、このメソッドをサポートしない RHI 上でアサートします (RHI 検証が RHIAliasTextureResources に追加されました)。

  • 新規: 現在に至るまでのプラミング深度や深度スワップ チェーンの管理などを含む、OpenXR プラグインに対する高度なサポートが追加されました。

  • Improvement: Set up the spectator screen for WMR and Hololens 2 remoting, which makes the various spectator screen modes available.

  • Deprecated: MotionController keys are now deprecated and have been replaced by keys specific to each controller model.

AR

  • Bug Fix: Fixed deferred decals corruption when using the mobile renderer on Magic Leap.

  • 新規: Hololens 2 に SetFocusPointForFrame ブループリント関数が追加されました。

  • 新規: Hololens 2 アンカーにより、アンカー ストアからのロード時にトランスフォームと追跡状態が即座に更新されます。更新によってトランスフォームが取得されるか、追跡状態が NotTracked に設定されます。ユーザーはトランスフォームを使用するか、これが使用不可能なことを知ることができます。

  • Improvement: We now enable MRMesh to be used as a depth-only mesh, so it can be used more efficiently for occlusion.

VR

  • Crash Fix: Added a possible fix and additional logging for a crash seen in FSteamVRModel.

  • Bug Fix: Fixed excess logging from OculusHMD_Splash.

  • Bug Fix: The Vulkan Shader Compiler no longer strips multiview shader permutations.

  • Bug Fix: Enabled dynamic shadows with multiview on mobile.We split the DirectionalLightScreenToShadow's view dependent part into ViewUniformShaderParameters.MobileMultiviewShadowTransform, enabling multiview to work correctly.

  • Bug Fix: Fixed late update threading sync issues.

  • Bug Fix: Fixed Oculus controllers not appearing in the editor while in VRMode.

  • Bug Fix: Fixed a mirror window sizing logic bug introduced by a platform-specific fix.

  • Bug Fix: Fixed a crash on VR-preview exit for D3D12/Vulkan RHIs in Oculus plugin.

  • Bug Fix: Fixed lighting/volume fog rendering incorrectly with stereo-instancing enabled by ensuring the correct fog volume texture is referenced when sampling fog.

  • Bug Fix: Fixed dynamic decals rendering multiple times in left eye (this shader does not support instanced stereo, so disabled instancing in this case).

  • Bug Fix: Fixed Vulkan queries to allow accurate timers and GPU stats on mobile.

  • Bug Fix: Fixed an MSAA-count discrepancy when running with HMD-allocated depth targets (should allow render-target pool to allocate the MSAA depth in this case).Fix was to only defer texture creation in the render target pool when the HMD supplies depth and there's no MSAA.

  • 新規: Oculus Quest 向けの Vulkan FFR (Fixed Foveated Rendering: 固定中心窩レンダリング) が追加されました。FFR ではハードウェア サポートを利用して、アイ レンダリング ターゲットのエッジ部分を中央部分より低い解像度でレンダリングすることを許可します。これにより、ビジュアルへの影響を最小限にとどめながら、パフォーマンスを大幅に向上することができます。光学的な歪みとは画像のエッジ部分の可視性が損なわれることを意味するため、この方法はうまく機能します。

  • 新規: SteamVR にコンポジタへの深度のパススルーに対するサポートが追加されました。

  • 新規: D3D12 で SteamVR に対するサポートを提供する SteamVR プラグイン (スレッドの安全性に対するサポートを含む) に、D3D12 の完全パスが追加されました。

  • 新規: OpenXR プラグイン スワップ チェーンの使用を新しい XRSwapChain クラスに移動しました。

  • Improvement: Simplified handling of loading external asset resources in SteamVR.

  • Improvement: Quest is selected by default when adding a new Oculus target device.

  • Improvement: Integrated the SteamVR Input marketplace plugin into the SteamVR plugin.

  • Deprecated: Support for Google VR is deprecated in UE 4.24.

  • Deprecated: Support for Samsung Gear VR is deprecated in UE 4.24.

アップグレード ノート

アニメーション

  • Control RigUnit has been deprecated.Controls should now be added in the Rig Hierarchy.Use the Detail panel to pick different meshes or options.You can create hierarchies with Controls to provide different spaces.

  • Custom anim nodes that implement OnInitializeAnimInstance now need to return true for the new accessor NeedsOnInitializeAnimInstance that is called at init time.

  • The meaning of HasPreUpdate and NeedsDynamicReset has changed slightly.Previously these were called at init time, so if their results were mutable, it was possible to re-init an anim instance with new settings.Now that these functions are called at CDO load time, it is no longer possible to re-init their results.

コア

  • Unless PPF_UseDeprecatedProperties or PPF_ParsingDefaultProperties has been specified in the port flags, deprecated properties no longer return true from ShouldPort.

  • To reduce multithreaded contention, we have enabled hashing before acquiring a lock that guards a hash table in order.It can also be used for heterogeneous lookup, which avoids the construction of an expensive key type to perform a lookup.

  • FMatrix::ApplyScale is now const.

Cooker

  • UObject::Modify overrides now must be marked as WITH_EDITOR.

ブループリント

  • UK2Nodes that previously implemented the function ERenamePinResult RenameUserDefinedPinImpl should now override RenameUserDefinedPinImpl (which has the same signature) instead.

DevTools

UnrealBuildTool

  • Targets and modules now contain a property called DefaultBuildSettings, which determines which build settings they should use by default.This allows us to change the default C++ compile settings and provide an upgrade path without breaking backwards compatibility.A notice will appear explaining the updated settings when compiling.

    • Engine targets and modules use BuildSettingsVersion.Latest by default.

    • Project targets and modules use BuildSettingsVersion.V1 by default.New projects use the appropriate version number for the current engine version.

  • API Change: We now use fully qualified paths to libraries (.lib) that have been synced in Perforce.

エディタ

ランドスケープ

  • The material type "Base Color + Normal" has been deprecated.Any runtime virtual texture assets that used it will be migrated to use "Base Color + Normal + Specular" material type.

Multi-User

  • Developers must move the [/Script/ConcertSyncCore.ConcertSyncConfig] section in DefaultEngine.ini to DefaultConcertSyncCore.ini in order to preserve any values they've created or changed in their project's Multi-User Transactions settings.

VR Editor(VR エディタ)

  • Fixed a typo replacing enum EConcertSeverFlags as EConcertServerFlags.Be sure to update your code accordingly.

Online

  • The VoiceChat.h header declaring the IVoiceChat interface has moved from VivoxVoiceChat to Engine/Source/Runtime/Online/Voice/Public/Interfaces/VoiceChat.h.

  • If you have a custom IOnlineFriends implementation, you will need to implement SetFriendAlias.If you do not have a backing storage for the alias, you can trigger the completion delegate on the next tick with FOnlineError(EOnlineErrorResult::NotImplemented) as the result.

Gameplay Framework

  • The AActor::GetComponents API has been cleaned up.GetComponentsByClass has been deprecated, but K2_GetComponentsByClass has been created to preserve Blueprint functionality.C++ programmers should use the new non-templated GetComponents function, which takes a UActorComponent subclass and populates a passed-in array with UActorComponents of that subclass.

物理

  • FCollisionResponseTemplate::HelpMessage is now WITH_EDITOR.

プラットフォーム

  • Xcode 11 or higher is required to compile projects for macOS, iOS, or tvOS using an installed binary build (from the Epic Games Launcher).Binary builds will fail to compile projects targeting any of those platforms when using Xcode 10.

iOS

  • The Maximum Metal Target Version is now 2.0, which is supported by all iOS 11 devices.Existing projects can continue to use Metal version 1.2, but you must manually set this in your Project Settings or your project will automatically default to version 2.0.

Switch

  • The highest supported Switch SDK is now 9.3.0, and minimum supported SDK version is 8.3.0.Supported NEX version remains at 4.6.3.

レンダリング

  • RHISupportsDrawIndirect is no longer supported, as it had some false negatives.Replace this call by checking if the feature level is equal or greater to SM5.

FX

  • The hardcoded default mesh reference for FX in cooked builds has been removed.FX that were using this default mesh for spawning will now need to link to an actual skeletal mesh in the scene.

マテリアル

  • Virtual texture size is now determined by TileCount instead of directly by Size.Old Runtime Virtual Texture assets will be updated so that the final virtual resolution is preserved.

シェーダ

  • Due to shader resource loading optimizations, shader resource lifetimes are now managed by thread-safe reference counting.FShaderResource objects have undergone some changes:

    • Create FShaderResource objects with FShaderResource::FindOrCreate instead of FShaderResource::FindOrCreateShaderResource.These objects will also need to be created as TRefCountPtr instead of FShaderResource*.

    • To find a shader by its ID, call FShaderResource::FindById instead of FShaderResource::FindShaderResourceById.

ツール

  • Moved LODUtilities API to a new module.This will require updates to the build.cs file for any project using LODUtilities.

XR

VR

  • A new cross platform API for showing VR Loading Screens has been added.This makes it easier to show loading screens on multiple VR platforms.Although the platform-specific interfaces are still available, new projects should use the Loading Screen functions.

  • IStereoLayer::Show/HideSplashScreen() and related methods have been deprecated.Please update your code to use the IXRLoadingScreen interface instead.

  • IStereoLayers created by UStereoLayerComponent will now retain their IDs after being made invisible and visible again.In the unlikely case of C++ code that relies on the layer IDs changing, that code will have to be updated.

  • Projects using the SteamVR Input plugin should disable it to avoid conflicts with the integrated SteamVR plugin.

既知の問題

For a complete listing of known issues affecting Unreal Engine 4.24, please see the Unreal Engine Public Issue Tracker .

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback