Nodes/Melite Utility Nodes/πŸ“ Load GLB (dropdown)
ComfyUI Node

πŸ“ Load GLB (dropdown)

Pick your mesh instead of typing the path

By JayDataEngineerΒ·Created 2 months agoΒ·Updated 3 days agoΒ· 1
πŸ“ Load GLB (dropdown)
    • glb_path
    β—„glb_file(no GLB files in input/)β–Ί

    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/. Not output/, 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 into input/, 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.
    CategoryTechNoir/Utility

    Inputs (1)

    NameTypeDefaultDescription
    glb_fileCOMBO(no GLB files in input/)GLB file in ComfyUI's input/ directory. Upload GLBs via the standard ComfyUI image upload mechanism.

    Outputs (1)

    NameTypeDescription
    glb_pathSTRINGβ€”