ZAP DOCTOR
Scan, fix, render
Zap Doctor sweeps your scene before you hit render (F12) and catches the common mistakes that ruin a final render — missing output folders, lost textures, a render region left on — then fixes most of them with a single button.
- Click Check Scene Health — one pass scans the whole scene and sorts every problem by severity into a Scene Health gauge.
- Gauge low? Click Fix next to a problem (or a toggle icon) — most issues are cleared with a single click.
- Repeat until the gauge reads “Ready to Render” — then render with confidence.
No more running a render overnight and waking up to a broken result.
Install
Zap Doctor is available on Gumroad and Superhive.
Use whichever is easier:
- Drag and drop — drop the release zip onto the Blender window.
- Manual —
Edit > Preferences > Get Extensions > Install from Disk, then pick the zip.
When it's installed, a “Zap Doctor” tab appears in the 3D viewport's right-hand sidebar.
Basic usage
Open the panel
Press N in the 3D viewport to open the sidebar, then click the “Zap Doctor” tab. Because it lives in the 3D viewport sidebar, switching to another properties tab never makes the panel disappear.
Scan
Press the big “Check Scene Health” button (magnifier icon) at the top of the panel. Zap Doctor sweeps the whole scene, finds problems, and organizes them into a list.
Read the result — the Scene Health gauge
After a scan, a horizontal Scene Health bar appears at the top with a percentage, like Scene Health 72%.
- No problems at all → the gauge fills and reads “Ready to Render”.
- Problems shrink the gauge by multiplicative decay — each issue multiplies the score down by a fixed ratio: one Error ×0.80, one Warning ×0.96, one Suggestion ×1.00 (Suggestions never cost anything — they are advice, not faults). Two bounds keep repetition from taking over: one check counts at most twice for Errors and five times for Warnings, and no single category may pull the gauge below 0.60 of its own contribution. The gauge answers how many kinds of thing are wrong, not how many objects each kind touches.
Just below the gauge is a one-line summary like 2 errors · 5 warnings · 3 suggestions (any count that's zero is omitted).
How the list is organized
Problems split into three severity boxes: Errors (⊘), Warnings (⚠), and Suggestions (ⓘ). Inside each box they're grouped again by category — Output, Assets, Scene, Render, Hygiene — each shown with an icon, label, and count.
Collapse and expand
Each category header has a triangle: ▽ (pointing down) means expanded, ▷ (pointing right) means collapsed. The “Collapse All” / “Expand All” buttons under the gauge fold or unfold every group at once.
Fixing
Each problem row has a Fix button, and its label tells you exactly what it will do — Reset to 100%, Turn Off Simplify, Purge All. Hover for a fuller tooltip. A category header may also show “Fix All (N)” to clear the auto-fixable problems in that group at once. Everything you fix is logged in “Recently Fixed”, and most fixes can be undone with Revert.
Every element, top to bottom
Check Scene Health button
The big button (magnifier icon) at the top. Each press re-scans the scene from scratch. Before your first scan you'll just see the grey hint “Scan the scene for common render mistakes.”
Scene Health gauge & summary line
The bar gauge and the one-line severity summary beneath it (see Basic usage).
“Scene changed since last scan” hint
If you edit the scene after a scan (moving an object, etc.), this grey note appears with an ⓘ icon — your results may be stale, so re-scan. It never re-scans automatically; you press the button yourself.
Collapse All / Expand All
Two buttons that fold or unfold every category group at once.
Anatomy of an issue row
One problem is usually one line — a description on the left, action icons on the right.
Click the text
If the problem is tied to objects (a target icon sits in front of it), clicking selects those objects in the viewport — all of them at once if several are involved. If nothing can be selected (hidden, excluded from a collection…) a message tells you why.
Fix button
Applies the automatic fix (a few checks use toggle icons instead — see the Scene category below).
Pin icon — ignore permanently
Silences this problem for good: it won't come back on the next scan, or the one after. Un-pin from the add-on preferences or the Ignored list. Note: auto-unfixable Errors (no camera, unsaved file…) deliberately omit the pin, so you can't permanently silence a fatal problem — the X (ignore once) still works.
X icon — ignore this scan only
Hides the problem for this scan; it returns the next time you scan.
The Scene category's special structure
Unlike other categories, the Scene group is divided one level further into subgroups.
Render Visibility subgroup (SCN01 / SCN02)
Objects that show in the viewport but drop out of the render, or vice-versa. These rows show three toggle icons instead of a Fix button; each reflects the object's current state and flips it on click. The subgroup header carries bulk toggles plus a small non-clickable legend of the three icons.
| Icon | Meaning | Blender equivalent |
|---|---|---|
| Eye (HIDE) | Temporarily hidden in the viewport | Outliner eye icon (H key) |
| Monitor (RESTRICT_VIEW) | Globally disabled in viewports | Disable in Viewports |
| Camera (RESTRICT_RENDER) | Globally disabled in renders | Disable in Renders |
Modifier Mismatch subgroup (SCN03)
A modifier whose viewport display differs from its render display. These rows show two toggle icons (viewport / render). Because the mismatch is often intentional (a heavy modifier off in the viewport, on for render), you toggle each state directly instead of forcing them to match. The header has four bulk buttons: viewport on / off, render on / off.
Collection Visibility Issues box
When a whole collection is off (not just one object), this box appears above the Scene group, showing only the top-most collection responsible. Excluded collections show the text “Excluded from view layer” with an “Include” button; other collections show the three eye / monitor / camera icons. Fixing a collection immediately recomputes the related Scene problems.
Ignored section
Everything you hid with X or Pin collects here under a collapsible header (with a count) and a “Restore All” button. A small pin in front of an item means it was ignored permanently; no pin means ignored for this scan only. Each item has its own restore arrow.
Recently Fixed section
A log of what you fixed this session, grouped by category, each line naming the check ID and a one-line summary of what changed. Revert undoes one fix; Revert All undoes every reversible fix; Clear (trash icon) only empties the list — it does not undo the actual fixes.
All 30 checks
E Error W Warning S Suggestion (INFO in code)
Output — output settings 6 checks
| ID | Name | Sev. | What it means | What Fix does |
|---|---|---|---|---|
| OUT01 | Output directory missing or read-only | E | The folder for render output doesn't exist or is write-protected. (Also caught when an unsaved file uses the relative // path.) | Create Folder — makes the missing folder (absolute paths only). |
| OUT02 | Existing output files would be overwritten | W | Files already exist inside the frame range and would be overwritten. | — |
| OUT03 | Animation rendered straight to a video file | W | The animation renders to a single video file — a mid-render crash loses everything. | Use PNG Sequence — switches to a PNG image sequence. |
| OUT04 | Suspicious frame range | W | Start > end (reversed), or frame step isn't 1 (frames are skipped). | — |
| OUT05 | Not enough disk space for the estimated output | W | Free disk space is less than the estimated output size. | — |
| OUT06 | Output path is not set | W | The output path is empty — renders fall into a temp folder. | Set Path — sets it to // (beside the blend file), if the file is saved. |
Assets — asset integrity 3 checks
| ID | Name | Sev. | What it means | What Fix does |
|---|---|---|---|---|
| AST01 | Missing image textures | E | An image texture points to a file that isn't on disk. | Find Missing Files — opens a file browser to pick the folder (then Fix again to apply). |
| AST02 | Broken linked libraries | E | A linked library (.blend) file has gone missing. | — |
| AST04 | Image files that exist but are empty | E | The file exists but is 0 bytes (empty). | — |
Scene — scene state 7 checks
| ID | Name | Sev. | What it means | What Fix does |
|---|---|---|---|---|
| SCN01 | Visible in viewport but disabled in renders | W | Shows in the viewport but is off for render, so it won't appear. | Toggle icons (eye / monitor / camera), not a Fix button. |
| SCN02 | Hidden in viewport but still renders | S | Objects hidden in the viewport that still reach the render — usually whole collections switched off while you work. | Reported as one summary line; no Fix (switching many objects off for render at once would do more harm than the warning). |
| SCN03 | Modifier viewport/render visibility mismatch | W | A modifier's viewport and render visibility differ. | Two toggle icons (viewport / render). |
| SCN04 | Scene has no active camera | E | No active camera, so the render fails. | — |
| SCN05 | Simulations not baked or not covering the frame range | W | A simulation isn't baked, or its cache doesn't cover the frame range. | — |
| SCN06 | No render-visible lights and a dark world | W | Nothing in the scene emits light and the world is dark, so the render may come out black. | — |
| SCN07 | Objects fall entirely outside the camera clipping range | W | Objects sit nearer than Clip Start or beyond Clip End, so the camera never sees them. | — |
Render — render settings 11 checks
| ID | Name | Sev. | What it means | What Fix does |
|---|---|---|---|---|
| RND01 | Resolution percentage is not 100% | W | Resolution scale isn't 100% (a leftover low-res test setting). | Reset to 100% |
| RND02 | Render region (border) is enabled | W | A render region (border) is on, so only part of the frame renders. | Clear Render Region — turns the region off. |
| RND03 | Simplify is limiting render quality | W | Simplify is lowering subdivision / particle quality. | Turn Off Simplify — disables Simplify entirely. |
| RND04 | Sample count looks like a test setting | W | Sample count is too low for a final render (a suspected test leftover). | — |
| RND05 | Cycles renders on CPU but a GPU is configured | S | A GPU is configured but Cycles is rendering on the CPU. | Use GPU — sets the Cycles device to GPU. |
| RND06 | Post Processing > Sequencer is overriding the render | W | Sequencer post-processing is on with strips, so F12 renders the VSE output instead of the camera. | Turn Off Sequencer |
| RND07 | Compositor is on but Composite output isn't connected | E | The compositor is on but the output node isn't connected (or is muted) — the render comes out black. | — |
| RND08 | Color view transform is set to Raw | W | The view transform is Raw, so no color management is applied. | Switch to AgX — sets AgX (or Standard). |
| RND09 | Transparent background won't have an alpha channel | W | Film is transparent but the output format/mode can't hold alpha. | Set RGBA — sets color mode to RGBA (no Fix if the format itself can't hold alpha). |
| RND10 | Cycles has a per-frame time limit set | W | Cycles has a per-frame time limit, so frames may cut off early. | Clear Time Limit — sets the time limit to 0. |
| RND13 | Render engine is set to Workbench | W | The render engine is Workbench (preview-only). | — |
Hygiene — file hygiene 3 checks
| ID | Name | Sev. | What it means | What Fix does |
|---|---|---|---|---|
| HYG01 | .blend file has never been saved | E | The file has never been saved — a crash loses everything, and relative paths don't work. | — (you save it yourself). |
| HYG02 | Unused (orphan) data bloats the file | S | Orphan data nobody uses is inflating the file. | Purge All — clears every unused datablock. |
| HYG03 | Unused material slots on objects | S | Objects carry material slots that aren't used. | Remove Unused Slots |
Individual checks can be switched on and off with checkboxes under Preferences > Add-ons > Zap Doctor. The same screen has a Clear button to release everything you've permanently ignored (pinned) at once.
How it plays out
A — a whole collection is off and warnings pile up
Say you turned a whole collection off while working. On a scan, the dozens of objects inside it can all get flagged as SCN01 (“won't render”), making the list very long.
Instead, Zap Doctor surfaces just that one collection in the Collection Visibility Issues box. You don't fix each object row — flip that collection's camera (render) icon once and every related warning clears at the same time. (The individual object rows that the collection was masking are hidden automatically, keeping the list tidy.)
B — the final check before an overnight render
Before you queue a render, press Check Scene Health. If there are any Errors (no camera, missing output folder, lost textures…) the render could fail or come out black — handle those first. Then clear the Warnings that matter with their Fix buttons — RND01 (resolution not 100%), RND02 (border on), OUT03 (straight-to-video) — and once the gauge reads “Ready to Render”, queue the render with confidence.