LICENSE Documentation

Official TypeScript developer resources and documentation for PrismLauncher/LICENSE. Verified technical context for AI.

0 stars TypeScript TypeScript 1 file ยท ~64,239 tokens
RAW Doc

1. Project Overview & Quickstart (PrismLauncher/LICENSE)

LICENSE

Open-source repository PrismLauncher/LICENSE

Repository Details

Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.

2. Official Technical Reference & Guides (PrismLauncher/PrismLauncher.github.io)

File: README.md

prismlauncher.org

Development Environment

Nix devShell

A devShell is provided in shell.nix. It is also exposed in the flake in the
root of this repository. You may use nix-direnv by copying
.envrc.example to .envrc.

Manual

Install pnpm.

clone repository:

sh
git clone https://github.com/PrismLauncher/prismlauncher.org.git

run local build:

sh
pnpm install
pnpm run dev

File: src/content/docs/wiki/development/build-instructions.mdx


title: "Build Instructions"

import { Tabs, TabItem } from "@astrojs/starlight/components";

Compiling manually

Prerequisites

  • A recent-ish operating system release
    • Windows 10 (1809 or later. Older versions may be supported, but aren't tested)
    • macOS >= 12
    • Ubuntu >= 22.04 (or equivalent)
  • A C++ compiler supporting at least C++17.
    • This includes GCC >= 8, Clang >= 5, and MSVC >= 19.15
  • Java JDK <= 17
  • cmake >= 3.22
  • ninja
  • extra-cmake-modules
  • Qt 6.0 or later, with the following addons/plugins:
    • Qt NetworkAuth
    • Qt Image Formats
    • Qt Svg
  • cmark
  • gamemode (required at build time, optional at runtime. Only on Linux)
  • glxinfo (required at runtime, only on Linux)
  • libarchive
  • libGL headers (only on Linux)
  • libqrencode
  • pciutils (required at runtime, only on Linux)
  • scdoc (optional at build time, used to generate manpages)
  • tomlplusplus
  • vulkan-headers
  • zlib

:::note
winget is installed by default on newer versions of Windows 11
:::

You should first install winget, a package manager for Windows.

Once winget is available, install the MSVC toolchain with:

console
winget install --source winget --exact --id Microsoft.VisualStudio.2022.BuildTools --override '--add Microsoft.VisualStudio.Workload.VCTools;includeRecommended'

:::caution
The installation of vcpkg bundled with VS 2026 is currently broken, and is thus not recommended. You can read more about this here.

As a workaround, you can git clone the repository at https://github.com/Microsoft/vcpkg and set VCPKG_ROOT to its location.

This does not affect VS 2022!
:::

Install JDK 17 with:

console
winget install --source winget --exact --id EclipseAdoptium.Temurin.17.JDK

We will also be using Git:

console
winget install --source winget --exact --id Git.Git

Qt can then be installed with aqt:

console
winget install --source winget --exact --id miurahr.aqtinstall
aqt install-qt windows desktop 6 win64_msvc2022_64 -m qtimageformats qtnetworkauth

MSYS2 may be installed with winget, or by following the setup guide here:

console
winget install --exact --id MSYS2.MSYS2 --source winget

Install JDK 17 with:

console
winget install --source winget --exact --id EclipseAdoptium.Temurin.17.JDK

We require the CLANG(ARM)64 environment. After starting the environment, you may run the following to install all dependencies:

console
pacman -Syu pactoys git
pacboy -S \
  toolchain:p \
	cmake:p ninja:p \
	extra-cmake-modules:p \
	qt6-base:p qt6-imageformats:p qt6-networkauth:p qt6-svg:p \
	cmark:p \
	libarchive:p \
	qrencode:p \
	tomlplusplus:p \
	vulkan-headers:p \
	zlib:p

The XCode toolchain can be installed with:

text
xcode-select --install

Qt and other dependencies can then be installed with the following Homebrew command:

console
brew install cmake ninja extra-cmake-modules openjdk@17 vcpkg qt
git clone https://github.com/Microsoft/vcpkg ~/vcpkg
export VCPKG_ROOT="$HOME/vcpkg"
console
sudo apt install \
  build-essential \
  cmake ninja-build extra-cmake-modules pkg-config scdoc \
  qt6-base-dev qt6-image-formats-plugins qt6-networkauth-dev qt6-svg-dev \
	cmark gamemode-dev libarchive-dev libcmark-dev libgl1-mesa-dev libqrencode-dev libtomlplusplus-dev libvulkan-dev zlib1g-dev \

To install JDK 17 on Debian:

console
sudo apt install wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update && sudo apt install temurin-17-jdk

While on Ubuntu (or derivatives) you can just:

console
sudo apt install openjdk-17-jdk
console
sudo pacman -S \
  base-devel \
  cmake ninja extra-cmake-modules pkg-config scdoc \
  qt6-base qt6-imageformats qt6-networkauth qt6-svg \
  cmark gamemode libarchive mesa qrencode tomlplusplus vulkan-headers zlib \
  jdk17-openjdk

Getting the source

We use Git for our version control. The command below will clone the repository, and fetch all submodules that come with it

console
git clone --recursive https://github.com/PrismLauncher/PrismLauncher.git
cd PrismLauncher

The rest of the documentation assumes you have already cloned the repository.

Building the source

Configuration

Open "x64 Native Tools PowerShell" in Windows Terminal

powershell
cmake --preset windows_msvc -D CMAKE_PREFIX_PATH="C:\path\to\Qt"
bash
cmake --preset windows_mingw
bash
cmake --preset macos \
  -D CMAKE_PREFIX_PATH="/opt/homebrew/opt/qt"
  -D CMAKE_OSX_DEPLOYMENT_TARGET=12 \
bash
cmake --preset linux

Compilation

bash
cmake --build --preset windows_msvc --config Debug
bash
cmake --build --preset windows_mingw --config Debug
bash
cmake --build --preset macos --config Debug
bash
cmake --build --preset linux --config Debug

Installation

powershell
cmake --install build --config Debug
cmake --install build --config Debug --component portable # If you want to install a portable version
bash
cmake --install build --config Debug
cmake --install build --config Debug --component portable # If you want to install a portable version
bash
cmake --install build --config Debug
bash
cmake --install build --config Debug
cmake --install build --config Debug --component portable # If you want to install a portable version
DESTDIR="$pkgdir" cmake --install build --config Debug # If you're installing for a package

Building with Nix (Linux and macOS)

Nix is a tool for handling reproducible builds across multiple platforms.

After installing Nix and checking out the repository, you can run the following command to build a debug package:

bash
nix build --print-build-logs '.#prismlauncher-debug'

You can also enter a development shell with all of the tools required to build manually:

bash
nix-shell
cmake --preset linux_debug
cmake --build build
cmake --install build

Building a Flatpak (Linux)

Flatpaks allow for you to quickly build Prism and run it on any distribution

Make sure Flathub is setup.

bash
# Install Flatpak build tools
flatpak install flathub org.flatpak.Builder

# Clone the source repository
git clone --recursive https://github.com/prismlauncher/PrismLauncher

# Enter the Flatpak directory
cd PrismLauncher/flatpak

# Run the build
flatpak run org.flatpak.Builder \
  --user \
  --install \ # Comment if you only want to build, not install
  --install-deps-from=flathub \
  --ccache \
  --repo=repo \
  builddir \
  org.prismlauncher.PrismLauncher.yml

File: src/content/docs/wiki/development/development-builds.md


title: Development Builds

:::caution
Please understand that these builds are not intended for most users. There may be bugs, and other instabilities. You have been warned.
:::

There are per-commit development builds available here. Debug information is present within the binaries, making their file sizes larger than otherwise normal.
If you don't have a GitHub account, you can download them using nightly.link.

Non-portable binaries are currently available for Windows as a system install, macOS .app, Linux tarball, and AppImage.

Portable dev-builds are also provided; for both Windows and Linux.

For Arch, Debian/Ubuntu, Fedora, OpenSUSE, Gentoo and Windows, respectively, you can use these packages for the latest development versions:


File: src/content/docs/wiki/development/ides-and-tooling.md


title: IDEs and Tooling

There are a few tools that you can set up to make your development workflow smoother. In addition, some IDEs also require a bit more setup to work with Qt and CMake.

sccache

sccache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.

You can find out how to download it here. After setting up, builds will be incremental, and the builds after the first one will be much faster.

VS Code

To set up VS Code, you can download the C/C++ extension, since it provides IntelliSense auto complete, linting, formatting, and various other features.

Then, you need to set up the configuration. Go into the command palette and open up C/C++: Edit Configurations (UI). There, add a new configuration for PrismLauncher.

  1. Add the path to your Qt include folder to includePath
  2. Add -L/{path to your Qt installation}/lib to compilerArgs
  3. Set compileCommands to ${workspaceFolder}/build/compile_commands.json
  4. Set cppStandard to c++17 or higher.

For step 3 to work, you also have to reconfigure CMake to generate a compile_commands.json file. To do this, add -DCMAKE_EXPORT_COMPILE_COMMANDS=ON to the end of your CMake configuration command and run it again. You should see a file at build/compile_commands.json.

Now the VS Code setup should be fully working. To test, open up some files and see if any error squiggles appear. If there are none, it's working properly!

Here is an example of what .vscode/c_cpp_properties.json looks like on macOS with Qt installed via Homebrew:

json
{
	"configurations": [
		{
			"name": "Mac (PrismLauncher)",
			"includePath": [
				"${workspaceFolder}/**",
				"/opt/homebrew/opt/qt@6/include/**"
			],
			"defines": [],
			"macFrameworkPath": [
				"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
			],
			"compilerPath": "/usr/bin/clang",
			"compilerArgs": ["-L/opt/homebrew/opt/qt@6/lib"],
			"compileCommands": "${workspaceFolder}/build/compile_commands.json",
			"cStandard": "c17",
			"cppStandard": "c++17",
			"intelliSenseMode": "macos-clang-arm64"
		}
	],
	"version": 4
}

CLion

  1. Open CLion
  2. Choose File->Open
  3. Navigate to the source folder
  4. Go to settings Ctrl+Alt+S
  5. Navigate to Toolchains in Build, Execution, Deployment
    • Set the correct build tools (see here)
    • CMake: cmake (optional)
    • Make: make (optional)
    • C Compiler: gcc
    • C++ Compiler: g++
    • Debugger: gdb (optional)
  6. Navigate to CMake in Build, Execution, Deployment
    • Set Build directory to build
  7. Navigate to Edit Configurations (see here)
    • Create a new configuration
    • Name: All
    • Target: All targets
    • Choose the newly added configuration as default

Now you should be able to build and test Prism Launcher with the Build and Run buttons.

Qt Creator

  1. Open Qt Creator.

  2. Choose File->Open File or Project.

  3. Navigate to the Launcher source folder you cloned and choose CMakeLists.txt.

  4. Read the instructions that just popped up about a build location and choose one.

  5. You should see "Run CMake" in the window.

    • Make sure that Generator is set to "Unix Generator (Desktop Qt 6.x.x GCC 64bit)".
      • Alternatively this is probably "Unix Generator (Desktop Qt 5.12.x GCC 64bit)"
    • Hit the "Run CMake" button.
    • You'll see warnings, and it might not be clear that it succeeded until you scroll to the bottom of the window.
    • Hit "Finish" if CMake ran successfully.
  6. Cross your fingers, and press the "Run" button (bottom left of Qt Creator).

    • If the project builds successfully it will run and the Launcher window will pop up.

File: src/content/docs/wiki/getting-started/catpacks.md


title: CatPacks

Installation

The CatPacks folder location is as follows:

  • on Windows: %appdata%\PrismLauncher\catpacks
  • on Mac: ~/Library/Application Support/PrismLauncher/catpacks
  • on Linux: ~/.local/share/PrismLauncher/catpacks
  • on Flatpak: ~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher/catpacks

After you move the CatPack to the mentioned folder restart Prism Launcher, then open the global settings.
In the Launcher section, click the User Interface tab, and under Cat, choose the newly added CatPack.
Click the Close button, and enjoy your CatPack.

CatPack Types

1. Simple CatPack

The most basic CatPack is a simple image(that's all).

2. Advanced CatPack

Is a folder that contains a catpack.json file and some images.

For example, the structure of a CatPack is as follows:

text
โ””โ”€โ”€ test_catpack
    โ”œโ”€โ”€ catpack.json
    โ”œโ”€โ”€ christmas.png
    โ”œโ”€โ”€ oneDay.png
    โ”œโ”€โ”€ maxwell.png
    โ”œโ”€โ”€ newyear.png
    โ””โ”€โ”€ newyear2.png

The catpack.json looks as follows:

json
{
	"name": "My Cute Cat",
	"default": "maxwell.png",
	"variants": [
		{
			"startTime": {
				"day": 12,
				"month": 4
			},
			"endTime": {
				"day": 12,
				"month": 4
			},
			"path": "oneDay.png"
		},
		{
			"startTime": {
				"day": 20,
				"month": 12
			},
			"endTime": {
				"day": 28,
				"month": 12
			},
			"path": "christmas.png"
		},
		{
			"startTime": {
				"day": 30,
				"month": 12
			},
			"endTime": {
				"day": 1,
				"month": 1
			},
			"path": "newyear2.png"
		},
		{
			"startTime": {
				"day": 28,
				"month": 12
			},
			"endTime": {
				"day": 3,
				"month": 1
			},
			"path": "newyear.png"
		}
	]
}

Fields description:

  • name the name of the CatPack
  • default the path to the default cat
  • variants a list of the cats that are visible only on specific days/periods.
  • startTime the day from which the variant is visible (inclusive)
  • endTime the day until the variant is visible (inclusive)
  • path the path to the variant

All paths are relative, so you only need to put the name of the image from the CatPack(with extension).

The default cat is the cat displayed in all periods we can't match any variants.

The variant matching is done by looking if today is between startTime and endTime, if is matched then that variant is displayed.

The order of variants matters as the first variant that matches the period is returned ignoring the rest.

So for the mentioned example, the variants are displayed as follows:

  • oneDay.png will be visible only on 12 April each year
  • christmas.png from 20 December until 28 December
  • newyear.png on 29 December
  • newyear2.png from 30 December until 1 January
  • newyear.png from 2 January until 3 January
  • maxwell.png for the periods that were not mentioned

So an example of order matter is if the newyear.png and newyear2.png orders would be reversed then newyear2.png will never be displayed.


File: src/content/docs/wiki/getting-started/change-themes.md


title: Change Themes sidebar: order: 9

Themes can help you spice up your launcher appearance.

Themes Downloads

Themes




























Icon Packs


How to install Themes & Icons

Here are the instructions to get your themes & icons up and working.

Make sure you are using Prism Launcher 6.0 or later.

Installing Themes

  • Download a theme above and copy the zip file to your Themes Directory.

    • Open your local Prism Launcher Themes folder:
      • on any OS: in Prism, select Folders > Widget Themes

      • on Windows: %appdata%\PrismLauncher\themes

      • on Mac: ~/Library/Application Support/PrismLauncher/themes

      • on Linux: ~/.local/share/PrismLauncher/themes

      • on Flatpak: ~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher/themes

  • Unzip the newly downloaded theme in the themes folder. Make sure the folder structure looks like .../PrismLauncher/themes/your_theme_name/theme.json.

  • Restart Prism Launcher, then open the global settings. In the Launcher section, click the User Interface tab, and under Widgets (make sure you're changing Widgets and not Icons), choose the newly added theme. Click the Close button, and enjoy your fresh new Prism Launcher.

Installing Icon Packs

  • Download a Icons pack above and copy the zip file to your Prism Launcher Directory

    • Open your local Prism Launcher Directory:
      • on any OS: in Prism, select Folders > Icon Theme

      • on Windows: %appdata%\PrismLauncher

      • on Mac: ~/Library/Application Support/PrismLauncher

      • on Linux: ~/.local/share/PrismLauncher

      • on Flatpak: ~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher

  • Extract the contents of the zip into the iconthemes folder (if the folder doesn't exist do this next step). Make sure the folder structure looks like .../PrismLauncher/iconthemes/your_theme_name/index.theme.

    • In the PrismLauncher folder, create a new folder named iconthemes (you should only have to do this once).
  • Restart Prism Launcher, then open the global settings. In the Launcher section, click the User Interface tab, and under Icons (make sure you're changing Icons and not Widgets), choose the Custom icons. Click the Close button, and enjoy your new icons.

Submitting Themes

  • Fork the PrismLauncher/Themes repository.

  • Create a folder in the themes folder named after your theme name (Example: Rainbow-Cake).

    • In this newly created folder add files named README.md, theme.json, themeStyle.css and theme.json.license.

      • In theme.json.license add the text below, and replace "Year" with the current year, replace "Theme Owner" with the theme creator nickname, "License name" with the license of your theme.
      text
      SPDX-FileCopyrightText: "Year" "Theme owner"
      
      SPDX-License-Identifier: "License SPDX Identifier"
      • (Note: theme.json and themeStyle.css are the files that contain your theme.)

      • Format your README.md just like this Template Readme and replace every text between a " like "This" with their respective use.

    • Add a screenshot of your theme and rename it to preview.png.

      • Then create a file named preview.png.license and add the text below, and replace "Year" and Screenshot owner" with their respective use.
      text
      SPDX-FileCopyrightText: "Year" "Screenshot owner"
      
      SPDX-License-Identifier: CC0-1.0
  • Verify that you did everything correctly, if you did please proceed to the next and last step.

  • Make sure to ensure REUSE compliance learn more at reuse.software

  • Now you can open a Pull Request, and we will add your theme as fast as possible to the repository and website.

Submitting Icon Packs

  • Fork the PrismLauncher/Themes repository.

  • Create a folder in the icons folder named after your theme name (Example: Twemoji).

    • In this newly created folder add files named README.md, index.theme, index.theme.license and a folder named scalable containing the .svgs of your icons.

      • In index.theme.license add the text below, and replace "Year" with the current year, replace "Theme Owner" with the theme creator nickname, "License name" with the license of your theme.
      text
      SPDX-FileCopyrightText: "Year" "Theme owner"
      SPDX-License-Identifier: "License SPDX Identifier"
      • (Note: index.theme is the file that contains your icon data.)

      • Format your README.md just like this Template Readme and replace every text between a " like "This" with their respective use.

    • Add a screenshot of your theme and rename it to preview.png.

      • Then create a file named preview.png.license and add the text below, and replace "Year" and Screenshot owner" with their respective use.
      text
      SPDX-FileCopyrightText: "Year" "Screenshot owner"
      SPDX-License-Identifier: CC0-1.0
  • Verify that you did everything correctly, if you did please proceed to the next and last step.

  • Make sure to ensure REUSE compliance learn more at reuse.software

  • Now you can open a Pull Request, and we will add your theme as fast as possible to the repository and website.


File: src/content/docs/wiki/getting-started/command-line-interface.md


title: Using Prism Launcher via the Command Line sidebar: label: Command Line Interface

text
Usage: prismlauncher [-h] [-v] [-d dir] [-l launch] [-s server] [-a profile] [-I import] [--show show] [--alive] [--help-all]

Options:
  -d, --dir directory    Use a custom path as application root (use '.' for current directory)
  -l, --launch instance  Launch the specified instance (by instance ID)
  -s, --server address   Join the specified server on launch (only valid in combination with --launch)
  -a, --profile profile  Use the account specified by its profile name (only valid in combination with --launch)
  --alive                Write a small 'live.check' file after the launcher starts
  -I, --import file      Import instance from specified zip (local path or URL)
  --show show            Opens the window for the specified instance (by instance ID)
  -h, --help             Displays help on commandline options.
  --help-all             Displays help, including generic Qt options.
  -v, --version          Displays version information.

What is an instance ID, and where do I find it?

The instance ID is the name of the folder where your instance is contained.

To find it, right-click on the instance you want to know the ID of, and then click on Instance Folder within the context menu.

Now, just copy the name of the folder that opened.

Prism Launcher is still opening after I close Minecraft

Currently, the Close Prism Launcher after game window opens option opens Prism Launcher after closing Minecraft, even when launched from the CLI.

To disable this, open Settings, then select Minecraft, and finally, un-check Close Prism Launcher after game window opens or check Quit the launcher after game window closes.


File: src/content/docs/wiki/getting-started/controller-support.md


title: Controller Support sidebar: order: 9

:::note[Before proceeding]

  • Please ensure that you are comfortable with the mod installation process within Prism Launcher.
  • A full guide on this can be found here.
  • Not all game versions are supported at the time of writing, including those before 1.12.2.
  • Please ensure a compatible version of Java is selected. You can learn how to do so here.

Finally, if you don't have one already, you must create an instance with the game version and mod loader of your choice.
:::

Making use of Controllers

This includes Steam Deck's Gamepad, PlayStation/Xbox controllers and so on.

Fabric/Quilt

Before you continue, ensure that the correct version of the Fabric API mod on Fabric or the Quilted Fabric API mod on Quilt for your instance is installed.

Controlify (for Minecraft Versions 1.19.4 or newer)

For Minecraft 1.19.4 or newer, we recommend Controlify. It's a controller mod that has a lot of features that aren't in MidnightControls.

It can be installed using Prism Launcher's mod downloader function through either Modrinth (recommended) or CurseForge. Once installed, please launch your instance and navigate to the in-game controller menu (Options -> Controls -> Controller Settings) and do the calibration. Once that's done, you're ready to use your controller!

MidnightControls (for Minecraft Versions 1.18 or newer)

For Minecraft 1.18 or newer, we recommend MidnightControls, an updated fork of LambdaControls.

It can be installed using Prism Launcher's mod downloader function through either Modrinth (recommended) or CurseForge. Once installed, please launch your instance and navigate to the in-game controls menu. Within the in-game controls menu, you may need to change the "Mode" setting to Controller in order for the game to respond to input from the gamepad. If it doesn't work, you can use the app linked in the mod to edit the controller mappings.

LambdaControls (for Minecraft Versions 1.16.2 to 1.18)

NOTE: This mod is currently unmaintained and hasn't been updated since June of 2021, so unless you really need to, use MidnightControls.

For Minecraft 1.16.2 to 1.18, we recommend LambdaControls.

It can be installed using Prism Launcher's mod downloader function through either Modrinth (recommended) or CurseForge. Once installed, please launch your instance and navigate to the in-game controls menu. Within the in-game controls menu, you may need to change the "Mode" setting to Controller in order for the game to respond to input from the gamepad. If it doesn't work, you can use the app linked in the mod to edit the controller mappings.

NeoForge

Controlify (for Minecraft Versions 1.20.3 or newer)

For Minecraft 1.20.3 or newer, we recommend Controlify. It's a controller mod that has a lot of features that aren't in MidnightControls or Controllable.

It can be installed using Prism Launcher's mod downloader function through either Modrinth (recommended) or CurseForge. Once installed, please launch your instance and navigate to the in-game controller menu (Options -> Controls -> Controller Settings) and do the calibration. Once that's done, you're ready to use your controller!

MidnightControls (for Minecraft Versions 1.21 or newer)

For Minecraft 1.21 or newer, we recommend MidnightControls, an updated fork of LambdaControls.

It can be installed using Prism Launcher's mod downloader function through either Modrinth (recommended) or CurseForge. Once installed, please launch your instance and navigate to the in-game controls menu. Within the in-game controls menu, you may need to change the "Mode" setting to Controller in order for the game to respond to input from the gamepad. If it doesn't work, you can use the app linked in the mod to edit the controller mappings.

Controllable (for Minecraft Versions 1.20.4 or newer)

For Minecraft versions 1.20.4 or above, we also recommend Controllable.

Controllable can be installed using Prism Launcher's mod downloader function through CurseForge. Once installed, you may now launch your instance, and find that the mod should begin working immediately.

Forge

Controllable (for Minecraft Versions 1.12.2 or newer)

For Minecraft versions 1.12.2 or above, we also recommend Controllable.

Controllable can be installed using Prism Launcher's mod downloader function through CurseForge. Once installed, you may now launch your instance, and find that the mod should begin working immediately.


File: src/content/docs/wiki/getting-started/create-instance.md


title: Creating an Instance sidebar: order: 4

To create an instance, simply click on the Add Instance button on the top menu bar, or right-click an empty area in the middle of the launcher, and select Create instance. You can then either create a new instance by selecting your desired Minecraft version and modloader, or import an existing modpack by selecting a mod platform from the sidebar on the left.

Editing an instance

Once an instance is created, you can right-click it to open a context menu with some basic settings. From this list, select Edit to access the edit menu.


File: src/content/docs/wiki/getting-started/data-location.md


title: Data Locations

Prism Launcher stores your data in your OS's standard application data folder. For the portable version, data is stored within its own directory. To find it, select Folders > Launcher Root in Prism. Below is a table containing the default locations for each OS:

OS Folder
Portable (Windows / Linux) In the PrismLauncher folder
Windows %APPDATA%/PrismLauncher
Scoop %HOMEPATH%\scoop\persist\prismlauncher
macOS ~/Library/Application Support/PrismLauncher
Linux ~/.local/share/PrismLauncher
Flatpak ~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher

Internal folder structure

Folder Purpose
assets Stores the game files.
cache Stores cached downloads.
catpacks Stores the catpacks.
icons Stores instance icons. (default)
iconthemes Stores launcher icons themes.
instances Stores user instances. (default)
java Stores the java instalations managed by the launcher.
libraries Stores libraries used to run Minecraft and Mod Loaders.
logs Stores the logs.
meta Stores the cached metadata information.
skins Stores the player skins.
themes Stores themes.
translations Stores GUI translations.