How do I lock a certain pickup until the rest are collected?

Example: You collect 5 coconuts and then the golden coconut unlocks.

I believe the best way to do this is to have a variable, or variables, in your game instance blueprint that keeps track of which rings were picked up. I created a game instance (GameInstanceX) and added 6 Bools with branches and an event.
My coconuts have a sphere collision so you overlap it to pick it up. When you pick each up it casts to game instance and changes a bool value, then fires the event to allow it to check if the golden coconut can be unlocked. Once all 5 are picked up it will complete the branch chain and unlock the golden coconut. This could be done may other ways but this is a quick and dirty way. I’ll Upload pictures in the morning because my internet is so slow I cannot get a 356k image to upload.

I can’t give you an example now, but you can try using tags, get all actors of class or a boolean. So you have your golden pickup which has an get all actors of class (you can also check for tags if you don’t want multiple classes) on the pickup event, if there are no orther pickups you can resume otherwise stop it.

Another way to do this is to have an Int variable that ticks each time one of the basic coconuts is collected. Once the Int has reached X value, it allows you to pick up the golden coconut. To increase the int, have the original coconuts trigger an interface call when they are picked up to run the interface function within the golden coconut.

thanks! how do I make the instance? is it a blueprint?