pie-testing

Start, stop, and query Play-In-Editor sessions to validate runtime gameplay behavior in Unreal Engine.

648|142|Updated Sep 12, 2025
One-click install
npx skills add https://github.com/kevinpbuckley/VibeUE --skill pie-testing
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pie-testing
Source: https://github.com/kevinpbuckley/VibeUE/tree/main/Content/Skills/pie-testing
Command: npx skills add https://github.com/kevinpbuckley/VibeUE --skill pie-testing

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Runtime behavior in Unreal Engine — Blueprint logic, AI ticking, animation, input, and widget interaction — cannot be verified by static inspection alone. This Skill controls Play-In-Editor (PIE) sessions so changes can be validated against a live game world instead of shipping unverified fixes.

Core Features & Use Cases

  • PIE Session Control: Start, stop, and query PIE state through Unreal 5.8's native EditorAppToolset, with guidance on asynchronous startup and clean teardown.
  • Scenario-Based Test Loops: Run repeatable multi-step verification via WorkflowService.run_scenario with preflight compilation, input injection, log assertions, and screenshot capture.
  • Runtime Input & Inspection: Inject Enhanced Input actions and raw keys without OS window focus, spawn and inspect live UMG widget instances, capture the PIE viewport including HUD, and disable background throttling for full-rate unfocused runs.
  • Use Case: After editing a weapon Blueprint, compile it, start PIE, inject the fire input action, assert the expected log output, capture a screenshot of the result, and stop PIE — all without touching the editor window.

Quick Start

Ask the AI to start a PIE session, run your gameplay scenario, and confirm the expected behavior occurs before stopping the session.

Frequently Asked Questions about pie-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I start and stop Play-In-Editor from an AI agent or script?

Call the engine's EditorToolset.EditorAppToolset via call_tool with the StartPIE, StopPIE, or IsPIERunning actions. StartPIE is asynchronous, so poll IsPIERunning before acting inside the running world, and always stop PIE before making further edits.

How do I simulate player input in Unreal Engine PIE without window focus?

Use InputService.inject_action to fire an Enhanced Input action by asset path, or InputService.inject_key to send a raw key through Slate. Neither requires OS window focus or keystroke simulation, and both return JSON with success and error codes.

Why does my Unreal editor crash when PIE ends?

Python globals from execute_python_code persist between calls and act as GC roots. If they still reference PIE objects when the session tears down, the engine asserts and crashes. Delete or set such variables to None before stopping PIE.

Can I test UMG widgets inside a running PIE session?

Yes. WidgetService.spawn_widget_in_pie creates a live widget instance in the running viewport, get_live_property reads values off it, and remove_widget_from_pie tears it down before stopping the session.

When should I avoid using PIE for verification?

Skip PIE for pure asset or editor validation such as compiling Blueprints, finding assets, or inspecting graph nodes. PIE is slow and only justified when you need a live world to confirm genuine runtime behavior.