Skip to content

Projects

TheKillerey edited this page Oct 2, 2026 · 4 revisions

Projects

A ReyEngine project holds everything one mod needs — the files it overrides, its metadata, and its build output. This page covers what a project looks like on disk and how to get your work out of it, whether that is a .fantome file or a workshop mod in LTK Manager (a separate community tool that manages installed mods).

A ReyEngine project is a plain folder on disk. Nothing is hidden in a database — you can browse it in Explorer, and other tools (cslol, LTK Manager, Obsidian and the like) understand the layout.

Creating and importing

  • File ▸ New Project… opens the template wizard.
  • File ▸ Import .fantome… converts an existing mod package. The WADs inside are unpacked into folders of loose files at their real paths. Chunks whose path no hash database knows are the mod's own custom files — ReyEngine recovers as many real names as possible from the mod's own .bin files, sniffs file types from content for the rest, and only keeps .bin as the extension when it genuinely cannot tell what a chunk is.
  • File ▸ Open Project… / Open Recent / Open Project Folder… for existing projects.

Folder layout

MyMod/
  Map11/                  one folder per WAD, files at their real paths
    assets/…
    data/…
    <hash>.dds            chunks whose real path is unknown, named by content
  RAW/                    loose files shipped outside any WAD (optional)
  Build/                  output of Build Package
  .reyengine/             project metadata, thumbnails, cleanup backups, reports

The folder name (Map11) tells ReyEngine — and mod loaders — which game WAD it overrides. Files in the project win over the installed game; everything you did not include falls back to the Riot original.

Riot references

Project ▸ Manage Riot References… controls which original game WADs are mounted read-only behind your project. Normally the game folder handles this automatically (shared WADs plus the map WADs matching your project). References are never written to — they exist so previews resolve every texture and bin the project itself does not carry.

Saving your work

Editors in ReyEngine write overrides: modified copies stored in the project, applied as byte-level patches on export. Save To Override buttons in the material and particle editors, File ▸ Save Project, and the undo system (Edit menu) all operate on the project only. An edit to a file the project itself ships is written into that file.

Preferences ▸ General ▸ Auto-save can save the project on a timer; it is off by default.

Exporting

  • Project ▸ Build Package packs each project folder back into a .wad.client in Build/ and validates it by reopening it. A map file that carries vertex buffers no mesh uses (LTK Manager refuses those) is cleaned on the way, with a warning. The pack step de-duplicates identical chunks, so a package never ships the same bytes twice.
  • Project ▸ Export .fantome… wraps the build into a .fantome package with your mod metadata (name, author, version — set under Project ▸ Project Settings…) ready for cslol-manager or Fantome.
  • Project ▸ Send to LTK Manager creates or updates a workshop mod in LTK Manager in place: it writes source files to the folder the manager watches rather than touching the manager's library. A mod that was published before is recognised and updated, not duplicated. With Send game bin edits as declarations (LTK Manager 1.20+) ticked in Project ▸ Project Settings… (off by default), it sends only what the project changed in each game bin instead of the whole bin, and LTK Manager applies those changes over the installed patch's own copy — so Riot's later changes to everything you did not touch survive a patch. Anything a declaration cannot express ships as the whole bin, and the log says why. Older LTK Manager versions and other loaders ignore declarations, which is why it is off by default.
  • Project ▸ Open Build Folder jumps to the output.

By default the pack step ships only file types the game actually loads, so editor leftovers do not bloat the package.

Content layers

Project ▸ Project Settings… has a Content Layers section for mods that ship an optional part. Name a layer, give it a priority and the description LTK Manager shows beside its on/off switch, then choose which layer each WAD folder ships in. Project ▸ Send to LTK Manager then delivers the mod in layers, so a user can switch an optional part off (a particle fix, say) without losing the rest of the mod. Layers apply lowest priority first, and a higher one wins where two touch the same file. A folder no layer claims ships in the base layer, so a project that never touches this sends exactly as it did before. Layers have no effect on a .fantome build, which does not support them.

Riot patches

A project can carry its edits forward onto a new Riot patch by itself. With automatic patch rebasing enabled in Project ▸ Project Settings…, opening the project after a patch checks CommunityDragon's patch list, downloads the old originals your edits were made against, and three-way-merges your changes onto the new files, with backups and a report. Conflicts, and full-replacement assets that cannot be merged, are listed for review. The same operation can be run by hand from Tools ▸ Mod Health ▸ Patch Update Wizard… — see Tools and Mod Health.

One thing a rebase cannot do on its own: patch 16.17 changed texture paths in bins from plain strings to 64-bit chunk links. A mod written before that reads fine but keeps the old form until its bins are re-saved by an editor that knows the new one — the material editor and the ritobin editor both do.

Clone this wiki locally