Home / Community tools and compatibility / ns2ios-shell
ns2ios-shell
ns2ios-shell separates a reusable, game-independent iOS shell from local per-game packing. CI builds the shell once, while the packer combines a user’s game files with the shell on Windows, Linux or macOS without requiring Xcode.
Third-partyChecked 3 November 2026
Requirements
- The local packer needs an NSP or XCI dump and prod.keys. NSZ content must be decompressed first. The documented Windows GUI downloads the shell and tool dependencies for you.
- The shell serves several games, but programs and shaders are packed per title. Some games require a one-time shader capture on the device, and Oodle or LZ5 shader archives are not supported yet.
Get started
- Download the ns2ios-packer.exe release on Windows, then launch it and let it download the current shell and tools.
- Install the local Python dependencies when prompted and select the game package plus prod.keys.
- Start packing and keep the generated package and device instructions together.
- Install the signed shell or package with the supported device workflow, then complete any documented shader-capture step for that game.
Usage & troubleshooting
- The workflow is cross-platform: the shell can be built in CI, while packing runs locally on Windows, Linux or macOS. The Windows GUI is the easiest documented path.
- One shell does not mean universal game compatibility. Programs and shaders live inside Guest.framework and game data, so pack and validate each title separately.
- For Oodle/LZ5 shader archives or a missing game-specific capture, stop at the project’s support status rather than treating a package failure as a signing issue.