Blender add-on for importing and exporting 3D assets through AssetKit
👉 Blender 5 removed the built-in COLLADA/DAE importer and exporter. AssetKit-Blender brings DAE support back to current Blender releases, while also adding
a fast, native path for other formats like glTF/GLB, OBJ, STL, PLY, and 3MF import/export.
- glTF / GLB (2.0+)
- COLLADA DAE (1.4+, 1.5.0+)
- 3MF
- OBJ
- STL
- PLY (including Gaussian splat import)
- SPZ (import)
- L-GSC (standalone
.lgsc and glTF/GLB import)
Gaussian SPZ, L-GSC, PLY and glTF import preserves scale, rotation, opacity and spherical
harmonics as PointCloud attributes. Blender builds with the native Gaussian splat
type use it directly; other builds have an optional GPU preview in Solid shading.
It draws oriented, transparent splats with view-dependent SH color, without
creating meshes. See Gaussian preview for controls
and the distinction from F12 rendering.
SPZ uses the optional assetkit_spz decoder bundled with the native bridge.
L-GSC uses AssetKit’s built-in C decoder.
Geometry Nodes
In the Geometry Nodes editor, use Add > AssetKit for file sources, existing
objects, point cropping and splat opacity. File sources output the selected
scene’s geometry as instances; an optional node path selects a subtree.
The file source is also in Add > Input > Import > AssetKit File / Sequence.
Numbered file sequences follow the Blender timeline and share a memory-budgeted
cache. Helpers are created only when added; ordinary import does not enable them.
No custom Blender build is needed. See Geometry Nodes
for selection, sequence and cache settings.
Install to Blender
After a release a tag e.g. v0.1.0, GitHub Actions builds package for multiple platforms then attaches
the generated platform zip files to the GitHub Release for that tag automatically.
-
Download the zip for your platform from:
https://github.com/recp/assetkit-blender/releases/latest
-
In Blender, install it with:
Edit > Preferences > Add-ons > Install from Disk
-
Enable the add-on.
-
Follow repo to get/report bugfixes and get new features asap
Benchmarks
Here are local benchmark results from an M1 Max MacBook Pro, measured with tools/benchmark_review_imports.sh.
DAE Blender builtin results are measured with Blender 4.5.10 LTS because Blender 5.x no longer includes the COLLADA importer. Other Blender builtin results are measured with Blender 5.2.0 LTS.
| File |
AssetKit + Blender native bridge |
AssetKit-Blender (Total) |
Blender |
Blender / AssetKit Blender |
| BrainStem.dae |
27.9 ms |
52.2 ms |
6294.3 ms |
120.50x |
| Duck.dae |
0.7 ms |
1.6 ms |
5.8 ms |
3.58x |
| GearboxAssy.dae |
21.9 ms |
44.4 ms |
230.2 ms |
5.19x |
| NodePerformanceTest.glb |
119.6 ms |
12080.7 ms |
216220.8 ms |
17.90x |
| BoomBox.glb |
0.3 ms |
2.0 ms |
13.0 ms |
6.48x |
| DamagedHelmet.glb |
0.3 ms |
2.3 ms |
29.9 ms |
13.05x |
| WaterBottle.glb |
0.3 ms |
1.9 ms |
10.6 ms |
5.70x |
| ABeautifulGame.glb |
12.0 ms |
46.3 ms |
828.7 ms |
17.89x |
| AntiqueCamera.glb |
0.4 ms |
3.0 ms |
45.6 ms |
15.41x |
| MosquitoInAmber.glb |
0.5 ms |
3.4 ms |
44.8 ms |
13.09x |
| xyzrgb_dragon.obj |
17.8 ms |
23.6 ms |
61.1 ms |
2.59x |
| dragon_vrip.ply |
26.3 ms |
47.5 ms |
122.3 ms |
2.58x |
| 3DBenchy.stl |
3.5 ms |
8.6 ms |
31.5 ms |
3.67x |
| … |
|
|
|
|
The script uses AssetKit shading mode AS_IS and texture loading IMMEDIATE.
Reproducing the Benchmarks
Run the review benchmark script:
tools/benchmark_review_imports.sh
The script downloads the benchmark assets into the ignored benchmark-assets/ cache and writes JSONL results plus a Markdown table to benchmark-results/.
By default it uses:
- Blender 5.2.0 LTS for glTF, OBJ, PLY, and STL comparisons
- Blender 4.5.10 LTS for DAE builtin COLLADA comparisons
- AssetKit shading mode
AS_IS
- AssetKit texture loading
IMMEDIATE
Build
Build AssetKit, then build the native Blender bridge with Blender’s Python:
cmake -S deps/assetkit -B deps/assetkit/build -DAK_SHARED=ON
cmake --build deps/assetkit/build
cmake -S . -B build -DASSETKIT_ROOT=deps/assetkit -DPython3_EXECUTABLE=/path/to/blender/python
cmake --build build
The bridge is written to src/assetkit_blender/ as _assetkit_blender.*. If it is not present, the add-on can still use the configured AssetKit shared library through ctypes.
Production package
Build and validate a Blender Extensions package zip with one command:
python3 tools/release_extension.py --blender /path/to/blender
To include Blender 4.5/5.0 support in the same platform package, add Python
3.11:
python3 tools/release_extension.py --blender /path/to/blender --extra-python python3.11
The zip is written to dist/.
For repeat packaging after the native bridge is already built:
python3 tools/package_extension.py --blender /path/to/blender --platform auto
The release script stages the extension so blender_manifest.toml and
__init__.py are at the zip root. Native bridge binaries and optional AssetKit
decoder libraries are packaged as platform wheels under wheels/.
Release assets
Pushing a tag such as v0.1.0 runs the package matrix on GitHub Actions and attaches
the platform zip files to the GitHub Release for that tag automatically.
评论