
描述
Three things can stop a plugin, and they fail in three different places.
The files. A UTF-16 source file that compiles fine and is invisible to grep. A byte order mark.
A non-ASCII filename that arrives mangled on a buyer's machine. `Binaries` left in the tree. A
`FilterPlugin.ini` that silently drops your documentation from the package.
The build. Your plugin compiles on your machine because the engine's shared precompiled header
declares types your headers forgot to declare, and because packaging compiles it as an Engine
module - where UnrealHeaderTool enforces rules your project has never applied. Neither of those is
reproducible on the machine that produced the problem.
The graphs. Expensive work reachable from Tick, costly nodes inside loops, traces hidden inside
pure functions that look like free getters.
Until now those were three separate questions. MedicSuite runs all three against the same target
and answers the only one you actually care about:
> Ship ready. Nothing here would stop a submission.
or
> Not ship ready. 2 blockers.
### One window, four pages
Ship Check shows every finding from every tool, most severe first. Encoding, Build and
Graph are filtered views of that same run - never separate runs that could disagree with each
other. Page labels carry live counts, and a tool with nothing to say about a target skips itself
and explains why rather than showing an empty page that looks like a pass.
### What the build check really does
It compiles your plugin in a throwaway host project: no incremental state, no warm unity working
set, built as a distributed Engine module - and then collapses the compiler's cascade.
When a class declaration fails to parse, every later reference to it is also an error. The compiler
reports all of them with equal weight; MedicSuite reports the one that caused the rest, with the
others folded underneath and counted.
In one real case a rejection report of 7 errors became 1 finding, naming the header to open and
the line the class starts on. In another, 150 diagnostics became 1.
### Findings that tell you what they cost
Every finding says what is wrong and why it happens there and not on your machine, with the fix
where the fix is concrete enough to paste. Findings no rule recognises are still shown, with the
compiler's own words - hiding an unexplained cause to make a report look tidier is the one thing a
health tool cannot do.


