Loader Core
SickOllie's LoRA tester wired to your Library's ratings and history
- model
- clean_name
- main_trigger
- main_folder
Classic Loader Core is a great test rig. Studio Loader Core (SOLoaderCoreEngineStudio) is that same rig with a memory. Where Classic cycles blindly through a folder, Studio talks to SickOllie's LoRA Library - the shared catalog stored in ComfyUI/user/SickOllie/solo_catalog.sqlite3 - so it can filter by your ratings, sort by real usage history, and let you mark LoRAs Keep, Favorite, or Reject without leaving the node. If you're testing LoRAs in bulk, this is the node you'll actually reach for.
What's new versus Classic
Same core mechanics: internal diffusion model load, folder-scoped primary LoRA, control_after_generate cycling (fixed/increment/decrement/randomize/shuffle), skip-None behavior, an off_name for "no LoRA," clean-name generation, and the rgthree-powered secondary LoRA stack. What Studio adds is Library awareness:
library_filter- narrow the active pool to ★ Favorites, ✓ Tested, or ◌ Untested / Retest, on top of your chosen folder scopelora_sort- sort the pool by Name or by durable usage history (Most used / Least used / Recently used), which turns "cycle through a folder" into "cycle through what I haven't vetted yet"- Folder scope includes virtual pools like ★ Favorites and ◌ Untested / Retest alongside real folders
- Rating controls live right on the main-LoRA row, with status colors: deliberate ratings take priority, tested-but-unrated files show white, untested files stay muted
The outputs tell the Studio story: just four - model, clean_name, main_trigger, and main_folder. Everything else (raw filenames, applied LoRA list, usage history) is captured by the Library or reconstructed by Output Core's Auto Context, so you don't wire a giant metadata bundle. clean_name → Prompt Core's NAME, main_trigger → Prompt Core's TRIGGER, model → Generation Core.
How testing works in practice
A successful save through Output Core marks the used LoRA as tested - it does not silently rate it Keep or Favorite, which is a nice piece of discipline. Clear Rating preserves test history; only Reset All wipes use/test history. So the loop becomes: pick an untested pool, run the cycle, review results in Preview Core, rate the keepers, and let the next run skip what you've already judged.
Installing it
Part of the SickOllie pack:
cd ComfyUI/custom_nodes
git clone https://github.com/sickollie/SickOllie
or ComfyUI Manager → "SickOllie". You also need rgthree-comfy installed for the secondary-LoRA chooser and model info. Restart, Ctrl+F5. The Library populates from ComfyUI's configured LoRA roots - hit Scan LoRA folders if it looks empty.
Where people get burned
The Library looking empty is the #1 surprise: it reads ComfyUI's LoRA roots, so files outside those roots won't be cataloged until you scan. And remember the rating buttons and the test history are separate - marking something Favorite doesn't mark it tested, and a test cycle won't quietly change your ratings. Finally, same control-after-generate caveat as Classic: the LoRA shown is the one queued for next run, so set fixed before you start tweaking the prompt on an image you like.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| diffusion_model | COMBO | Diffusion model loaded internally before LoRAs. | |
| weight_dtype | COMBO | default | 4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2 |
| folder_name | COMBO | [All LoRA folders] | Restrict the primary cycling LoRA to this folder. |
| epoch_filter | COMBO | [All epochs] | Optionally restrict the selected folder to one detected epoch. Forms such as epoch1, epoch_1, epoch-01, and epoch 001 are grouped under the same canonical Epoch number. |
| main_enabled | BOOLEAN | true | Enable or disable the primary LoRA. |
| main_lora | COMBO | None | Primary LoRA used for folder batch testing. |
| main_strength | FLOAT | 1.00-100–100 | — |
| include_subfolders | BOOLEAN | true | — |
| loop_folder | BOOLEAN | true | — |
| control_after_generate | COMBO | increment | 5 options: fixed, increment, decrement, randomize, shuffle |
| skip_none_during_cycle | BOOLEAN | true | — |
| off_name | STRING | no_lora | — |
| auto_clean_name | BOOLEAN | true | — |
| cleanup_rules | STRING | auto:1 | — |
| library_filter | COMBO | [All Library statuses] | Filter the selected real folder to Favorites, Tested, or Untested / Retest. The chosen folder scope stays active. |
| lora_sort | COMBO | Name | Sort the active folder pool by name or durable Library usage history. |
| diffusion_control_after_generate | COMBO | fixed | Choose how the diffusion model selector changes after each queued generation. |
| secondary_lora_stackopt | STRING | [] | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clean_name | STRING | — |
| main_trigger | STRING | — |
| main_folder | STRING | — |