Instant Connection for Pixel Streaming

— New Feature Automated Setup

Game Development

·

Guide

How to Build and Stream Unreal Apps With Claude Code

·

·

16 min read

Learn how to use Claude Code to inspect, build, test, and package an Unreal Engine app, then stream it through a browser with Vagon Streams.

On this page

Claude Code can inspect an Unreal Engine project, edit approved C++ and configuration files, run build commands, and help diagnose real compiler errors. It cannot independently verify Blueprint behavior, visual results, packaged application behavior, or browser streaming, so each of those requires a separate Unreal Engine or human-controlled validation step.

The practical workflow is straightforward: protect the original project, let Claude Code inspect it before editing, implement one small feature at a time, compile and test inside Unreal Editor, package a complete Windows application, launch it locally, then deliver the verified build through Vagon Streams.

This guide uses a compact 3D showroom as the example. The application has an orbit camera, one selectable product, a material-change interaction, and a reset action. The same workflow can be adapted to an architectural walkthrough, product configurator, simulation, or game demo.

Can Claude Code Actually Build an Unreal Engine App?

Claude Code is an external coding agent, not a native Unreal Engine feature. When launched inside a project directory, it can read the codebase, propose edits, modify approved files, and run permitted terminal commands.

According to the official Claude Code permission documentation, its access can be controlled with allow, ask, and deny rules. Plan mode lets Claude inspect a project and propose an approach without editing source files. This is the right place to begin with an Unreal project.

Claude Code is most useful with Unreal’s text-based project content:

  • C++ headers and source files

  • Module definitions in .Build.cs

  • Target definitions in .Target.cs

  • Selected .ini configuration files

  • Structured .uproject and .uplugin files

  • Build scripts, tests, and project documentation

Changes to .uproject, .uplugin, module definitions, and configuration files can affect the entire project, so being text-based does not make them low-risk.

The boundary becomes clearer inside the Content directory. Unreal assets are stored as .uasset files, which Epic describes as a format specific to Unreal Engine. Blueprint graphs, materials, maps, meshes, and other Editor-managed assets should not be treated as ordinary files that Claude Code can safely rewrite.

Epic provides a dedicated Unreal Diff Tool for comparing supported assets and Blueprints because a normal text diff is not suitable for them. Claude Code can explain a Blueprint change or identify the C++ side of a broken reference, but the actual asset still needs to be opened, connected, and inspected through Unreal-aware tools.

A safe first request therefore asks Claude Code to inventory the project without changing it:

Inspect this Unreal Engine project without modifying any files.

Permitted scope:
- [PROJECT_ROOT]/Source/
- [PROJECT_ROOT]/Config/
- [PROJECT_ROOT]/Plugins/[APPROVED_PLUGIN]/
- [PROJECT_ROOT]/[PROJECT_NAME].uproject

