I want to make a powerup with a an associated timer on the server side using mirror

Suppose I make a powerup and when any player touches it, the player becomes invisible for 30 sec. And I have several powerups with different players touching it at different times. Also, I can’t let the client-side handle the timer it would be a disaster. So how do I make it such that the server can handle these things? Such as turning on the mesh render after the timer is over.

You’d need to send an RPC from the server to the client to tell the client when the power-up started and the server will keep track of the time. When the time runs out, the server will send another RPC to tell the client to return to its original state. Here’s a more detailed breakdown on how RPCs work on Mirror: