Server Side Physics Forces (Hold/Grab/Physics Gun) - Packaged Game Bug vs PIE

Build Details:
UE 5.7.2
AdvancedSessionsBinaries 5.7.1

SETUP:
I’m trying to create a physics “Holding” mechanic.

Think REPO or Physics Gun from Half Life - It’s aim is to make interacting fun if a little cumbersome or challenging.

The goal is to make it so that heavy objects are difficult to lift and adjust the players forces accordingly.

PROBLEM:

The Clients have insane strength in comparison to the server BUT ONLY in the PACKAGED build
The Orange arrow on the gemstones - shows the velocity force

I have no idea what’s happening
The server applies the force ONLY
The Props/Items are set to simulate Physics ONLY on the server

QUESTIONS:

Does anyone have any idea what is going on?
Why is the physics so different in the packaged game?
Is there something fundamentally wrong with my approach?
Do you have any alternative ideas to recreate this feature/experience?

I was thinking of trying some sort of physics constraint?

  • I tried turning off Replicate Movement
    • But then the physics doesn’t update from the server
  • I tried turning off Replicate but the same thing happens

This was all in an attempt to ensure the client wasn’t somehow calculating the physics as well
Previously I had client and server simulate physics and the result was still the same (Maybe worse)


Here is the game in the Editor - Both players appear to have similar forces and limits
CLIENT LEFT - SERVER RIGHT

Here is it packaged:
CLIENT LEFT - SERVER RIGHT

CODE:

The way its built is as follows

PlayerController → Sets up inputs → Left Click = Grab

Grab is setup with Pulse

(The Grab Query is a done on the original click to save the actor your hovering over as the one to apply forces to)

Grab Query Confirmed Item is replicated so Clients can calculate their forces based on this item

PC → Blueprint Interfaces with the Pawn
Pawn → Requests Server to try and Grab Item

Server Takes Pawns Calculated Forces
(Position for Force Origin - Where do you want the object to go)
(Mass Force which makes the force weaker with the weight increase - How much force to get there)

Server Runs the Forces and updates a single Struct to Replicate the Beam Particle Data

Beam Particle Data Just updates some visual components