Setup Guide
Kingdom Hearts III
A guide to setting up Kingdom Hearts III for Archipelago.
Guide
Kingdom Hearts III Archipelago Setup Guide
This guide covers the current KH3 AP Alpha setup flow for PC/Steam KH3.
KH3 AP is currently an Alpha release. Start each seed from a fresh KH3 save, keep only the current seed's KH3 AP
.pakin~mods, and usePatch Gameafter installing a new APWorld.
Required Files
You need:
- Archipelago 0.6.6 or newer.
- The Kingdom Hearts III Alpha APWorld: download `kh3.apworld`.
- Either the direct KH3 player
.pakfrom an ap.aesais.net room, a KH3 player.apkh3/generated room.zip, or a standard Archipelago room generated with the current KH3 world so the client can build the pak after authentication. - For local
.pakgeneration from a.apkh3file or generatedAP_*.zip: the .NET 8 (x64) SDK, unless your host room already provides the KH3 player.pak. The KH3 client can run this generation automatically during import, connection, or game launch. Download the .NET 8 SDK from Microsoft (x64). Players who receive a ready-made.pakdo not need .NET or NuGet to use it. - The Garden of Assemblage mod
.pak. The KH3 client downloads or updates the release matching the installed APWorld version when you usePatch Game, or falls back to GitHub's latest full release when no usable match exists. You can also install it manually: download the latest GoA pak.
The kh3.apworld contains the KH3 world, KH3 client, KH3 pak generator, and
the bundled KH3 AP runtime files. Those runtime files include the KH3-specific
UE4SS loader and KH3 AP probe used for live check reporting and item delivery.
Install The APWorld
- Open the Archipelago Launcher.
- Click
Install APWorld. - Select the downloaded
kh3.apworld. - Restart the Archipelago Launcher.
After restarting, the launcher should show KH3 Client and KH3 Pak Generator.
If those entries do not appear, confirm that kh3.apworld was installed into
Archipelago's custom_worlds folder and restart the launcher again.
Install The Mods
- Open your KH3 install directory.
- Go to
KINGDOM HEARTS III/Content/Paks/~mods. - Put the Garden of Assemblage
.pakin~mods, or letPatch Gamedownload it for you. - Put your generated KH3 AP player
.pakin~mods, import a.pak,.apkh3, or generated.zipfrom the client'sSave Managertab, or put one.apkh3/generated.zipin~modsfor automatic preparation. - Keep only one active KH3 AP seed pak in
~mods. TheSave Managertab handles this automatically when switching managed runs.
Close and restart KH3 after changing .pak files. KH3 can keep old mod data in
memory while the game is running.
The KH3 client's KH3 Config tab has a folder icon on the Mods Dir row that
creates this folder if needed, then opens it once the KH3 directory is
configured.
Patch The Game
- Launch the Archipelago Kingdom Hearts III client.
- Open the
KH3 Configtab. - Select your KH3 install directory if it was not detected automatically.
- Confirm the
Save Dirpoints at the KH3 save folder. The auto-detected path is correct for most Steam installs. - Choose the save cleanup mode:
Backuparchives gameplay saves before cleanup.Deleteremoves gameplay saves during cleanup.
- Click
Patch Game.
This downloads the supported GoA pak if needed, installs the bundled KH3 AP
runtime into the KH3 Binaries/Win64 folder, and configures the KH3 AP probe.
The client rewrites the probe config after connecting so runtime events are
written to the correct bridge directory for your current AP room.
Close and restart KH3 after patching. The game only loads the UE4SS runtime and KH3 AP probe when KH3 starts.
The KH3 Dir field should point at the top-level KINGDOM HEARTS III game
folder. Selecting Binaries/Win64 is also accepted; the client will normalize
the path.
The KH3 Config tab also shows UE4SS, UE4SS Compatibility, and Probe DLL
status. After patching, Probe DLL should report Installed in root Mods.
Switch Between AP Runs
The Save Manager tab can retain several AP runs without mixing their KH3 saves:
- Close KH3.
- Click
Import Seed Pakand select a generated KH3 player.pak, a player.apkh3, or a generated Archipelago.zip. - Import any other runs you want available, then click
Activatebeside the run you want to play.
Importing a .apkh3 generates and stores its player pak. Importing a generated
.zip generates and stores every KH3 player in that archive; it does not
activate one automatically. This makes each player available as a separate run
row so you can choose the intended slot explicitly.
Activation disconnects the AP client, stores the current run's latest gameplay
saves and seed pak, installs the selected run as the only active AP seed pak in
~mods, restores that run's saved snapshot, and reopens its existing bridge
state. If installation fails, the client restores the previous pak and saves.
After a run connects successfully, it remembers that AP server's host and port.
Activating the run later places its remembered address in the server textbox,
ready for Connect. Connecting the same run to a different server updates its
remembered address. Use Edit beside a run to change its exact AP slot name,
server, and port. This edits only the connection profile; it does not rename or
alter the seed pak's embedded player identity. Passwords are never stored with
the run.
After a successful connection, the client automatically copies the single
matching player seed pak from ~mods into managed run storage. Reconnecting to
an already managed pak does not copy it again unless that installed file changed.
If ~mods has no KH3 AP seed pak but contains exactly one .apkh3 or generated
.zip, Connect and Launch KH3 first generate the player pak, add it to
managed storage, and install it as the active pak. A generated .zip containing
multiple KH3 players is automatic only when the client's current slot name
matches exactly one player in the archive; otherwise import it from Save Manager
and activate the desired player. If more than one seed container is present in
~mods, move all but the intended source out of that folder. After generation,
managed import, and installation all succeed, the client moves the processed
source out of ~mods into its generated-pak archive. A source imported from
Downloads or any folder other than ~mods is left where it is.
If no KH3 seed pak or seed container is available at all, Connect opens a
slot-name dialog. Enter the exact room slot name. After the server authenticates
that slot, an ArchipelagoMine/ap.aesais.net room lets the client resolve the
slot's signed player download automatically. A hosted .pak is managed and
installed directly; a hosted .apkh3 or generated .zip is downloaded and
processed into the player pak first. The HTTPS requests use the certificate
roots bundled with the client, so the user does not have to visit the website
in a browser first. Local ArchipelagoMine rooms can advertise their local HTTP
room URL through the same flow.
When no hosted player download is advertised, or a current room's hosted
download is temporarily unavailable, the client uses the player-scoped KH3
generation data carried by the normal Archipelago connection. It creates a
local .apkh3, generates and manages the pak, installs it, and then finishes
bridge setup. Keep KH3 closed during either process. Rooms made with older KH3
world versions that advertise neither source still require their .apkh3 or
generated .zip file.
If one AP seed pak is installed but its seed does not match the selected room,
the client detects that from the room handshake before sending a slot name. It
copies the old pak and current run saves into managed run storage, removes
only the live pak from ~mods, and opens the slot-name dialog for the new room.
If the server rejects a slot name that was inferred from an installed pak, the
client performs the same preservation and offers one dialog retry. KH3 must be
closed; manually entered invalid names are still reported as normal errors.
While generation is running, the client displays the current phase in the
window title and animates its progress bar. The Connect and Launch buttons show
Working...; the log also records generation, managed import, installation,
and source-archive phases. Pak generation can take about a minute per KH3
player and the client remains responsive during it.
Automatic launch still runs the normal save-seed safety check after installing the pak. KH3 is not launched when the active AP save folder belongs to another seed.
Delete Entire Run is available only for inactive runs and requires a second
confirmation. It deletes that run's stored pak, AP save snapshot, and matching
bridge folder. Vanilla backups never appear in Save Manager; use Restore Vanilla KH3 on the Config tab to return to protected vanilla saves.
Start A Seed
- Generate or join an Archipelago room that includes Kingdom Hearts III.
A room from ap.aesais.net
- Make sure GoA is installed;
Patch Gamecan install it for you. - Keep KH3 closed, leave
~modswithout a KH3 AP player pak, and clickConnect. - Enter the exact room slot name. The client downloads that slot's hosted
.pakor.apkh3, processes it when needed, and installs the resulting pak. - Open the
KH3 Bridgetab and confirmConnection,Installed Pak, andSave Seedmatch the room you are joining. - Launch KH3 from Steam or with the
Launch KH3button in the client. - Start a fresh KH3 save for the seed.
Standard Archipelago
- Make sure GoA is installed;
Patch Gamecan install it for you. - Keep KH3 closed, leave
~modswithout a KH3 AP player pak, and clickConnect. - Enter the exact room slot name in the dialog. The client authenticates, generates and installs that slot's pak, and keeps the UI responsive while it works.
- Open the
KH3 Bridgetab and confirmConnection,Installed Pak, andSave Seedmatch the room you are joining. - Launch KH3 from Steam or with the
Launch KH3button in the client. - Start a fresh KH3 save for the seed.
You can still download/import the player .apkh3 or generated Archipelago
.zip before connecting. This is the fallback for an older room and is useful
when you want to prepare the pak without authenticating to its server.
As a shortcut, put exactly one .apkh3 or generated .zip in ~mods while no
KH3 AP player pak is installed. Connect or Launch KH3 will perform the
generation, managed import, and installation automatically. Multi-player
archives still require an unambiguous matching client slot name.
Fix A Missing NuGet Source
The .NET SDK includes the NuGet tooling; you do not need to install NuGet
separately. The first local pak build needs an enabled package source that
provides the bundled randomizer's dependencies; this is normally nuget.org.
UnrealPak is bundled with the KH3 APWorld on Windows and does not need a
separate installation.
If the pak generator reports that it cannot find packages such as
UE4DataTableInterpreter or UAssetAPI, list the configured package sources:
dotnet nuget list source
If nuget.org is missing, add it and then run the KH3 Pak Generator again:
dotnet nuget add source "https://api.nuget.org/v3/index.json" --name nuget.org
If nuget.org is listed but disabled, enable it instead:
dotnet nuget enable source nuget.org
Linux Pak Generation
NuGet restore works the same way on Windows and Linux. The packaging tool is
platform-specific: Windows uses the UnrealPak bundled with the KH3 APWorld,
while Linux uses repak v0.2.3. The pak generator normally uses repak from
PATH or downloads the pinned Linux x64 build into its tool cache automatically.
On Manjaro, you can install the .NET 8 SDK and repak manually if the automatic tool setup is unavailable:
sudo pacman -S dotnet-sdk-8.0
mkdir -p ~/.local/bin /tmp/repak-install
cd /tmp/repak-install
curl -L -o repak.tar.xz \
https://github.com/trumank/repak/releases/download/v0.2.3/repak_cli-x86_64-unknown-linux-gnu.tar.xz
tar -xf repak.tar.xz
install -m 755 repak_cli-x86_64-unknown-linux-gnu/repak ~/.local/bin/repak
Make sure ~/.local/bin is in the environment used to launch Archipelago, or
set KH3_REPAK_PATH to the installed executable:
export PATH="$HOME/.local/bin:$PATH"
export KH3_REPAK_PATH="$HOME/.local/bin/repak"
For a clean start, use the trash icon on the Save Dir row before starting a
new seed. This archives or deletes gameplay save files after a second
confirmation click while keeping settings-style files in place. Close KH3 first
so save files are not locked. This is recommended when switching rooms or
regenerated seeds.
If Auto remove saves on new seed is enabled, the client can perform that
cleanup automatically when it detects saves from a different seed and KH3 is not
running.
Playing
If you load an older KH3 save from before an AP item was received, the KH3 client replays received AP items so the in-game state can catch back up. Normal title-screen loads, manual saves, autosaves, and death-screen continues are supported by the replay system.
The KH3 Bridge tab shows the live runtime diagnostics while playing, including
current save slot, slot replay indices, pending/applied items, blocking UI
state, safe runtime context, recent KH3 loot, and recent AP item grants.
UE4SS Compatibility
KH3 AP ships a bundled KH3-specific UE4SS runtime. The Patch Game button
treats that runtime as the supported setup for AP play.

