What it IS
A tiny companion keybind bridge for this app: a RE-UE4SS Lua mod (PalworldTeamLab) that adds in-game hotkeys reminding you to check — or directly opening — this Team Lab web app while you play. It reads nothing from your save, writes nothing to game files, changes no gameplay values, hooks no game objects and runs no background loops. Failure mode is "nothing happens" (every engine call is pcall-wrapped), never a crash. Honesty note: it has not been run against the live game yet — community-test it before daily use.
Bindings & config — exactly what each option does
| Option | Default | What it does |
| actions.show_hint | F7 · ON | Logs "[TeamLab] Team Lab: open companion app — <your URL>" to UE4SS.log and (best-effort) prints the same hint on screen. |
| actions.open_app | CTRL+F8 · OFF | Opens your configured app URL in the default browser via os.execute('start ...'). OFF by default because it shells out of the game process (console flash, focus loss); the URL is sanitized against shell metacharacters. Enable only if you set app_url yourself. |
| actions.toggle_hints | F9 · ON | Flips the on-screen hint text on/off at runtime (log lines keep working). Each action takes its own keybind + modifiers ("CTRL"/"SHIFT"/"ALT") + enabled flag. |
| actions.cycle_teams | F10 · ON | Cycles through the teams in an optional teams.lua next to main.lua, showing "Team i/N: name — members" as the on-screen hint / log line. Display-only — it cannot change your in-game party. Get the file from this app: ⚔️ Combat → My Custom Builds → 📤 Export teams to mod. Without teams.lua the key just reports that none are loaded (never crashes). |
| app_url | placeholder | Where your deployed Team Lab lives (your Cloudflare Pages URL). Shown in hints; opened by open_app. |
| on_screen_hint | true | Master switch for on-screen text (KismetSystemLibrary:PrintString, best-effort — falls back to log-only). |
| hint_duration_seconds | 6.0 | How long the on-screen hint stays visible (0–120). Raise it if the text disappears before you can read it (accessibility). |
| hint_text | "" | Custom hint wording; empty = default text. Useful for shorter/larger-print phrasing. |
| log_verbose | false | Extra "[TeamLab] [debug]" lines (parsed config, each key registration, each action fire) — turn on when troubleshooting. |
Every option is type-checked at load; invalid values log a warning and fall back to these defaults. Old v1.1 configs (top-level keybind) are auto-mapped.
Capable of now — vs NOT capable of
✔ Can: register the 4 hotkeys above, write [TeamLab] log lines, show short on-screen text hints, cycle your exported team names + members on screen (teams.lua), and (opt-in) launch your browser at the app.
✘ Cannot: sort chests or containers (use the chest-sorting mods below), render overlays/custom in-game UI panels, read or import your pals from the save (use the My Pals tab's .sav import instead), or change any gameplay value. If a feature isn't in the table above, the mod does not do it.
Install — Path A: Vortex (full setup from zero)
1. Install
Vortex from
nexusmods.com/site (the "Vortex" download) and log in with your
Nexus account inside Vortex.
2. In Vortex → Games, search
Palworld and add it as a managed game (point it at your install if it isn't auto-found).
3. Install
RE-UE4SS first — grab it from its Palworld Nexus page (or the RE-UE4SS GitHub releases) and let Vortex deploy it; the mod below does nothing without UE4SS.
4. Download
PalworldTeamLab-mod.zip (ships next to this app) and drag it into Vortex's Mods drop zone — or drop the extracted folder straight into the UE4SS
Mods\ folder.
5. Deploy, then
verify placement: the folder must end up at
...\Pal\Binaries\Win64\ue4ss\Mods\PalworldTeamLab\ (Vortex's Palworld defaults are aimed at .pak mods, so check it landed in the UE4SS Mods folder, not
Pal\Content\Paks\).
Install — Path B: manual
1. With RE-UE4SS already installed, extract the zip so you get Pal\Binaries\Win64\ue4ss\Mods\PalworldTeamLab\Scripts\main.lua (older UE4SS layouts without the ue4ss subfolder: Pal\Binaries\Win64\Mods\). Game Pass uses WinGDK instead of Win64.
2. Enable it — either route works: keep the included empty enabled.txt inside the folder, or add PalworldTeamLab : 1 to Mods\mods.txt.
3. Make sure the built-in line Keybinds : 1 is present/enabled in mods.txt — UE4SS routes RegisterKeyBind through it.
4. Launch the game, open UE4SS.log (next to UE4SS.dll) and look for the [TeamLab] banner ("companion mod v1.3.0 loading..." then "loaded OK"). Then press F7 in-game.
5. Optional — team presets: in this app go to ⚔️ Combat → My Custom Builds → 📤 Export teams to mod, drop the downloaded teams.lua next to main.lua in Scripts\, restart (or Ctrl+R hot-reload) — then F10 cycles your saved teams on screen.
Troubleshooting
| Symptom | Fix |
| No [TeamLab] banner in UE4SS.log | Mod isn't loading: folder must be exactly Mods\PalworldTeamLab\Scripts\main.lua, with enabled.txt present or the mods.txt line added. |
| Banner shows, keys do nothing | Keybinds : 1 missing in mods.txt; action disabled in config (open_app ships OFF); game window not focused; or another mod grabbed the key — change that action's keybind. Set log_verbose = true to see what registered. |
| "invalid keybind" in log | Key name isn't a UE4SS Key enum (use F1–F12, A–Z, NUM_*, OEM_* — see docs.ue4ss.com). |
| Log line appears but no on-screen text | Expected on some builds — PrintString is best-effort; the log is the source of truth. Also check you didn't toggle hints off (F9). |
| Game patched, everything stopped | UE4SS itself needs updating (usually latest experimental build); this mod's Lua needs no change. |
| Uninstall | Delete the PalworldTeamLab folder (and its mods.txt line if added). Nothing else was touched. |
Full details in README_MOD.md inside the mod zip. Conflicts: none expected — the mod hooks nothing; only possible collision is another mod on the same key.