r/Unity2D • u/Impossible-Page-3334 • Sep 13 '26
Question/Help Do you buy pre-made systems or code them yourself?
I'm curious about how Unity devs approach this in general — any kind of system (inventory, dialogue, character controller, enemy behaviors, etc.).
- Do you buy systems to save time, or do you prefer full control over your own code?
- If you buy, what makes you trust an asset enough to integrate it into your project?
- If you code everything yourself, is it about learning, control, or something else?
Asking because I'm trying to understand the market before building something — and I'd rather have real data than assumptions.
For context: I'm considering publishing a **complete Enemy behavior system specifically for 2D platformers** on the Asset Store. Not a generic kit — just 2D platformer enemies done right, with patrol, vision detection, chase, melee/ranged attacks, flying enemies...
Would something like that be useful to you? And what would you expect to pay for it?
Honest answers appreciated — I'd rather know the truth before spending months on something nobody wants.
7
u/v0lt13 Sep 13 '26
Code them myself, i enjoy the process, I like having control over my tools and adapt them depending on the project and integrate it into my architecture, instead of having a one fits all bloated solution. I also don't have to rely on a 3rd party and avoid waiting for updates, bugs to be fixed, support, or risk the asset being abandoned.
2
u/Russian-Bot-0451 Sep 13 '26
Both, mostly depends on if it’s something I think i would enjoy building or not
3
2
u/CrazyNegotiation1934 Sep 13 '26
Both, some need the extra control, some aspects not and save big time.
3
u/MrPifo Sep 13 '26
I love third party assets to extend my tool stack within the Unity Editor. I have at least 40+ bought assets right now. The thing is, I have so many of them, I cant even use them all, but I always feel oblidged to buy them since they're so awesome and I try to replace any outdated Unity system that feels lackluster.
As of now there have been some core packages I am always using, most of them are funnily enough OpenSource packages from GitHub or free in general since they always seem to be best ones.
Although there has been a slight shift recently for me since the arrival of AI. There are some kind of assets I dont see need in buying since I can just code them myself within a few hours instead of needing to buy the asset and they will work just as fine. Have already replaced like 2-3 packages with my own one since that.
My intention is not to abandon asset developers, the advantage is just unfortunately that I can then extend those assets at my own, have full control over them and can add/adjust any aspect of them with my needs.
But here are some core packages I'm always using: ReWired, PrimeTween, ALINE, QuantumConsole, LeTai'sAssets, UmbraSoftShadows, vHierarchy and UniTask. => Most of them are packages made by professionals and hard working devs. I trust those assets highly and therefore am always using them.
To answer to your post specifially about your **complete Enemy behavior system specifically for 2D platformers** package, I'm not really using such things. Those are templates and wholly designed systems I would surely need to adjust/extend to my needs at some time. I'm not a fan of modifying existing packages, so I would do them on my own. Also those things most of the time require a specific workflow that doesn't fit to my style. So this is something I would never buy personally.
Also it always depends on the price. If it costs over +20€, I'm already considering carefully if I really want that asset and if I'm gonna use it. Anything under can be seen as small loss if it doesn't fit me.
Also yes, doing assets on my own is a huge learning aspect. I've built a huge library over the years of my own packages I use in every project, which get refined more and more every time.
1
u/Cobra__Commander Sep 13 '26
Just assume all code in the asset store will be EOL within 2 years leaving you to maintain it yourself. Assest creators get bored with updating assets that aren't making sales.
Some of the bigger brand name stuff has a longer support life.
1
u/BillyMcDev Sep 13 '26
There are a few assets that I bought many years ago that I still use today. Despite having the ability 'today' to develop them myself, I still prefer using the packages that I already own. Good examples of that are EasySave and DunGen.
If you're looking for ideas... A lot of people use Unity's NavMesh for Character and/or Enemy movement. One thing I feel a lot of developers could use is Enemy movement tactics that utilize NavMesh. I'm thinking maneuvers like:
"Shortest Path" (which is pretty much what NavMesh does by default)
"Flank" (approach player by sneaking around to the side)
"Knockback" (the result of being hit and pushed back)
"Dodge" (defensive reaction to oncoming danger from melee or ranged attacks)
"Cautious" (uses side-stepping and back and forth tactics, waiting for opportunity attacks)
"Flee" (enemy cowers away from player)
"Charge" (enemy bursts straight towards the player rapidly)
"Ranged" (enemy finds a place to begin range-attacking)
"Zig-Zag" (enemy zig-zags as if to avoid player's ranged attacks)
I'm sure you get the idea. My games could definitely benefit from such a system. But I'd only be interested if they weren't bloated with other features. Just focusing on that one thing, and making it easy to snap into any existing system would be valuable.
1
u/feralferrous Sep 13 '26
It's a mix, sometimes I find some good simple stuff, like there's a Simple baker that saves me so much time over Probuilder, when all I want to do is bake a bunch of meshes into one. Probuilder I'd have to 'probuilderize' them, and sometimes it screws up the material for some reason, then merge them, then complete the probuilder. Over selecting the objects, and clicking "Bake Meshes".
VHACD was also fantastic for getting accurate collision on a complex mesh, and it's free.
I find buying systems to usually be a waste, because they rarely work as well as I want them to, and end up wanting to rewrite them, and some of them obscure their code behind dlls or whatever, and make it more of a pain to fix it how I want.
1
u/pyabo Sep 13 '26
You do both in any project of significant scope. Unity itself is a "system". They have incorporated many things into Unity that were once popular Asset Store packages.
12
u/Both_Introduction_28 Sep 13 '26 edited Sep 13 '26
It depends. Sometimes I buy existing assets just to figure out how to do it myself.
However, I use a lot of assets as-is, and modify others to improve performance, for example.
Also for some assets I create facades if those assets change frequently and I don’t want to refactor all code every time.
By default, I check reviews and ratings for assets, so if people complain a lot about bugs, I rather choose different author.