Darudge-PalParty icon

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

CHANGELOG

Changelog

0.4.18

  • Removes the PalPlayerState:GetPlayerInfoForMap hook 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 CachedPlayerLocation and CachedPlayerRotation, so remote pawn transforms are not touched while the map opens.
  • Keeps the party member's name and sets Palworld's native green bIsFriend flag.
  • 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 enumerating PalPlayerState objects.
  • 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 bIsFriend flag 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_Receive UE4SS call with Palworld's safer PalPlayerState.EnterChat entry 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 Accepteren before 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 PalPlayerController and its PlayerState when GetPlayer() 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.lua from the package directory, so Language = "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 maken on viewport layouts that report a shifted mouse position.

0.4.7

  • Removed direct native UButton.OnClicked delegate 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 maken action 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 Language in config.lua.
  • Updated the Thunderstore description and package icon.

0.4.5

  • Fixed invisible overlay text caused by passing an incomplete FSlateFontInfo to SetFont.
  • 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 a PalPlayerController lookup 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.lua through 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.log diagnostics with input, UI, chat, map and error events.
  • Fixed the map hook to return live FPalPlayerInfoForMap data from PalPlayerState.

0.3.1

  • Fixed the config path for the Thunderstore shimloader profile. The mod now loads scripts/config.lua correctly 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 PalPlayerController map hook.
  • Changed commands to the safe !party prefix.
  • Added chat confirmations.
  • Added !party list with 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.