Quest Package Manager (QPM) is a command-line tool designed to simplify the management and creation of Quest mod projects. It acts as a package manager tailored for these projects, streamlining the handling of mods and their dependencies.
Key Features:
Package Management: Efficiently manages mod dependencies and automates installation processes.
Script System: Offers a script system similar to NPM, enabling users to configure workspaces and automate tasks.
NDK and Tool Downloading: Downloads and manages NDK installations, as well as sets up CMake and Ninja for development environments.
Doctor Check: Provides a diagnostic tool to ensure all project requirements are met and the environment is properly configured.
Local Cache Support: Leverages a local cache for faster restores and offline usage capabilities.
Functional Design Patterns: Built with functional patterns, immutability, and declarative code style for improved reliability and consistency.
Error Handling: Robust error handling ensures better user experience and project stability.
Audience & Benefit:
Ideal for developers and modders working on Quest projects, QPM enables streamlined workflows, efficient dependency management, and consistent build environments. It saves time by automating repetitive tasks and ensuring all necessary tools are properly configured. The tool's modular design and strong error handling make it a reliable choice for both small-scale and large-scale mod development.
QPM can be installed via winget, making it easy to integrate into your development workflow.
README
QPM (Quest Package Manager)
QPM is a package manager designed specifically for Quest/Beat Saber mods development. It streamlines the process of creating, sharing, and including dependencies in C++ projects.
Core Features
Package Creation & Management: Create packages and manage dependencies between mods
Version Control: Handle package versions and their dependencies
Build Integration: Seamlessly integrate with build systems
NDK Management: Download and configure Android NDK for Quest development
qpm version update Updates qpm to a newer version
qpm s/scripts build Script system similar to NPM for configuring workspaces
# Change QPM cache location (useful for dev drives)
qpm config cache path
# Set up NDK
qpm ndk resolve -d # Auto-downloads and configures NDK
NDK Management
Essential NDK Commands
# Check NDK configuration
qpm doctor
# List available NDK versions
qpm ndk available
# Download specific NDK version
qpm ndk download 26
# Pin project to NDK version
qpm ndk pin 26 --online
# List installed NDKs
qpm ndk list
# Auto-resolve NDK requirements
qpm ndk resolve -d # -d flag downloads if needed