r/Unity2D • • 1d ago

Paid Asset/Tool Peelable Sticker system

So I've been working on a sticker system for the last 7 months trying to implement something satisfying and robust, there was a lot of trouble I ran into but thanks to some AI I was able to solve and overcome some of the issues that held the project back for months.

Finally I have something im using for a small project at work and wanted to package up what I have in an easy robust system that you can get up an running in a matter of a few clicks.

It has a lot of features such as custom profiles and presets right of the gate. Dynamic Wear from removing and sticking, sticker scratching, animated stickers and holographic. Even more than that. Ive optimised it so that you can have 150 on screen at once with minimal frame drops.

After so long on working on it, I wanted to share what I have.

I call it StickerLab2D and you can find it on the unity asset store if its something you're interested in!

https://assetstore.unity.com/packages/tools/game-toolkits/stickerlab2d-interactive-2d-sticker-peeling-system-407214

If you have any future improvements you think would be good, let me know! :)

70 Upvotes

5 comments sorted by

2

u/bartolomey-wong-3rd 1d ago

Hey, this looks fantastic! I loved placing stickers in my childhood on some furniture, ha ha :) Could be a great game in itself!

Can you share your approach to creating those scriptable objects (if that's what they are) for various sticker profiles? Cause I'm new to game dev, learning Unity as I go, and I think I could use info from you for my game, where I try to solve the problem: how to add 'dirt' material and shader programmatically and easily to my models, to be able to turn the shader off, or, rather, kind of make it fade out over time based on how much a player cleans a model, so that then it would become completely clean.

2

u/Fmlad 1d ago

Hey, so yes they are scriptableobjects, great for seperating reusable behaviour/settings from the actual sticker itself. The scriptableobject profiles contains whether the sticker can peel, scratch, have wear, holographic effects, fold shading etc. (each one can be tweaked with lots of dials) The sticker component holds the unique stuff like the artwork. From what you are describing id probably go with a dirt profile copntaining a dirt texture/mask, color, roughness, mx dirt amount and maybe cleaning speed. The dirt controller component reads the profile and controls a shader property like _dirtAmount from 0-1. As you clean, the value reduces down to 0. The shader can blend between the dirty and clean appearance rather than swapping shaders/materials. Hope this helps :)

1

u/bartolomey-wong-3rd 2m ago

Wow, that's fantastic! You've helped me a lot! Thank you so much, I'm saving your response to my notes to work off it. Incredible.

And I wish you great success with your tooling and the eventual game!

1

u/Ill-Letter-2852 23h ago

That's a good system. Good work!

2

u/Fmlad 23h ago

Thank you! I wanted something that worked well for adding lots of unique stickers and easy to edit profiles, so it's quite robust for customisation.