Do not inspect or modify unrelated directories.
Do not modify Content/*.uasset or Content/*

Inspect this Unreal Engine project without modifying any files.

Permitted scope:
- [PROJECT_ROOT]/Source/
- [PROJECT_ROOT]/Config/
- [PROJECT_ROOT]/Plugins/[APPROVED_PLUGIN]/
- [PROJECT_ROOT]/[PROJECT_NAME].uproject

Do not inspect or modify unrelated directories.
Do not modify Content/*.uasset or Content/*

Inspect this Unreal Engine project without modifying any files.

Permitted scope:
- [PROJECT_ROOT]/Source/
- [PROJECT_ROOT]/Config/
- [PROJECT_ROOT]/Plugins/[APPROVED_PLUGIN]/
- [PROJECT_ROOT]/[PROJECT_NAME].uproject

Do not inspect or modify unrelated directories.
Do not modify Content/*.uasset or Content/*

This gives you a project map before Claude Code has permission to alter anything. If you are still comparing coding agents, Vagon’s guide to the best AI assistants for Unreal Engine explains where Claude Code fits among the available options.

A six-stage workflow moves an Unreal Engine showroom through project inspection, implementation, validation, packaging, and browser streaming.

What Should You Prepare Before Claude Code Changes the Project?

Begin with a small application contract. “Improve this showroom” is too broad because neither the intended behavior nor the acceptance criteria are measurable.

A better contract would be:

  • Preserve the existing showroom and camera

  • Add one approved product-selection interaction

  • Switch between a fixed set of existing materials

  • Add a reset action that restores the original material

  • Preserve unrelated actors, assets, and input mappings

  • Compile against the project’s current Unreal Engine version

  • Work in Unreal Editor and the packaged Windows build

  • Remain controllable through the final browser stream

Next, document the environment Claude Code will work with:

  • Exact Unreal Engine version

  • Blueprint-only, C++, or hybrid project

  • Compiler and IDE

  • Windows SDK

  • Project modules

  • Enabled plugins

  • Input system

  • Startup map

  • Packaging target

  • Intended streaming protocol

Toolchain requirements vary between Unreal versions. For example, Epic’s current Unreal Engine 5.8 Visual Studio compatibility table lists Visual Studio 2022 version 17.14 or later as supported and Visual Studio 2026 version 18.0 or later as the general recommendation. Always use the documentation for your actual engine version.

Create a recoverable checkpoint before granting write access. This can be a clean Git commit, a Perforce changelist, or a duplicate project. Epic recommends version control for both assets and code because it provides history and a path back when a change causes problems.

Claude Code should initially run from the intended project root with narrowly defined permissions. Protect unrelated plugins, Content assets, build output, source-control operations, and destructive shell commands. Anthropic’s Claude Code security guidance makes clear that the user remains responsible for reviewing proposed commands and changes.

Use a second report-only prompt to verify the environment:

Review the development environment for this Unreal Engine project.

You may inspect:
- [PROJECT_ROOT]
- [UNREAL_ENGINE_ROOT]

Review the development environment for this Unreal Engine project.

You may inspect:
- [PROJECT_ROOT]
- [UNREAL_ENGINE_ROOT]

Review the development environment for this Unreal Engine project.

You may inspect:
- [PROJECT_ROOT]
- [UNREAL_ENGINE_ROOT]

Once the inventory and toolchain report agree with the project’s real state, ask for an implementation plan:

Create a staged implementation plan for the approved showroom interaction.

You may inspect [APPROVED_SOURCE_AND_CONFIG_PATHS].
Do not edit any files.
Do not modify Blueprint assets, maps, plugins, or packaging settings.
Preserve all unrelated project content.

The feature must:
- Change one approved product material
- Use only approved material references
- Provide a deterministic reset
- Compile against [UNREAL_VERSION]

Create a staged implementation plan for the approved showroom interaction.

You may inspect [APPROVED_SOURCE_AND_CONFIG_PATHS].
Do not edit any files.
Do not modify Blueprint assets, maps, plugins, or packaging settings.
Preserve all unrelated project content.

The feature must:
- Change one approved product material
- Use only approved material references
- Provide a deterministic reset
- Compile against [UNREAL_VERSION]

Create a staged implementation plan for the approved showroom interaction.

You may inspect [APPROVED_SOURCE_AND_CONFIG_PATHS].
Do not edit any files.
Do not modify Blueprint assets, maps, plugins, or packaging settings.
Preserve all unrelated project content.

The feature must:
- Change one approved product material
- Use only approved material references
- Provide a deterministic reset
- Compile against [UNREAL_VERSION]

The point is not to remove the developer from the process. It is to make Claude Code’s next action predictable and reviewable.

An Unreal Engine project separates editable source files from protected Blueprint and asset files behind a developer-controlled access gate.

How Do You Implement the Feature in Controlled Stages?

Do not ask Claude Code to create the interaction, repair every warning, configure packaging, enable streaming, and optimize the project in one request. A broad task makes it harder to determine which change caused a failure.

Break the showroom interaction into separate checkpoints.

First, define the state model. Decide which product can be selected, which materials are allowed, what the original state is, and what reset must restore.

Second, implement the smallest C++ layer needed to expose that behavior. Follow the project’s existing Unreal naming, reflection, and module conventions rather than introducing an unrelated architecture.

Third, compile the code before connecting assets. This catches problems with headers, Unreal macros, module dependencies, class declarations, and API usage while the change is still narrow.

Fourth, connect the approved materials and product references inside Unreal Editor. Claude Code can tell you which properties or component relationships are expected, but a human should verify the actual Blueprint, actor, component, and asset assignments.

Fifth, connect the interaction to the existing input flow and test reset independently.

A tightly scoped implementation prompt could look like this:

Implement only the approved C++ portion of the showroom material interaction.

Permitted edits:
- [EXACT_HEADER_FILES]
- [EXACT_SOURCE_FILES]
- [EXACT_BUILD_FILE_IF_REQUIRED]

Do not modify:
- Content/
- Maps
- Blueprint assets
- Unrelated plugins
- Input configuration
- Packaging settings
- Source-control state

Requirements:
- Follow existing project conventions
- Reuse current modules where possible
- Add no speculative dependencies
- Preserve unrelated behavior
- Expose only the properties required for Editor assignment
- Provide a reset function
- Summarize every file changed

After editing, run only:
[VERIFIED_COMPILATION_COMMAND]

Implement only the approved C++ portion of the showroom material interaction.

Permitted edits:
- [EXACT_HEADER_FILES]
- [EXACT_SOURCE_FILES]
- [EXACT_BUILD_FILE_IF_REQUIRED]

Do not modify:
- Content/
- Maps
- Blueprint assets
- Unrelated plugins
- Input configuration
- Packaging settings
- Source-control state

Requirements:
- Follow existing project conventions
- Reuse current modules where possible
- Add no speculative dependencies
- Preserve unrelated behavior
- Expose only the properties required for Editor assignment
- Provide a reset function
- Summarize every file changed

After editing, run only:
[VERIFIED_COMPILATION_COMMAND]

Implement only the approved C++ portion of the showroom material interaction.

Permitted edits:
- [EXACT_HEADER_FILES]
- [EXACT_SOURCE_FILES]
- [EXACT_BUILD_FILE_IF_REQUIRED]

Do not modify:
- Content/
- Maps
- Blueprint assets
- Unrelated plugins
- Input configuration
- Packaging settings
- Source-control state

Requirements:
- Follow existing project conventions
- Reuse current modules where possible
- Add no speculative dependencies
- Preserve unrelated behavior
- Expose only the properties required for Editor assignment
- Provide a reset function
- Summarize every file changed

After editing, run only:
[VERIFIED_COMPILATION_COMMAND]

The compilation command must come from the real installation and project. Unreal projects can be built through an IDE or Unreal’s command-line tools, but the correct target and configuration depend on the project.

Do not let Claude Code guess missing project paths or silently switch configurations. A Development Editor build, Development packaged build, and Shipping build are different validation targets.

After each stage, inspect the diff. Pay particular attention to:

  • Reflection macros

  • Generated-header placement

  • Module dependencies

  • Asset reference types

  • Null checks

  • State ownership

  • Reset behavior

  • Changes outside the approved scope

Claude Code can generate a clean-looking implementation that still relies on the wrong Unreal API or assumes an asset connection that does not exist. The diff is the proposal. Compilation and runtime behavior are the evidence.

A C++ material interaction passes compilation but requires an Editor correction before the chair changes and resets properly.

How Do You Verify the App Instead of Trusting Generated Code?

A successful compile proves that a specific target compiled. It does not prove that the product can be selected, that the right material appears, that input works, or that reset restores the correct state.

Validation should happen in layers.

Start with the source diff. Confirm that only approved files changed and that no unexpected module, plugin, or configuration edits appeared.

Next, compile the intended Editor target. If it fails, provide Claude Code with the exact output rather than a summary such as “Unreal does not compile.”

Diagnose this Unreal Engine compilation error.

You may inspect:
- [RELEVANT_SOURCE_FILES]
- [RELEVANT_BUILD_FILES]
- The unedited compiler output below

Do not edit files.
Do not change the engine version, plugins, modules, assets, or configuration.
Preserve unrelated project content.

Determine:
1. The likely root cause
2. Evidence from the source and error output
3. The smallest proposed correction
4. Files that would change
5. The exact validation required afterward

Compiler output:
[PASTE EXACT OUTPUT]

Diagnose this Unreal Engine compilation error.

You may inspect:
- [RELEVANT_SOURCE_FILES]
- [RELEVANT_BUILD_FILES]
- The unedited compiler output below

Do not edit files.
Do not change the engine version, plugins, modules, assets, or configuration.
Preserve unrelated project content.

Determine:
1. The likely root cause
2. Evidence from the source and error output
3. The smallest proposed correction
4. Files that would change
5. The exact validation required afterward

Compiler output:
[PASTE EXACT OUTPUT]

Diagnose this Unreal Engine compilation error.

You may inspect:
- [RELEVANT_SOURCE_FILES]
- [RELEVANT_BUILD_FILES]
- The unedited compiler output below

Do not edit files.
Do not change the engine version, plugins, modules, assets, or configuration.
Preserve unrelated project content.

Determine:
1. The likely root cause
2. Evidence from the source and error output
3. The smallest proposed correction
4. Files that would change
5. The exact validation required afterward

Compiler output:
[PASTE EXACT OUTPUT]

When compilation succeeds, open the project in the intended Unreal version. Test the complete interaction from the same starting state a user will receive.

For the showroom example, verify:

  • The correct map opens

  • The camera or player starts in the intended position

  • The focal product is selectable

  • Only approved material states appear

  • Repeated switching remains stable

  • Reset restores the original state

  • Restarting the session produces a clean initial state

  • No new errors appear in the relevant logs

If the project already uses automated tests, Claude Code can help add or run a narrowly scoped test. Epic’s Automation Test Framework supports unit, feature, content-stress, and screenshot-comparison tests. Automated tests can verify deterministic logic, but a visual product review still needs Unreal Editor or captured output.

If a Blueprint or another asset changed, use Unreal’s asset-aware comparison tools and inspect the result in the Editor. A source-code diff cannot prove that an asset reference survived.

After validation, ask Claude Code for a final implementation summary:

Audit the approved implementation without making changes.

You may inspect:
- [APPROVED_CHANGED_FILES]

Audit the approved implementation without making changes.

You may inspect:
- [APPROVED_CHANGED_FILES]

Audit the approved implementation without making changes.

You may inspect:
- [APPROVED_CHANGED_FILES]

A complete Unreal Engine application is packaged with its dependencies, tested locally, and deployed for desktop and tablet browser streaming.

How Do You Package an Unreal Engine Build That Is Ready to Stream?

Once the Editor workflow passes, create a standalone build. Packaging is not simply another word for compiling.

Epic separates the process into operations that include:

  • Build, which compiles code and binaries

  • Cook, which prepares assets for the target platform

  • Stage, which gathers the build in a distributable directory

  • Package, which produces the standalone application and supporting content

The Unreal Engine packaging documentation explains that packaging converts the project into an executable or application for a selected platform. Unreal Automation Tool can also run build, cook, stage, package, and launch operations through BuildCookRun.

Before packaging, review the project configuration:

Perform a report-only configuration review for Windows packaging.

Permitted inspection:
- [PROJECT_NAME].uproject
- Config/
- Source/
- [APPROVED_PLUGIN_DIRECTORIES]

Perform a report-only configuration review for Windows packaging.

Permitted inspection:
- [PROJECT_NAME].uproject
- Config/
- Source/
- [APPROVED_PLUGIN_DIRECTORIES]

Perform a report-only configuration review for Windows packaging.

Permitted inspection:
- [PROJECT_NAME].uproject
- Config/
- Source/
- [APPROVED_PLUGIN_DIRECTORIES]

For native Unreal Pixel Streaming, Epic’s getting-started documentation requires the Pixel Streaming or Pixel Streaming 2 plugin, depending on the engine version and chosen workflow. Epic also states that the plugin operates with a packaged application or a Standalone Game session.

Use the Platforms menu in the current Unreal Editor or a verified Unreal Automation Tool command to package the Windows target. Do not reuse a command from another project without checking the engine root, .uproject path, target, platform, configuration, maps, and output directory.

Before running it, ask Claude Code to review the command:

Review the proposed Unreal packaging command without executing it.

Permitted inspection:
- [PROJECT_ROOT]
- [UNREAL_ENGINE_ROOT]

Review the proposed Unreal packaging command without executing it.

Permitted inspection:
- [PROJECT_ROOT]
- [UNREAL_ENGINE_ROOT]

Review the proposed Unreal packaging command without executing it.

Permitted inspection:
- [PROJECT_ROOT]
- [UNREAL_ENGINE_ROOT]

After packaging, launch the .exe from the packaged directory with Unreal Editor closed. Do not move the executable away from its supporting folders.

Run the same showroom route again. Confirm startup, camera input, product selection, material switching, reset, audio, and exit behavior. Review the packaging log and runtime log for errors.

Before deployment, audit the complete build folder:

Inspect the packaged Windows application without modifying it.

Permitted scope:
- [PACKAGED_BUILD_DIRECTORY]
- [PACKAGING_LOG]

Inspect the packaged Windows application without modifying it.

Permitted scope:
- [PACKAGED_BUILD_DIRECTORY]
- [PACKAGING_LOG]

Inspect the packaged Windows application without modifying it.

Permitted scope:
- [PACKAGED_BUILD_DIRECTORY]
- [PACKAGING_LOG]

Before you upload a demanding scene, Vagon’s Unreal Engine Pixel Streaming optimization guide can help identify avoidable asset and runtime problems.

Claude Code, Unreal Engine, Vagon Streams, and the visitor browser operate separately while a developer checks interaction, audio, loading, and reconnection.

How Do You Publish the Verified Build With Vagon Streams?

Once the packaged application launches and completes the interaction route locally, the next step is delivery. This is where Vagon Streams turns the verified build into an interactive browser experience without changing the Unreal development workflow that produced it.

Vagon provides two relevant delivery routes.

Native Unreal Engine Pixel Streaming

Use this route when the project includes a supported Unreal Pixel Streaming plugin and needs Unreal’s native Pixel Streaming behavior.

The documented workflow is:

  1. Enable the supported Pixel Streaming plugin in the Unreal project.

  2. Package the project for Windows.

  3. Test the complete packaged application locally.

  4. Place the full packaged build in a .zip archive.

  5. Keep the main .exe in the archive’s root directory.

  6. Upload the archive to Vagon Streams.

  7. Select the executable that should start automatically.

  8. Create a Stream Link.

  9. Open Stream Configurations and enable Pixel Streaming.

  10. Test the private link before sharing it.

According to the Vagon Unreal Engine Pixel Streaming documentation, Vagon handles the associated TURN and WebRTC infrastructure for this deployment route. The current documentation specifies Windows builds for native Unreal Pixel Streaming.

Epic’s Unreal Engine 5.8 documentation includes Pixel Streaming 2, while Vagon’s public setup documentation refers to Pixel Streaming more generally. Confirm the selected Unreal version and plugin combination with the current Vagon configuration before treating it as approved.

Vagon Application Streaming

Vagon Application Streaming is a separate route for delivering packaged applications without Unreal’s native Pixel Streaming integration. Vagon documents support for packaged Windows and Linux applications through this protocol.

This route can be useful when you need to stream the application as a general desktop executable. Do not mix its configuration, feature support, or launch behavior with native Pixel Streaming.

For either route, Vagon’s application upload guide requires a .zip containing the executable and all necessary application components. After upload, you select the executable, choose a performance option and control mode, configure coverage and capacity, then create a Stream Link.

Use a readiness prompt before touching the deployment:

Review this Unreal application for Vagon Streams deployment readiness.

Permitted inspection:
- [PACKAGED_BUILD_DIRECTORY]

Review this Unreal application for Vagon Streams deployment readiness.

Permitted inspection:
- [PACKAGED_BUILD_DIRECTORY]

Review this Unreal application for Vagon Streams deployment readiness.

Permitted inspection:
- [PACKAGED_BUILD_DIRECTORY]

If you are comparing deployment architectures, Vagon’s guide to Pixel Streaming, WebGL, and WebGPU explains the difference between remote rendering and client-side browser execution.

Teams that prefer to manage their own infrastructure can also review the separate Unreal Pixel Streaming guides for AWS and Azure.

If you want the managed route, you can start testing your packaged Unreal Engine application with Vagon Streams.

How Do You Test the Browser Stream Before Sharing It?

A Stream Link opening successfully is only the beginning of validation. The application still needs to survive its complete interaction route under real browser conditions.

Start with a private test link and a new session. Confirm that the correct executable launches and that the intended startup map appears.

Then test:

  • Initial connection

  • Loading sequence

  • Keyboard input

  • Mouse interaction

  • Pointer lock or 360-degree camera control

  • Product selection

  • Material switching

  • Reset

  • Audio activation

  • Full-screen behavior

  • Resolution changes

  • Session exit

  • Reconnection

  • Fresh-session state

If mobile access matters, test on an actual phone or tablet. Pixel Streaming can transmit touch input, but the Unreal application still needs controls designed to interpret it. Browser accessibility does not automatically make a desktop interaction touch-friendly.

Audio also deserves a separate check. Modern browsers commonly require user interaction before starting audio or microphone behavior. Vagon’s connection-page documentation explains how its Play Page participates in that initialization.

When embedding the stream in another website, test keyboard focus, iframe sizing, full screen, and custom browser-to-application interactions. Vagon provides a JavaScript SDK for connection status, iframe focus, resizing, game mode, and supported messaging workflows.

Use a checklist that keeps local and streamed validation separate:

Check

Local packaged build

Browser stream

Application launches

Required

Required

Correct map loads

Required

Required

Camera controls work

Required

Required

Product selection works

Required

Required

Material changes correctly

Required

Required

Reset restores initial state

Required

Required

Audio starts correctly

Required

Required

Browser focus works

Not applicable

Required

Reconnection works

Not applicable

Required

Mobile controls work

Optional

Required if supported

Embedded iframe works

Not applicable

Required if embedded

When something fails, send the problem back to the correct layer.

A material that fails locally is probably not a streaming problem. An interaction that works locally but fails only inside an embedded browser may belong to focus, input, or frontend configuration. A packaged application that never launches should return to packaging and dependency inspection.

Use Claude Code to organize the evidence without allowing another uncontrolled edit:




Claude Code can accelerate the work around an Unreal project, but the reliable result comes from the checkpoints around it. Protect the project, control each edit, compile the real code, inspect the actual application, package it properly, and treat browser delivery as its own testable stage.

Frequently Asked Questions

Can Claude Code directly edit Unreal Engine Blueprints?

Not through an ordinary text-editing workflow. Blueprints are stored as Unreal assets rather than readable source files. Claude Code can explain Blueprint logic or help implement the corresponding C++ layer, but Blueprint modification and validation require Unreal-aware tools and Editor inspection.

Does Claude Code need access to the entire Unreal project?

No. Start Claude Code in the intended project directory and restrict its permissions to the source, configuration, plugin, and build files required for the task. Use Plan mode or a report-only prompt before permitting edits.

Can Claude Code compile an Unreal Engine project?

Claude Code can run an approved build command when the correct Unreal Engine installation, compiler, SDK, target, and project files are available in its execution environment. The resulting compiler output still needs to be reviewed, and successful compilation does not prove correct runtime behavior.

What must be tested before packaging?

Compile the intended target, open the project in the correct Unreal version, inspect relevant logs and references, and run the complete interaction route. For the example showroom, that includes camera control, product selection, every approved material state, reset, and a clean restart.

Does Vagon Streams run the Unreal Engine application?

Yes. A Vagon Stream Machine runs the packaged application remotely and delivers its rendered output and interaction to the visitor’s browser. Vagon Streams does not write or compile the Unreal project.

Can users open the streamed application on mobile devices?

Vagon Streams supports access from mobile and tablet devices, and native Unreal Pixel Streaming can carry touch input. The application must still include a touch-compatible interaction design, which should be tested on the actual target devices.

Is Unreal Pixel Streaming required for every Vagon deployment?

No. Vagon also provides Application Streaming for packaged applications. Native Unreal Pixel Streaming and Vagon Application Streaming are separate delivery routes with different setup and feature considerations.

Vagon Streams

Stream your 3D app to any browser

Publish your Unreal, Unity or WebGL build as a link anyone can open.

Vagon Streams

Stream your 3D app to any browser

Publish your Unreal, Unity or WebGL build as a link anyone can open.

Written by

Mert Boz

Mert is a philosophy student with a strong interest in economics, motorsports, and basketball. He enjoys thinking about how the world works, both in theory and in real life. In his free time, you can often find him watching a race, following a basketball game, or reading about economic ideas.

More posts by this writer →

Vagon Streams

Stream your 3D app to any browser, no downloads needed.

Publish your Unreal, Unity or WebGL build as a link anyone can open.

Vagon Streams

Stream your 3D app to any browser, no downloads needed.

Publish your Unreal, Unity or WebGL build as a link anyone can open.