multiplayer queue_free() help

Godot Version

4.7

Question

I don’t think i really understand rpcs very well, i’ve tried looking at the forums and youtube tutorials but am unable to get them to work for my use case.

this rpc is attached to a StaticBody3D which is placed in the main scene. The code is activated when a player interacts with the object

@rpc("any_peer", "reliable")
func delete_ground_item():
	queue_free()

Running this code results in the object disappearing on the server, but not on any of the clients.

I’m quite tired at this point (10 hours of trying to get this to work) so sorry if i made a silly mistake!

How are you calling the RPC? Are you using a MultiplayerSpawner?

If it vanishes on the server only, you’re probably calling it like a normal function there, not as an RPC on everyone.

@rpc("authority", "call_local", "reliable")
func delete_ground_item() -> void:
	queue_free()

And when they interact (on the authority / server):
delete_ground_item.rpc()
call_local = caller also runs it. Without .rpc(), only that one game frees the node.

If these items are spawned at runtime, MultiplayerSpawner should own spawn/despawn instead of a hand-rolled free.

How are you calling delete_ground_item right now?