PalParty
Palworld party overlay with clickable invites, create/join controls, leader kick management, multilingual text, diagnostics and a crash-safe live green map overlay.
By Darudge
| Date uploaded | 2 days ago |
| Version | 0.4.19 |
| Download link | Darudge-PalParty-0.4.19.zip |
| Downloads | 25 |
| Dependency string | Darudge-PalParty-0.4.19 |
This mod requires the following mods to function
Thunderstore-unreal_shimloader
Thunderstore Mod Manager and r2modmanPlus support for RE-UE4SS.
Preferred version: 1.1.7README
PalParty
PalParty adds lightweight client-side parties to Palworld. Party members are synchronized through normal global chat and shown in a clickable in-game overlay. Version 0.4.19 keeps the working Y interface and the separate crash-safe UMG map layer for the live green party dot and player name.
Requirements
- Palworld Steam on Windows
- Thunderstore Mod Manager or r2modmanPlus
unreal_shimloader- Server setting
bAllowClientMod=True - Every player who wants party features and map markers must install this package
The dedicated server does not need this client display mod. Players without the mod can still join and play, but they cannot use party commands or see party markers.
Commands
In-game interface
Press Y in-game to open or close the clickable overlay. It contains:
- the online-player list with an
Nodig uitbutton; - an invitation inbox with
AccepterenandWeigerenbuttons; - the party roster with leader status and a leader-only
Kickbutton; - party creation/joining, leaving and marker controls.
Open the native Palworld map with M. PalParty adds a separate non-interactive green dot and name over the map using the replicated live player location. The normal map remains underneath and keeps its controls.
Use these in the normal Palworld global chat. Use !party, not /party, because Palworld treats slash commands as admin commands.
!party create <code>
!party join <code>
!party invite <code> <player name>
!party accept <code>
!party decline <code>
!party list
!party kick <player name>
!party leave
!party toggle
!party help
Example:
!party create Vikings
!party join Vikings
!party list
The player who creates the party becomes leader. Only the leader can use !party kick <player name>. The mod writes chat confirmations when a party is created, joined, left, or a player is kicked. An invitation does not add a player immediately: the invited player must open Y → Uitnodigingen and click Accepteren first.
Map markers
Version 0.4.19 does not edit Palworld's native GetPlayerInfoForMap return value. That native hook caused a reproducible UE4SS crash when the map opened with a party active. Instead, PalParty draws a separate green ● plus the player name over the normal map and reads only the replicated CachedPlayerLocation. Every client that wants to see party markers must have PalParty installed, and the server must keep bAllowClientMod=True.
Important limitation
This is a client-side party protocol. Party membership is synchronized through chat and is not server-authoritative. A player who does not have the mod cannot be added to the roster, and a kicked player can use !party join <code> again if the leader allows it. A future Windows server package could make membership authoritative.
Configuration
The package includes PalParty/Scripts/config.lua. PalParty also has safe settings embedded in main.lua, so a config-path problem can no longer stop the mod from loading.
Enabled: enable or disable party map markersShowNames: keep names on party markersShowOwnMarker: leave the local player's own marker aloneChatConfirmations: send party confirmations to global chatLanguage:auto,nl,en,de,frores;autodetects the process locale when availableDebug: write extra diagnostics toUE4SS.logandPalParty.logLogFileName: name of the built-in diagnostic log file
The built-in log is written beside the shimloader configuration when available, or otherwise to %LOCALAPPDATA%\\PalParty.log. It records startup, keybind registration, UI creation, clicks, chat commands, map-overlay renders and caught errors.
To force a language, edit PalParty/Scripts/config.lua in the profile and change the setting, for example Language = "en" or Language = "de". The party commands themselves stay the same in every language.
CHANGELOG
Changelog
0.4.19
- Stable Thunderstore release of the working
Yclickable party overlay. - Keeps the crash-safe UMG map overlay and does not register the unsafe native map hook.
- Refreshes runtime version diagnostics so the loaded package version is clear in
PalParty.log.
0.4.18
- Removes the
PalPlayerState:GetPlayerInfoForMaphook entirely after reproducible UE4SS crashes while opening the map with a party active. - Adds a separate non-interactive UMG map layer with a green dot and player name, driven by replicated
CachedPlayerLocation. - Updates only while the map is open, avoiding background native scans and reducing stutter.
- Keeps the normal Palworld map controls underneath the overlay.
- Removes the unsafe
controller:GetPlayerState()identity fallback.
0.4.17
- Fixes native map visibility by supplying a complete live map record in the pre-hook instead of editing the already-filtered return value.
- Uses replicated
CachedPlayerLocationandCachedPlayerRotation, so remote pawn transforms are not touched while the map opens. - Keeps the party member's name and sets Palworld's native green
bIsFriendflag. - Removes the unsafe generated
controller:GetPlayerState()fallback that could call a null native object during replication.
0.4.16
- Prevents the global left-mouse hook from running during normal gameplay.
- Coalesces rapid overlay clicks before they are queued on the game thread.
- Keeps the native map marker hook and party-marker behavior unchanged.
- Adds a clear runtime version line for this stability build.
0.4.15
- Emergency stability fix for the live map hook.
- Stops rewriting the native player name string inside the map return value.
- Keeps Palworld's own name and live transform and only changes the friend flag.
- Corrects the runtime version diagnostic so the loaded version is visible in the log.
0.4.14
- Reduces online-player scans to one background scan about every five seconds.
- Refreshes the player list once when the overlay opens instead of scanning during every UI update.
- Prevents duplicate scans caused by
ui_update()and the UI refresh loop both enumeratingPalPlayerStateobjects. - Throttles diagnostic scan logging to avoid frequent synchronous log-file writes and intermittent frame stalls.
0.4.13
- Reworks the map integration to use UE4SS's post-hook return-value pattern.
- Preserves Palworld's native live transform instead of returning a hand-built Lua table.
- Marks accepted party members with Palworld's native
bIsFriendflag for the green dot and keeps their name visible. - Adds diagnostics showing when the native map function is called and when a green party marker is written.
- Removes the unsafe pawn/transform construction from the map hook.
0.4.12
- Replaces the direct
EnterChat_ReceiveUE4SS call with Palworld's saferPalPlayerState.EnterChatentry point. - Avoids the native game-thread abort observed immediately after sending a party invitation on the affected Palworld build.
- Logs whether a valid local PlayerState was found and whether Palworld accepted the chat message.
0.4.11
- Uses Palworld's real
PalPlayerController.EnterChat_Receive(FString, Category)server RPC for cross-client party messages. - Fixes remote invite delivery: the invited player now receives a pending invitation instead of the invite being lost locally.
- Adds diagnostics for incoming party chat, chat transport and pending invitations.
- An invitation is only a request; the invited player must click
Accepterenbefore appearing in the party roster.
0.4.10
- Rebuilds the overlay automatically when its UMG widget becomes invalid after a profile reload or world transition.
- Logs the Y readiness result so a failed open is visible immediately in
PalParty.log.
0.4.9
- Resolves the local player through
PalPlayerControllerand itsPlayerStatewhenGetPlayer()is empty, fixing party creation and marker toggling on affected Palworld sessions. - Sends party chat through the local controller as a fallback and logs the resolved local sender.
- Tries the active mod directory and direct file loading for
config.lua. - Uses the safe widget color method for the editable party-code text.
0.4.8
- Loads the installed
config.luafrom the package directory, soLanguage = "en","de","fr"or"es"is applied instead of silently using the embedded default. - Replaced the unsupported editable-box background calls with a native editable text widget over a black UMG background and white text.
- Added click-position diagnostics and a forgiving fallback hit area for
Party makenon viewport layouts that report a shifted mouse position.
0.4.7
- Removed direct native
UButton.OnClickeddelegate binding after crash logs showed the overlay dying during UMG creation in UE4SS. - Restored the stable global mouse hit-test path for all clickable buttons.
- Kept the local party-command fix, black input field, multilingual text and icon from 0.4.6.
0.4.6
- Fixed the clickable
Party makenaction by applying the command locally before sending it through global chat. - Added a native UMG click binding with the existing mouse hit-test fallback.
- Changed the party-code field to a black background with white text and hint text.
- Added Dutch, English, German, French and Spanish overlay/chat translations through
Languageinconfig.lua. - Updated the Thunderstore description and package icon.
0.4.5
- Fixed invisible overlay text caused by passing an incomplete
FSlateFontInfotoSetFont. - Preserves Palworld's existing valid font asset and only adjusts its size when the widget exposes it.
0.4.4
- Redesigned the overlay with a Palworld-style dark navy, cyan and blue UI palette.
- Added responsive viewport sizing, smaller readable fonts, spacing and row limits so text no longer overlaps or runs off-screen.
- Added a clear close button and improved party-code input focus handling.
- Switched the open menu to UI-only input mode and blocks movement/look input while open, preventing Palworld keybinds from firing behind the menu.
0.4.3
- Fixed the controller lookup for Palworld/UE4SS. The previous build called a nonexistent global
GetPlayerController()function, so the hidden UI bootstrap and delayed Y registration never ran. - Uses the local player's
GetPalPlayerController()method with aPalPlayerControllerlookup fallback.
0.4.2
- Initializes the native UMG interface hidden as soon as the player controller is ready, so UI construction errors are visible in the diagnostic log before pressing Y.
- Registers input after player-controller readiness instead of only during early mod startup.
- Logs the complete Y path: key callback, game-thread dispatch, action request and UI open/close.
0.4.1
- Fixed a startup failure where UE4SS could not resolve
scripts/config.luathrough the shimloader virtual path. - Added embedded safe defaults and protected optional config loading, so the mod can register the Y overlay even when the external config path is unavailable.
- Added a diagnostic log entry showing whether the optional config was loaded.
0.4.0
- Replaced the F-key interface with a clickable in-game overlay opened with
Y. - Added online-player list, party invitations, accept/decline inbox and leader kick controls.
- Added
PalParty.logdiagnostics with input, UI, chat, map and error events. - Fixed the map hook to return live
FPalPlayerInfoForMapdata fromPalPlayerState.
0.3.1
- Fixed the config path for the Thunderstore shimloader profile. The mod now loads
scripts/config.luacorrectly through the virtual profile mapping.
0.3.0
- Added a native Palworld in-game party interface.
- Added F6 to open/close the interface.
- Added F2 create, F3 join, F4 list, F5 leave, F7 marker toggle and Ctrl+K kick shortcuts.
- Added a live party roster, leader label and marker status panel.
- Added a party-code/player-name input field to the interface.
0.2.0
- Fixed the UE4SS chat hook registration.
- Fixed map hook registration and added the current
PalPlayerControllermap hook. - Changed commands to the safe
!partyprefix. - Added chat confirmations.
- Added
!party listwith leader labels. - Added leader-only
!party kick <player name>. - Added leader promotion when a leader leaves.
- Kept native map transforms for live position refreshes.
0.1.0
- Initial Thunderstore package.