So I'm developing a forage mechanic for my survival game, similar to the one featured in 'BOOGA BOOGA'. When the player looks at an item and presses f, that item will be foraged and a foraging animation will play on the object, causing it to gradually disappear. The trouble I run into is replicating the forage effect across the client to server boundary. Personally I don't care if other clients are able to see the forage animation, but the object should be deleted by the server as soon as it is foraged, so that objects around it are properly physically simulated and other clients do not attempt to forage it. If I delete the object through the server, however, it will be deleted on the client playing the animation.
I thought of some solutions but they each seem to have their share of issues:
I could clone the object on the client and play the animation on the clone, but that would be awkward and laggy, and causes the object to appear to blink from the client.
I could use a remote function to set the object's parent to nil from the server and then set it to workspace immediately after on the client, but that would be unreliable under different throttling conditions.
I could delete the object from every client that isn't foraging it and set can-collide to false on the server, but that would require a weird server to client communication system that is probably bulky and unecessary.
Does anyone have a more robust solution? I am new to network relationships so maybe I'm just not properly informed on how to solve these problems.

4 comments
Cant you just delete it after the item is foraged by sending a remote event to the server, (make sure its protected).
Is the issue that you want it to be deleted from the server as soon as foraging begins, but remain on the client until the foraging finishes?
@cowsoncows yes that is my problem exactly
@xEiffel that could work if I set the parent to nil from the server when the animation begins and delete it when the animation ends, but there would be a delay for the animation under latency