If another UE4SS install is already present, the client preserves the existing
Mods folder and merges Mods/mods.txt, but it may replace UE4SS loader/proxy
files such as UE4SS.dll, dwmapi.dll, xinput1_3.dll, and
UE4SS-settings.ini. Replaced files are backed up beside the original file with
an .apbak-<timestamp> suffix.
Lua-only UE4SS mods are the most likely to coexist with KH3 AP. Other C++ UE4SS mods are higher risk because they may have been built against a different UE4SS runtime or ABI.
Troubleshooting
- If the game gives different chest rewards than the KH3 client logs, remove
old AP paks from
~mods, download the current room's KH3.pak, and restart KH3. - If checks are not appearing in the client, confirm the KH3 client is
connected before loading into KH3 and that
Patch Gamehas been run from theKH3 Configtab.Probe DLLshould list asInstalled in root Mods. - If switching to a new room or regenerated seed, clear KH3 saves and install
only the new generated KH3 AP
.pak. TheSave Seedrow on theKH3 Bridgetab should match the installed room. - If the client blocks connection because existing saves belong to a different
seed, close KH3 and use the
Save Dirtrash icon or enableAuto remove saves on new seed. - If
KH3 Clientdoes not appear in the launcher, reinstallkh3.apworldand restart Archipelago.