Most launchers work as-is. Custom clients that replace the game's loading pipeline are the ones that break. Known status:
| Launcher | Compatibility | Notes |
|---|---|---|
| Pandora | Recommended | Sandboxing on all platforms and automatic version switching |
| Prism / MultiMC and forks | Works | Automatic version switching |
All other launchers should just work unless they are heavily modified or don't follow standards like lunar, feather or other "clients".
Version sync and switching
The server can publish the versions a pack needs: the modloader type, the modloader version, and the Minecraft version. Publishing is controlled by advertise-versions-to-sync in the server config
AutoModpack applies that metadata on Prism, MultiMC forks, and Pandora. A pack switch that needs a different Minecraft version or a different modloader rewrites the instance files, and the launcher picks the change up on the next game launch. Prism and MultiMC forks write mmc-pack.json. Pandora writes info_v1.json. Sandboxed Pandora instances keep their game files outside the instance folder and are not detected, so use a non-sandboxed instance if you need version switching - not recommended.
Before writing instance files, AutoModpack asks the Prism meta server whether it knows the target versions. That is the client-side check that the version exists. If the pack needs a different Minecraft version and Prism does not know it, the pack is not applied. If only the loader type or loader version is unknown there, the pack files still sync and the launcher files are left alone. A switch from Forge or NeoForge to Fabric can need a second restart so Fabric can build mods/automodpack-generated.jar. Server owners can stop publishing version metadata with advertise-versions-to-sync: false, and players can refuse the sync per instance with sync-versions: false in the client config.
On every other launcher, a pack that needs different versions is not applied at launch. The log names the skip. If you can still complete login on this Minecraft version and loader, joining in-game syncs the pack files and the restart screen names the Minecraft version and loader to set before the next start. A loader the server does not accept never starts that sync.