Skip to content

feat: improve Unreal Insights live analysis#244

Open
AiMiDi wants to merge 1 commit intoHKUDS:mainfrom
AiMiDi:codex/unrealinsights-agent-harness
Open

feat: improve Unreal Insights live analysis#244
AiMiDi wants to merge 1 commit intoHKUDS:mainfrom
AiMiDi:codex/unrealinsights-agent-harness

Conversation

@AiMiDi
Copy link
Copy Markdown
Contributor

@AiMiDi AiMiDi commented Apr 24, 2026

Description

Improve the existing Unreal Insights harness while keeping the harness/package version at v1 (0.1.0).

This adds Trace Store discovery, live UE process helpers with a pluggable command backend, GUI open/status helpers that keep Unreal Insights running, and analyze summary for timing/counter exports. It also fixes UnrealInsights exporter filter quoting so wildcard filters such as --timers=* and --counter=* are passed as usable FParse::Token values instead of escaped literals.

Fixes N/A

Type of Change

  • New Feature - adds new functionality to an existing harness or the plugin
  • Bug Fix - fixes incorrect behavior
  • Documentation - updates docs only

For Existing CLI Modifications

  • All unit tests pass: python -m pytest cli_anything/unrealinsights/tests/test_core.py -q
  • All E2E tests pass: python -m pytest cli_anything/unrealinsights/tests/test_full_e2e.py -q -s -rs --tb=short
  • No test regressions - no previously passing tests were removed or weakened
  • registry.json entry is updated if version, description, or requirements changed (not changed; version remains 0.1.0 / v1 by intent)

General Checklist

  • Code follows existing patterns and conventions
  • --json flag is supported on any new commands
  • Commit messages follow the conventional format (feat:, fix:, docs:, test:)
  • I have tested my changes locally

Test Results

Local environment:

  • Windows
  • Unreal Insights: D:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64\UnrealInsights.exe, version 5.5.4
  • Unreal Trace Server: D:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64\UnrealTraceServer.exe, version 5.5
  • Real sample trace auto-discovered from UE install: example_trace.decomp.utrace
  • UNREALINSIGHTS_TEST_TARGET_EXE was not set, so real capture-launch E2E remains skipped

Commands run:

python -m pip install -e .
python .github\scripts\validate_root_skills.py
Root skills validation passed.

git diff --check HEAD~1..HEAD
# no output

cli-anything-unrealinsights --json backend info
# resolved local UE 5.5 UnrealInsights.exe and UnrealTraceServer.exe

python -m pytest cli_anything/unrealinsights/tests/test_core.py -q
......................................................................   [100%]
70 passed in 0.58s

python -m pytest cli_anything/unrealinsights/tests/test_full_e2e.py -q -s -rs --tb=short
[_resolve_cli] Using installed command: C:\Users\aimidi\AppData\Local\Programs\Python\Python311\Scripts\cli-anything-unrealinsights.EXE
[_resolve_cli] Using installed command: C:\Users\aimidi\AppData\Local\Programs\Python\Python311\Scripts\cli-anything-unrealinsights.EXE
[_resolve_cli] Using installed command: C:\Users\aimidi\AppData\Local\Programs\Python\Python311\Scripts\cli-anything-unrealinsights.EXE
..............s
=========================== short test summary info ===========================
SKIPPED [1] cli_anything\unrealinsights\tests\test_full_e2e.py:236: UNREALINSIGHTS_TEST_TARGET_EXE not set or missing
14 passed, 1 skipped in 80.60s (0:01:20)

Skip note: the single skipped test is the env-gated capture-launch test requiring a user supplied UE/game executable. The real exporter/analyze sample trace tests pass locally, including timing-events, timer-stats, timer-callees, and counter-values.

@AiMiDi AiMiDi marked this pull request as ready for review April 24, 2026 09:41
@AiMiDi AiMiDi changed the title [codex] improve Unreal Insights live analysis feat: improve Unreal Insights live analysis Apr 24, 2026
@yuh-yang
Copy link
Copy Markdown
Collaborator

Thanks for the Unreal Insights work. I did not find a hard blocker in the code review, but I would adjust live.list_unreal_processes() so include_tools=True does not drop Unreal-related processes whose role is still unknown; discovery is more useful if those are visible with role: "unknown".

The remaining review risk is real-tool behavior with UNREALINSIGHTS_LIVE_EXEC, TraceServer, and live UE processes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants