Well, there’s a lot of ways to do this. But if you simply just destroy an actor, on level restart, it will typically appear again (depends on how you are doing it). But, what’s easier to do, is just have a bool. bCollected. When picked up, have this particular referenced actor set bCollected. Then on Level Load, check to see if any actor has been collected already or not. The thing about this is… simple Open Level or Restart Game, will reset all these values. So, you will need somewhere persistent to keep track of this. Either a SAVEGAME or Game Instance is your choice. This requires you to have references for each of these actors however.