hc4ue - Health Checker

Health Checker


Health Checker is a diagnostic tool that analyzes the currently open map and automatically detects factors that may lead to performance degradation or quality issues.
It primarily targets the following elements, focusing on areas that commonly cause problems.
The analysis results are presented as scores and graphs, allowing you to intuitively identify potential issues.

Note: Health Checker does not modify your project automatically — it is strictly a diagnostic tool.


How to Run a Check

  1. Install the plugin.

  2. Enable Health Checker in your project and restart the editor.

  3. Open the map you want to analyze.

  4. Click the heart icon added to the Play toolbar and select “Health Checker.”

  5. Reports will be generated in HTML, MapCheck, and Log formats.


How to Review Results

  • Start by checking the HTML report to get an overview of the map’s issues.

  • Once you identify the areas to fix, review the details in MapCheck or the Output Log.

    • The details of the warnings are also output to the log.

Tips

Too many items make it hard to see elements clearly
Zoom in on the HTML report.
You can also limit the number of displayed elements, but note that the oldest entries are trimmed first.

Graphs with few elements appear too narrow
Click on the graph elements to toggle them on or off.
Hide those with the largest share to improve readability.

Cannot copy error messages from MapCheck
Use Ctrl+C to copy text.
Since MapCheck doesn’t support search, use the Output Log instead when searching.

Cannot jump to actors in MapCheck
In Health Checker Settings, disable Unload Levels After Check to keep loaded actors in the level after the check.
However, note that saving the level in this state may alter level visualization settings, so use it with caution.


Plugin Usage

Although distributed as an engine plugin, Health Checker can also function as a game plugin.


Blueprint Usage

You can also execute Health Checker from Blueprints using:
UHealthCheckerEditorSubsystem::RunHealthChecker()


About the Details Link

By default, detailed links use Google’s search AI.
The search address is stored in HealthChecker/Resources/DocumentURL.txt.
If you prefer to switch to another AI or search engine, replace the URL in this file.


Settings Overview

Unload Levels After Check
When disabled, actors loaded during the check are not destroyed afterward.
If this option is not enabled, component links will not function correctly, making investigation difficult.
Be aware that saving the level with this setting enabled may alter its initial state, so the default is OFF.
Even if saved accidentally, it only affects editor-level visualization and does not impact runtime behavior.

Ignore Editor Only Actors and Components
Ignore EditorOnly actors and components. Enabled by default.

Post to Map Check
Controls whether results are posted to MapCheck.

Post to Log
Controls whether results are posted to the Output Log.

Open Report when Finished
Automatically opens the HTML report after the check is completed.

Open MapCheck when Finished
Automatically opens MapCheck after the check is completed.

Use UserName in Report
Includes the PC name and user name in the report.
Useful for team sharing or automated workflows.

Add Engine Version to Search Hints
Adds the engine version to the search query when opening detailed links.
This helps retrieve version-specific information but may increase the likelihood of AI hallucinations, so adjust depending on your environment.

Report Actor Categories
Reports are categorized by actor type.
You can disable unnecessary categories to make the report easier to read.


Planned Future Updates

Future updates will extend Health Checker to include runtime performance diagnostics.

  • Health checks during runtime (PIE)

  • URO (Update Rate Optimization) analysis

  • SignificanceManager efficiency evaluation

  • Culling load detection

  • Raycast usage analysis

  • LumenCard rendering load analysis

  • Chaos physics performance diagnostics

  • Niagara effect performance analysis

1 Like

Health Checker


Health Checker は、現在開いているマップを解析し、パフォーマンスの低下や品質劣化につながる要因を自動検出する診断ツールです。
チェック対象は以下の要素で、主に問題が発生しやすい部分を対象としています。
解析結果はスコアおよびグラフ形式で提示され、問題点を直感的に把握できます。

※ Health Checker はプロジェクトを自動修正する機能を持たない、「診断」専用ツールです。


診断の実行手順

  1. プラグインをインストールします。

  2. Health Checker を有効化してエディターを再起動します。

  3. 診断したいマップを開きます。

  4. プレイツールバーに追加されるハート型アイコンをクリックし、「Health Checker」を実行します。

  5. HTML、MapCheck、及びログにレポートが出力されます。


診断結果の確認方法

  • まず HTML レポートを確認し、マップ全体の問題点を俯瞰します。

  • 修正したい項目が見つかったら、MapCheck およびログで詳細を確認します。

    • 警告の詳細はログにも出力されています。

Tips

項目が多すぎて要素が見えません
HTML を拡大表示してください。
また、表示する要素数を絞ることも可能ですが、先頭から順に削除されるためご注意ください。

要素数が少ないグラフの幅が狭くて読みにくい
グラフ内の要素をクリックすることで ON / OFF を切り替えられます。
占有率の高い要素を非表示にすることで見やすくできます。

MapCheck のエラー内容がコピーできません
Ctrl+C でコピーが可能です。
検索機能はないため、検索したい場合は出力ログを使用してください。

MapCheck のアクターにジャンプできません
Health Checker Settings の「Unload Levels After Check」を OFF に設定することで、
ヘルスチェック後もアクターを残したままにできます。
ただし、その状態でレベルを保存すると可視化情報などが変わってしまう可能性があるためご注意ください。


プラグインの運用方法

配布形式はエンジンプラグインですが、ゲームプラグインとしても動作します。


Blueprint での使用について

UHealthCheckerEditorSubsystem::RunHealthChecker() を使用することで、
Blueprint からも実行可能です。


詳細リンクについて

デフォルトの詳細リンクには Google の検索 AI を使用しています。
HealthChecker/Resources/DocumentURL.txt に検索アドレスが登録されているため、別の AI に切り替えたい場合はこのファイルを書き換えてください。


設定項目の詳細

Unload Levels After Check
OFF にすると、チェッカー実行後にロードしたアクターを破棄せず保持します。
この設定を有効化しない場合、コンポーネントへのリンクが無効になり調査が難しくなります。
ただし、ON のまま保存するとレベルの初期状態が変更されるため、デフォルトは OFF となっています。
もし変更された状態で保存しても、エディター上の初期設定が変わるだけで、ランタイム動作には影響しません。

Ignore Editor Only Actors and Components
EditorOnlyのアクターとコンポーネントをチェックから除外します。デフォルトで有効になっています。

Post to Map Check
MapCheck への出力を制御します。

Post to Log
ログへの出力を制御します。

Open Report when Finished
診断完了後に HTML レポートを自動で開きます。

Open MapCheck when Finished
診断完了後に MapCheck を自動で開きます。

Use UserName in Report
レポートに PC 名およびユーザー名を記載します。
チーム共有や自動化環境での識別に利用できます。

Add Engine Version to Search Hints
詳細リンクの検索キーワードにエンジンバージョンを含めます。
バージョン差による情報を取得しやすくなりますが、ハルシネーションを引き起こす場合があるため、環境に応じて ON / OFF を設定してください。

Report Actor Categories
レポートはカテゴリごとに分類されたアクター単位で生成されます。
不要なカテゴリがある場合は OFF にすることで、レポートの見やすさを調整できます。


今後の対応予定

将来的には、実行時のパフォーマンス要素も解析対象に拡張する予定です。

  • ランタイム(PIE)でのヘルスチェック

  • URO (Update Rate Optimization) 分析

  • SignificanceManager の効率評価

  • カリング処理の負荷検出

  • Raycast 利用状況の解析

  • LumenCard のレンダリング負荷解析

  • Chaos 物理シミュレーションのパフォーマンス診断

  • Niagara エフェクトのパフォーマンス解析

2 Likes