π Load GLB (dropdown)
Pick your mesh instead of typing the path
- glb_path
Every 3D node in ComfyUI eventually asks you for a glb_path - and nine times out of ten it's a bare STRING field you're supposed to type /mnt/data/renders/character_final_v3.glb into. From memory. With the capitalization right. GLBLoader is the fix: it's a file picker for meshes, the same idea as CheckpointLoaderSimple's checkpoint dropdown, pointed at ComfyUI/input/ instead of models/.
What it's for
By the time you're in 3D land you already have a .glb - TRELLIS or Hunyuan3D spat one out, or a rigging step wrote one, or a friend sent it. The pipeline after that (preview it, rig it, bake motion onto it, re-render views) is a chain of nodes that all take the same string. Hand-typing that string is where you get "file not found" errors, and on Windows you get them with the backslashes pointing the wrong way. This node hands you a dropdown of everything GLB-shaped in input/ and returns the absolute path.
How it works
At graph-parse time the node scans ComfyUI's input directory (non-recursive, one folder deep) and lists anything ending in .glb, .gltf, .obj, .stl or .fbx, alphabetically. That list becomes a COMBO - a dropdown - with the first entry pre-selected. When you run, it joins input/ plus your choice and hands you back the full path as a STRING.
The output type is deliberately boring. It's STRING, not a fancy MESH type, which is exactly why it drops into any existing glb_path socket without you rewiring the graph. There's no mesh parsing here, no validation of the geometry, no loading into VRAM - it's a path resolver that happens to be pleasant to use.
It also re-runs when the file changes: the node's change check returns the file's mtime, so if something upstream overwrote my_mesh.glb since the last run, it won't hand back a cached result.
Inputs and output
glb_file - the only input, and the only one that matters. A dropdown of GLB-compatible files found in ComfyUI/input/. If the folder is empty you get a single placeholder entry, (no GLB files in input/), and the node refuses to run until you actually upload something.
glb_path - the output. A STRING with the absolute path, wired into whatever wants a glb_path: GLBPreview, a rigging node, a mesh-to-views renderer, anything with that string slot.
Because the returned value is just a path, it's also safe to swap out for a raw STRING primitive later if you need one specific file that lives outside input/.
Installing it
The nodes ship together in one pack, so you install it once for all eleven:
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/JayDataEngineer/melite-utility-nodes.git
Restart ComfyUI. In ComfyUI Manager you can search the pack title, Melite Utility Nodes (publisher id data-engineer), or paste the repo URL into "Install via Git URL". The only third-party dependencies are matplotlib and av - both declared in requirements.txt and again in pyproject.toml, which is what Manager pip-installs for you. Neither one is needed for this node specifically; they're for the pack's plot and video/audio decode nodes.
There are no model downloads. Everything this pack does is a picker over models you installed yourself.
Where it bites
- The dropdown is a snapshot. It's built when the graph is parsed, so a file you copy into
input/mid-session doesn't appear until you reload the page or use the node's refresh (right-click β Refresh Node Definitions in Manager-era frontends, or just F5). This is the single most common "the node is broken" report for picker nodes like this, and it isn't broken. - It only looks in
input/. Notoutput/, not subfolders, not your download folder.output/is where generated meshes land, which is a mild irony - if your GLB came out of a generation node, either run it through something that copies intoinput/, or skip the loader and wire the generator's string straight downstream. - Moved or deleted files fail loudly, which is right. You'll get a "file not found, refresh the node to update the dropdown" error rather than a silent blank render.
- The pack's README is stale. It lists seven nodes; the code registers eleven. If you're hunting for the film/view nodes and the README says they don't exist, trust the node search, not the README. That's true of the whole pack.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| glb_file | COMBO | (no GLB files in input/) | GLB file in ComfyUI's input/ directory. Upload GLBs via the standard ComfyUI image upload mechanism. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| glb_path | STRING | β |