O relatório de migração
Cada execução grava dois arquivos:
<Projeto>/Saved/UEAPM/MigrationReport.md legível por pessoas
<Projeto>/Saved/UEAPM/MigrationReport.json legível por máquinas (mesmo conteúdo)
Use Open report no painel para abrir a versão Markdown.
Cabeçalho e tabela de resumo
O relatório começa com o nome do projeto, data, modo (apply ou dry run), versão da engine e o número de
pendências (erros mais itens manuais). Depois, uma linha por etapa:
# Migration report: MeuJogo
- Date: 2026-09-25 01:01:12
- Mode: apply
- Engine: 5.8.3
- Open items (errors + manual): 1
| Step | Status | Changes | Left (error/manual) | Warnings | Time (s) |
|---|---|---|---|---|---|
| Project and config (`project`) | ran | 3 | 0 | 0 | 0.0 |
| Assets resave (`assets`) | ran | 873 | 0 | 0 | 14.1 |
| Enhanced Input (opt-in) (`input`) | not selected | 0 | 0 | 0 | 0.0 |
| ... | | | | | |
Status é ran, not selected ou o motivo pelo qual a etapa foi pulada (por exemplo depois de uma etapa com
reinício necessário).
Uma seção por etapa
Cada etapa executada tem sua própria seção com até três tabelas. O relatório é gravado em inglês.
Changes made (alterações feitas)
O que foi alterado, uma linha por alteração:
| Category | Location | Message |
|---|---|---|
| Engine association | MeuJogo.uproject | EngineAssociation "4.27" -> "5.8" |
| Convert | /Game/FX/P_Fire.P_Fire | converted to /Game/FX/P_Fire_Converted.P_Fire_Converted |
Left to do (o que falta fazer)
O que você ainda precisa fazer, com a correção:
| Severity | Category | Location | Message | Fix |
|---|---|---|---|---|
| Error | Compile error | /Game/.../GA_Example.GA_Example | CooldownGameplayEffectClass 'GE Example' grants no tags. ... | Either set CooldownGameplayEffectClass to None or give that effect a 'Grant Tags to Target Actor' component with a Cooldown.* tag. |
A Location é a mais precisa possível: um arquivo com linha (Source/.../File.cpp:181), um caminho de asset, um
caminho de asset mais grafo e nó (BP_Weapon: EventGraph > SpawnEmitterAttached) ou um notify de animação com seu
tempo.
Notes (observações)
Linhas informativas: comando de build, censo de versões, número de materiais verificados, número de Blueprints compilados.
Severidades
| Severidade | Significado | Conta como pendência |
|---|---|---|
| Info | só informação (Notes) | não |
| Fixed | uma alteração feita pelo UEAPM (Changes made) | não |
| Warning | funciona, mas deve ser revisado (por exemplo uma referência que ainda aponta para Cascade) | não |
| Error | não funciona até ser corrigido (erro de carregamento ou compilação) | sim |
| Manual | o UEAPM não consegue fazer; a correção diz o que fazer | sim |
Histórico
Cada execução também é copiada para:
<Projeto>/Saved/UEAPM/History/MigrationReport_<yyyyMMdd_HHmmss>.md
<Projeto>/Saved/UEAPM/History/MigrationReport_<yyyyMMdd_HHmmss>.json
MigrationReport.md sempre contém a última execução; a pasta History guarda todas as anteriores (por exemplo a
passada das etapas de arquivos de um projeto C++ e a passada completa posterior).
Campos do JSON
Nível superior:
| Campo | Tipo | Conteúdo |
|---|---|---|
project | string | nome do projeto |
date | string | data da execução |
dryRun | bool | true em um dry run |
engine | string | versão da engine |
openItems | int | erros mais itens manuais |
steps | array | uma entrada por etapa |
findings | array | todos os achados de todas as etapas |
Cada entrada de steps: id, name, ran, skipped, skipReason, seconds.
Cada entrada de findings:
{
"step": "project",
"phase": "Analyze",
"severity": "Fixed",
"category": "Config packaging-inikeyblacklist-rename",
"location": "Config/DefaultGame.ini",
"line": 0,
"message": "move [/Script/UnrealEd.ProjectPackagingSettings] IniKeyBlacklist to ... IniKeyDenylist",
"fix": ""
}
phase é Analyze, Apply ou Verify; line é 0 quando o local não tem linha.