The Deploy Pipeline
What happens when you click "Deploy" — how Polymerium turns your mod list into a runnable game.
Last updated on
What Deploy Does
Deploy turns your instance metadata — the Minecraft version, mod loader, and package list — into a runnable Run Directory (build/). The profile describes what to prepare, and the deployed Run Directory is what Minecraft actually opens.
See the Glossary → for Polymerium's terms like Pack Source, Local Data, Run Directory, and Working Copy.
What Gets Downloaded
On your first deploy, Polymerium downloads everything needed to run your game:
- Minecraft itself — the version JAR and assets from Mojang's servers
- Loader libraries — Fabric, Forge, NeoForge, or Quilt files needed by the mod loader
- Packages — mods and other package types resolved from CurseForge and Modrinth, including any dependencies
- Java runtime — a matching Mojang runtime when available, shared across instances even when you choose another Java for launching
All of these are stored in a shared cache on your disk. Valid cached files are reused by any instance; missing or damaged files are downloaded again.
Which Package Entries Take Effect
An instance can retain the same project in several package groups. Deployment excludes disabled entries, then uses group priority to choose one entry per project and resolve competing package target paths. Overridden entries remain in the profile. See Package Groups & Override Order for loose packages, saved group order, and conflicts between entries with equal priority.
Symlinks, Not Copies
Instead of copying mod files into each instance, Polymerium creates symbolic links from the shared cache into your build/ directory. If you have five instances all using Sodium, there's only one copy of Sodium on your disk — every instance just links to it.
Files from your Pack Source (import/) and Local Data (persist/) directories are also layered into the Run Directory (build/) in priority order. See Directory Model → for how that works.
Fast Deploys
The first deploy for a new instance downloads everything, so it takes a moment — just like any launcher. After that, things get fast:
- Nothing changed? Deployment reuses resolved metadata and checks local resources, then skips file operations that are already satisfied.
- Only a few mods changed? Only those mods are updated. Everything else stays in place.
The instance home page shows Resources ready when its checked files need no downloads or local operations, Deployment required when local work remains or the current requirements need re-evaluation, and Download required when it finds resources that must be fetched. Hover over the status to see which resource categories are ready and which still need downloading. This check is cached for the current application session and does not validate your account or a custom Java installation. Deployment also prepares native libraries locally before launching.
Caching Benefits
The shared cache means your other instances benefit too. If Instance A has already downloaded a mod, and you add the same mod to Instance B, there's nothing to download — deploy just creates a new symlink.
Learn More
- Metadata-Driven Instances → — why instances are descriptions, not folder copies
- Directory Model → — how files are layered into the game directory