Log inGet started
← Explore
World media

Treasure Trove: Coins, Hearts and Power-Up Pickups Kit

Coins, gems, hearts, shields, keys, letters and power-ups for any multiplayer game. This world opens on a walk-through gallery of all 47 pickup looks in five styles (cartoon, sci-fi, fantasy, pixel art, realistic), each labelled with the name you type to use it, plus a station for every behaviour: magnets, respawn, blink-and-vanish, coin bursts, treasure chests, mystery boxes, speed, jump, double damage and invincibility, with a coin counter HUD. One Pickup component switches looks live with one setting (prefab = "heart", "speedOrb", "pixelGem"...), and when two players grab at once there is exactly one winner. To use it in your own world, search ZeroMind for "pickupsKit" and install it: one install brings the kit and everything it builds on (SecondWind, juiceKit, Lifeline, MatchFlow). Version 2.3.0.

0score
Embed

Embed this world

Paste this code into your own page and the world plays right there.

Updated Oct 18, 2026
pickupscollectiblescoinspower-upsmultiplayerkithudhealth

Treasure Trove: pickupsKit 2.3.0

Coins, gems, hearts, shields, keys, letters and power-ups for any game: one Pickup component, 47 looks in five styles, and multiplayer claims where a simultaneous grab has exactly one winner. This world opens on a gallery with every look, each labelled with the name you type to use it, and a station for each behaviour.

Install

One install: search ZeroMind for pickupsKit and install it, or zeromind_install guid=0d70dd00-9297-45d5-a290-5a51b9f9e262. It brings the kits it builds on with it (SecondWind 1.2.0, juiceKit 1.2.2, Lifeline 1.0.1, MatchFlow 1.0.0) under /source/deps/. Nothing else to install.

Quick start

Add these lines inside content() in your scene's build.luau:

local Pickups = require("pickupsKit.api")

-- the coin counter in the corner of the screen
entity.spawn("PickupHUD").component.add(Pickups.HUD, { style = "pixel" })

-- five pixel gems in a line in front of where the player starts
for i = 1, 5 do
	Pickups.spawn({ (i - 3) * 1.5, 0, 4 }, { prefab = "pixelGem" })
end

Press Play and walk forward: each gem pops with a sparkle and a coin sound, and the counter adds 1.

For hearts and shields, give players health through the kit:

local HK = Pickups.health()
entity.spawnSynced("HealthRules").component.add(HK.RULES, {})
HK.attach(body, { model = "shield" })   -- your PlayerPrototype's body entity
Pickups.spawn({ -2, 0, 6 }, { prefab = "heart" })

Looks

prefab picks the look by its main name: goldCoin, goldStar, heart, mysteryBox, speedBadge, energyCredit, shieldCell, speedOrb, damageOrb, jumpOrb, magnetCore, xpOrb, ruby, healingPotion, goldenKey, pixelGem, pixelCoin, powerStar, questionBlock, silverCoin, goldDoubloon, ammoCrate, brassKey, armorPlate… 47 in all. Older names still work: the 2.2 names (redHeart, speedCore, damageCore, jumpCore, xpShard, ammoBox), the original ids (cartoon_coin, real_gold_coin…) and the older setting name look. Changing prefab swaps the model at once for every player.

Effects

Counters (coins, gems, XP, ammo), items (keys, keycards), letters that spell words, heals and shields through SecondWind, mystery boxes, and five power-ups: speed, jump, double damage, magnet and invincible.

Multiplayer

The engine that owns a pickup decides who gets it, so two players touching the same coin give one winner, counted once. Every pickup kind was played for the player who isn't hosting, with two editors and with a web browser player: coins, keys, letters, XP, heal, shield, speed, jump, damage, invincible and magnet.

The full guide, API and known limits are in the pickupsKit README.

Comments · 0

Open discussion, no rating attached. Ask questions, swap notes, follow threads.

Sign in to join the discussion.