What's the best way to drop an ability?

I'm using an ability to give the player a "Command Console UI", but I want to give the option to drop it for another player to pick up.

Is there a quick way to drop and re instantiate the ability in the map?

So I've assumed the only way to do this is to disable the ability for the player and re instantiate a new ability with World.SpawnAsset at the player's position.

However, I'm hitting a problem where the networked script that will execute the World.SpawnAsset is not hearing the client context player UI button click event that is supposed to trigger it.

How do I work spawn a networked object from a client context trigger?

I now have have the ability trigger reinstantiated with a script and a custom event.

Now im looking for ways to remove the ability and attachedobject from the player...