So, I have a strange problem I can’t explain or figure out what is different. I’ve implemented an interface to send messages to actionable objects, which then returns a call to the player to run an event that replicates to the server and returns to the actionable object where it’d execute the action, which is multicasted. I have a basic parent class for interactable doors which provides the variables and the event call, and have a child that adds a mesh and implementation to the inherited event call.
The weird thing is, I’ve implemented this and it works perfectly with opening/closing doors, but in attempting to implement this again (in the same manner) to picking up and adding objects to the characters inventory, then destroying them. It seems everything is working correctly (adds item to character’s inventory) aside from destroying the actor, which only seems to be happening on the server… which doesn’t make sense. I’m assuming since the destruction isn’t replicating to other clients, when clients attempt to pickup the items, that adding the inventory probably isn’t occurring on the server.
The only thing that I can see is different between my working door replication and the pickup replication, is the inherited event itself. I can’t seem to find anything online about this, does anyone know what I’m missing or if something else is likely the cause for the issue? Thanks for the help!
Parent Door BP
Child Door BP
Parent Pickup BP
Child Pickup BP (notice the missing “c” in the arrow and obvious missing text)