Palworld party overlay with clickable invites, create/join controls, leader kick management, multilingual text, diagnostics and a crash-safe live green map overlay.
Stable Thunderstore release of the working Y clickable 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: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.