Troubleshooting
beginner troubleshootingEditor Doctor Pro · Troubleshooting & FAQ
Troubleshooting
Common issues and how to resolve them.
Code Audit tab is empty
| Symptom | The Code Audit tab in the Doctor shows a yellow CTA card titled "Code Audit module not installed" instead of findings. |
|---|---|
| Cause | The Code Audit asmdef is gated by Unity's com.unity.nuget.mono-cecil package - if the package is absent, the asmdef does not compile and the Code Audit checks never get discovered. We cannot ship our own Cecil copy under the Unity EULA. |
| Solution | On the same CTA card click Install Mono.Cecil. EDP adds com.unity.nuget.mono-cecil to the project manifest and Unity recompiles once; on the next scan the Code Audit tab populates. If the automatic install fails (offline machine, restricted scoped registries), open Window > Package Manager, switch to Unity Registry, search for Mono Cecil, and add it manually. If you dismissed the prompt earlier, the same card has a Reset prompt button to bring the install affordance back. |
Scenes tab missing in the Doctor
| Symptom | Scene Pilot Pro is installed in the project but the Doctor doesn't show the Scenes tab. |
|---|---|
| Cause | The bridge asmdef did not compile - usually because Unity hasn't picked up the SPP install yet (e.g. the package import is in progress, or the editor needs a recompile). The bridge is gated by EDP_SPP_PRESENT, which Unity sets automatically via the asmdef's versionDefines entry when ScenePilotPro.Editor is on the compile graph. |
| Solution | Confirm SPP is fully imported (no spinner in the Project window, no errors in the console). Trigger a recompile (touch any script or use Assets > Refresh). The Scenes tab appears as soon as Unity processes the recompile. See SPP Bridge for the full integration. |
How do I revert a fix?
| Symptom | You applied an auto-fix and want to undo it. |
|---|---|
| Solution | Open Window > Kronnect > Editor Doctor Pro > Action History (or click Undo on the Last Action strip at the top of the Doctor window). Every EDP action is journaled and reverts the underlying change: move actions return the asset to its original path; soft-deletes restore from the Trash. Action History is the single, canonical entry point for undoing anything EDP has done. |
Scan is slow on a large project
| Symptom | A full scan with Code Audit enabled takes minutes. |
|---|---|
| Cause | Code Audit walks every assembly with Cecil. On projects with many assemblies (50+) the IL parse dominates wall-clock time. |
| Solution | Three options: (1) restrict the scope via Custom paths in the Doctor header to scan only the subtree you changed; (2) disable rule buckets you don't need under Settings > Rules (e.g. naming conventions); (3) run the CLI with --module asset-health on quick passes and the full scan only on release cuts. Open the Timings foldout in the Overview tab to see which checks dominated the last scan. |
STRAY check produces too many findings
| Symptom | EDP-LINT-STRAY flags many assets the team considers correctly placed. |
|---|---|
| Cause | The detector learns the dominant folder per asset type per content root. If your project intentionally spreads a type across several folders (e.g. textures in UI/, VFX/ and Levels/), it will mark the minority placements as stray. |
| Solution | Suppress the rule for the affected paths via the row context menu (Rule > Suppress whole rule) or per-issue (Suppress this finding), or disable the rule under Settings > Rules. Suppressions sync via git in ProjectSettings/EditorDoctorPro/suppressions.json. |
Safe Delete wants to delete a file you need
| Symptom | Safe Delete lists an asset as a candidate even though you know it's used (e.g. loaded by reflection, referenced from a custom build pipeline, or imported by a tool that doesn't go through AssetDatabase). |
|---|---|
| Cause | The dependency walker can only follow what AssetDatabase + serialized references know about. Reflection-loaded assets, runtime Resources.Load with computed paths, and external tooling references are invisible. |
| Solution | Add a user pattern via Settings > Scope (entries match a literal path substring) or rename the asset so it falls under one of the built-in protection rules (e.g. move it under an Editor/ folder, or end it in a codegen suffix like .g.asset). Once protected the asset never appears as a Safe Delete candidate again. Commit the settings change so the whole team picks it up. |
Still need help?
Visit the Kronnect Support or post in our Discord. Our team will get back to you shortly.
Was this page helpful?
Suggest an improvement
Help us improve this documentation page.