Akira Clicker Template — Update 4
Hey everyone!
I’m thrilled to ship Update 4, another major update for the Clicker Game Template!
This drop adds new core systems (Trading, Zones/Portals, Index), pet QoL, and a bunch of under-the-hood fixes to make the template faster, cleaner, and easier to customize.
Note: This template isn’t perfect — if you hit bugs or have feature ideas, ping me and I’ll patch quickly!
New & Notable
- Zones + Portals (requirements, costs, and confirmation UI)
- Trading System (dupes supported, safe finalize, per-player trade toggle)
- Pet Index (registry, per-set progress, live updates)
- Pets No Collision (pets are fully “ghosty”, still follow smoothly)
- FrameAnimator+:
restoreFrame(), isAnimating(), stopAnimation()
Pet System Updates
- Delete All button (with confirmation) — Eggs are not deleted
- Fast Hatch (snappier flow; smoother UI)
- Buy Pet Equip with Robux (extra equip via Dev Product)
- Exclusive Eggs (workspace eggs + remote, 1/5/10 open hooks included)
- New Rarity: “Huge” + egg grows on Huge hatch
- Updated Pet Follower (bobbing, smoother circle, anchored + PivotTo)
- Index (counts uniques, per-set progress, debounced datastore)
Download the Template

Preview
Delete All
Exclusive Eggs
Buy Pet Equip
Index
Zones Message
Portals
Trading
Zones + Portals
Features
- Per-portal requirements (
Rebirths, Clicks, Gems, etc.)
- Optional cost purchase with confirmation UI
- Permanent unlocks per player (saved)
- Return portal back to main
Config example (Modules/Utilities/PortalConfig)
return {
{
id = "Starter_Forest",
promptPath = {"Main","Zones","Starter","Portal","Teleport","Teleport","ProximityPrompt"},
toPartPath = {"Main","Zones","Starter","Portal","Teleport","TPPart"},
requirements = { Rebirths = 0, Clicks = 0, Gems = 500 }, -- if they get 500 gems they just unlock it
cost = { Gems = 500 }, -- if you want them to purchase it
permanentUnlock = true,
},
{
id = "Return_Main",
promptPath = {"Main","PortalReturn","Teleport","ProximityPrompt"},
toPartPath = {"Main","PortalReturn","ReturnPart"},
requirements = {},
cost = nil,
permanentUnlock = true,
},
}
Confirmation UI
StarterGui.Main.PurchaseConfirmation (with YesButton/NoButton) pops when a portal needs payment.
How to Add Exclusive Eggs
Adding an Exclusive Egg is very similar to adding Packs. Follow these steps:
Configure the Handler
Open ExclusivesHandler and edit the config.
This is where you define your Dev Products, purchase options, and rewards.
Example config:
local EXCLUSIVE_CONFIG = {
Dominus = {
buy1Egg = {
devProductId = 3362572191, -- Replace with your own ID
quantity = 1,
rewards = { clicks = 0, gems = 0 }
},
buy3Eggs = {
devProductId = 3362590021,
quantity = 3,
rewards = { clicks = 0, gems = 0 }
},
buy10Eggs = {
devProductId = 3362590019,
quantity = 10,
rewards = { clicks = 0, gems = 0 }
},
oneTimeOnly = false,
exclusiveFolder = "Dominus" -- Must match your folder name in ReplicatedStorage
}
}
Add Pets to ReplicatedStorage
- Go to
ReplicatedStorage > Pets > Exclusives
- Create a new folder named exactly the same as your config key (e.g.
"Dominus")
- Insert all your pet models into this folder.
Add the Egg Model to Workspace
- Go to
Workspace > Eggs > Exclusives
- Insert your egg model and give it the same name (e.g.
"Dominus") (just look at Basic Egg to know how do it)
Make sure the name in Workspace matches both the config key and your ReplicatedStorage folder for it to link correctly.
Trading
- Request / Accept / Decline flow with rate-limits & blocklist support
- Per-player preference:
player:SetAttribute("TradesEnabled", true/false)
- Inventory list supports duplicate pets (shows each copy)
- Viewport 3D previews for inventory & offers
- Safe finalize: verifies you still own items & aren’t trading equipped ones
- Either player can cancel; both UIs close cleanly
- Client settings toggle (in your Settings UI)
- Server-side guards (added in handler)
TradesEnabled check before sending requests
- Simple per-sender rate limit (spam guard)
- Block list map (optional; reject if target blocked)
Pet Index
- Scans
ReplicatedStorage/Pets (+ Exclusives / Packs)
- Tracks unique discovered + per-set progress
- Client receives
GetPetIndex snapshot and live PetIndexUpdated deltas
- Debounced autosave to
PetIndex_v1
FrameAnimator (new helpers)
restoreFrame(frame) – put it back where it started
isAnimating(frame) – quick guard to avoid stacking tweens
stopAnimation(frame) – stop + clean state, safe to re-open
These are now used across Trading / Inventory / Index to keep transitions tidy.
Pets No Collision
Pets are fully non-collidable (and massless), so nobody bumps into anything.
- Uses a dedicated PhysicsService CollisionGroup (e.g.,
"Pets")
- All pet parts are Anchored (still moved by
Model:PivotTo)
- Symmetric no-collision against Default (and any custom groups you use)
Result: smooth visuals, zero physics shoves.
Robux: Buy Extra Pet Equip
Wire your Dev Product ID in the inventory UI (BuyEquipFrame) to sell extra equip slots.
Be sure to set your own Product ID in EquipProduct
Rarity / “Huge” Support
- Rarity reads from pet definition:
BoolValue "Huge" → Huge
- else
StringValue "Rarity" → its value
- infers Exclusive/Pack/Common from folder path if needed
- On Huge hatch, the egg scales up for a fun moment
Bug Fixes & Polish
- Trading UIs sync correctly for both players
- Lots of small sizing/whitespace fixes in inventory/trade grids
- General stability pass over hatching, equip/unequip, and animations
Gamepasses / Products
Don’t forget to plug in your own IDs in the config modules (Gamepasses and Dev Products) so purchases work correctly.
Credits
Huge thanks to @YT_Sxui for the original Pet System Kit used here.
If I missed anyone, DM me and I’ll update the post. 
Thanks for supporting the Akira Clicker Template — hope this update gives you a bigger, cleaner base to build from.
Happy Clicking! 
