Skip to content

The Bounds Patcher (or 'help, stuff do be invisible!')

Ani edited this page Aug 23, 2026 · 3 revisions

The Bounds Patcher tab has three tools:

  • One-Click Patcher
  • LSF Patcher (legacy)
  • Bounds Calculator (really legacy)

Use these when a mesh has bad or missing bounds and appears invisible, hard to click, or otherwise wrong in-game. Literally why I started this little tool in the first place because oh my god Larian let me calculate bounds in the Toolkit you cowards. Also constantly opening Blender then LsLib and converting everything one by one is PAINFUL and I am NEVER doing that again, you can't make me.

One-Click Patcher

One-Click Patcher is the main VisualBank bounds workflow. It converts selected LSF files, resolves their related GR2 meshes, calculates bounds, patches the VisualBank entries, and converts the files back.

Use Batch when you want to patch one or more specific .lsf files. Use Whole Folder when you want Toolkit Assistant to scan a folder and patch every valid VisualBank .lsf it finds.

Batch

  1. Open Bounds Patcher > One-Click Patcher.
  2. Set mode to Batch.
  3. Click Select File(s).
  4. Choose one or more target .lsf files.
  5. Check the selected file list.
  6. Keep Backup original on if needed.
  7. Click Patch.
  8. Review the console log, especially resolved GR2 paths and any failed files.

Batch mode can be used for one file or several files. Each selected LSF still needs a clear usable .GR2 reference in the converted LSX. If a selected file has no GR2 references, several possible references, or a missing mesh path, Toolkit Assistant will log the failure. Consider using the manual (legacy) tools for the remaining selected files instead.

Whole Folder

  1. Set mode to Whole Folder.
  2. Choose the Content folder for the current project.
  3. Keep Backup original on if needed.
  4. Click Patch.
  5. Confirm the folder patch when prompted.
  6. Review skipped files and resolved GR2 paths in the console log.

Whole Folder mode scans .lsf files under the selected folder. It skips files that are not valid VisualBank files. When Keep edited LSX is enabled, only patchable VisualBank .lsx files are kept.

Whole Folder mode can take a while on large projects. Like 50+ pride flags not that anyone is insane to make a mod with 50+ pride flags lmao what, or you just want to give all your weapons BoundsMax of 1 1 1 because you are also v lazy (and honestly, valid. I'm not gonna judge you. Live your best life).

LSF Patcher

Use this manual patcher when you already have bounds XML from Blender, the Bounds Calculator, or another source.

Single File

  1. Open Bounds Patcher > LSF Patcher.
  2. Set mode to Single file.
  3. Choose the target .lsf.
  4. Paste the bounds XML into the Bounds box.
  5. Keep Backup original on.
  6. Click Patch LSF(s).
  7. Review the console log.

UUID Batch

Use UUID batch mode when you want to patch matching LSF files under a folder.

  1. Set mode to UUID batch.
  2. Choose the Content folder for the current project.
  3. Paste UUIDs into the UUIDs box.
  4. Paste the bounds XML into the Bounds box.
  5. Keep Backup original on.
  6. Click Patch LSF(s).
  7. Confirm the batch patch when prompted.
  8. Review the console log.

UUIDs can be separated by new lines, commas, or semicolons. Blank entries and lines beginning with # are ignored.

If UUID batch mode has no UUIDs entered, Toolkit Assistant will ask whether to apply the bounds to every valid VisualBank entry under the selected folder. Choose No unless you deliberately want that. (I'm assuming if you click Yes you're patching a bunch of weapons. Go for it, champion.)

Options

Keep edited LSX: Keeps the edited .lsx beside the source .lsf.

Backup original: Creates a timestamped backup of the original .lsf before replacing it.

Bounds Calculator

Use this helper when you want bounds XML from a mesh, but you want to patch the LSF yourself, and you can't be bothered installing a plogon for Blender. can you tell this was written first?

  1. Open Bounds Patcher > Bounds Calculator.
  2. Choose a .gr2 or .dae mesh file.
  3. Click Get Bounds.
  4. Review the output.
  5. Click Copy Bounds.
  6. Paste the copied XML into LSF Patcher or wherever you need it.

For .gr2 files, Toolkit Assistant uses Divine to convert the mesh to a temporary .dae, then reads the vertex positions from that file. .dae files are read directly.

Clone this wiki locally