Blender dependency compatibility
By Superluminal Engineering
See how Superluminal finds, classifies, and packages textures, linked files, caches, fonts, IES profiles, OSL files, UDIMs, and more.
Published 2026-07-29 · Updated 2026-07-29
Superluminal's Blender add-on contains two complementary dependency paths. A quick scanner inventories file paths Blender exposes and augments them with Video Sequence Editor, IES, and OSL-specific paths for early warnings. A deeper Blender Asset Tracer path resolves files for packaging and records missing, unreadable, optional, linked, packed, and directory-expanded cases.
Together, these paths cover common images, image sequences, movies, sound, linked .blend libraries, caches, volumes, fonts, IES profiles, scripts, and OSL files. Runtime-generated paths and unusual project layouts still need manual review.
What is inspected
| Dependency class | How it is found | Current coverage |
|---|---|---|
| Images and image sequences | Blender file map plus sequence-element handling | Scanned and packaged |
| Movies and sound | File map plus VSE strip paths | Scanned and packaged |
Linked .blend libraries | Library-aware file map and BAT trace | Nested links traced |
| Caches and volumes | File-path tracing and type classification | File paths scanned |
| Fonts | File-path tracing and extension classification | Scanned and packaged |
| IES profiles | Explicit shader-node path handling | Explicit path handling |
| OSL and scripts | Explicit node path plus text/script classification | Explicit path handling |
| UDIMs and directories | BAT expansion and diagnostic handling | Sets and directories expanded |
Relative Blender paths are resolved with Blender's own path rules, including linked-library context. This matters because a //textures path inside a linked asset may be relative to a different .blend file than the main scene.
CC0 Classroom dependency trace
Sanitized counts from one completed Blender 5.1 ZIP submission report.
| Scenario | Value |
|---|---|
| Total dependency records | 61 |
| OK | 60 |
| Already packed | 1 |
| Missing | 0 |
| Unreadable | 0 |
ZIP and project upload modes
ZIP mode is designed to package the .blend file and its discovered dependencies into one archive. Project mode preserves a project-root layout and is designed so later submissions transfer changed files rather than rebuilding one monolithic archive.
The modes have different boundaries. Project mode can exclude dependencies on another drive because they cannot be expressed beneath the chosen project root; the interface emits a warning and recommends ZIP when appropriate. A cross-drive warning is not an automatic fix, and it should never be hidden.
Missing and unreadable are also distinct. Missing means a referenced path cannot be found. Unreadable means a path exists but cannot be opened, for example because of permissions or filesystem behavior. Keeping those categories separate gives the artist a more useful next action.
Classroom upload example
The CC0 Classroom scene by Christophe Seux completed scanning, packaging, and upload with the Blender 5.1 selector, add-on version 1.0.0, ZIP mode, and the device label 1x-RTX4090-8CPU-32RAM. The Classroom submission snapshot contains the machine-readable details.
| Upload detail | Result | Meaning |
|---|---|---|
| Dependency records | 61 | Trace-level records |
| OK | 60 | Observed as available |
| Already packed | 1 | Embedded or packed case |
| Missing | 0 | No missing dependency in this scene |
| Unreadable | 0 | No unreadable dependency in this scene |
| Files packed | 49 | Archive file count, a different denominator |
| Package bytes | 112,047,985 | Exact report value for this submission |
| Transferred bytes | 88,333,722 | Exact report value for one transfer |
| Transfer elapsed | 16.326 seconds | Exact report value, not a universal speed |
| Transfer errors | 0 | Reported for this transfer |
Dependency records and files packed are not meant to be subtracted. A trace can include records that are already packed, optional, expanded, deduplicated, or represented differently in the final archive.
This shows a complete scan-package-upload path on a reusable scene. Classroom had no deliberately missing or unreadable dependency, so broken-path handling still needs separate test scenes.
Dependency types Superluminal looks for
The scanner follows common Blender file references and packages them with the project.
| Criterion | Discovery path | Packaging behavior | Broken and repaired test | Status |
|---|---|---|---|---|
| Images and image sequences | Blender file map plus sequence handling | Trace and package | Pending | Scanned and packaged |
| Movies and sound | File map plus VSE handling | Trace and package | Pending | Scanned and packaged |
| Linked .blend libraries | Libraries included in file map and BAT trace | Trace and package | Pending | Scanned and packaged |
| Caches and volumes | Extension classification and BAT paths | Trace and package | Pending | Scanned and packaged |
| Fonts | File map and extension classification | Trace and package | Pending | Scanned and packaged |
| IES and OSL files | Explicit node-path augmentation | Trace and package | Pending | Scanned and packaged |
| UDIM and directories | BAT expansion and diagnostic paths | Trace and package | Pending | Scanned and packaged |
Useful dependency test scenes
The public fixture atlas should contain paired broken and repaired scenes for:
- one missing texture and one unreadable texture;
- a UDIM set with a missing tile;
- an image sequence with a missing frame;
- linked libraries with nested relative paths;
- VSE image, movie, and sound strips;
- IES and external OSL paths;
- Alembic, USD, simulation, volume, and other cache layouts;
- fonts and external scripts;
- packed versus external assets;
- a project spanning two drives; and
- directory permissions and placeholder files.
Each test scene should define the expected scan result, package contents, upload behavior, and render result. Sometimes the correct outcome is a blocked submission with a clear warning rather than a render.
What the scanner does not promise
The add-on does not promise to repair every project, infer every custom add-on's file access, or capture data downloaded dynamically at render time. Blender drivers and scripts can construct paths that are absent from Blender's normal data model. External executables or services may own their own caches. Licensing can also prevent packaging even when a file is discoverable.
For selected third-party code, use the add-on compatibility guide. For exact Blender runtime selection, use the version guide. The planned Blender 5.1 benchmark will also include dependency timing.
Dependency handling path
- Scan · Discover and classify file paths
The quick scanner combines Blender's file-path map with VSE, IES, and OSL-specific paths.
- Trace · Resolve missing, unreadable, optional, and linked data
The deeper Blender Asset Tracer path builds the package dependency set and issue summary.
- Pack · Create ZIP or project manifest
ZIP mode creates one archive; project mode is designed to transfer changed files while preserving a project root.
- Test · Review warnings before rendering
Fix missing or unreadable dependencies, then run a small preview before the full frame range.
Preparation checklist
Save the main scene, make paths relative where appropriate, inspect Blender's external-data report, verify linked libraries, bake required simulations, check image and UDIM sequences, and review the add-on's dependency summary. If project mode reports another drive, either move the asset under the project root or choose ZIP after reviewing size and licensing. Preserve the warning output and render representative frames locally.
The goal is to expose missing or nonportable assets before they turn into costly bad frames.