Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

New Project for 2023 - What are the must have asset store assets....

Discussion in 'General Discussion' started by Amon, Nov 19, 2022.

  1. Amon

    Amon

    Joined:
    Oct 18, 2009
    Posts:
    1,249
    I'm going to be working on a new project in 2023 and with 2022 coming to an end and me having quite a bit of spare cash, what are the must have tools, assets etc that are generic to whatever type of project I'll be starting?

    What would you guys buy for your project from the asset store if you had the money?
     
  2. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Legend

    Joined:
    May 5, 2014
    Posts:
    1,287
    DOTween, Amplify Bundle, Shapes, Odin

    Anything else depends on the type of gane you are making.
     
    Ony, Ryiah and useraccount1 like this.
  3. CodeSmile

    CodeSmile

    Joined:
    Apr 10, 2014
    Posts:
    1,541
    Super generic that goes into every project? Those are hard to come by. Graphy for FPS monitoring comes close in my book. It's free though. ;)

    Generally I would advise against buying assets (even on sale) without an actual need. Or at least an interest in what the asset does in order to learn from it.
     
    Noisecrime and Socrates like this.
  4. Andy-Touch

    Andy-Touch

    A Moon Shaped Bool Unity Legend

    Joined:
    May 5, 2014
    Posts:
    1,287
    Forgot about Graphy and SR Debugger :)
     
  5. Hannibal_Leo

    Hannibal_Leo

    Joined:
    Nov 5, 2012
    Posts:
    492
    I had quite a hard time removing Odin from my "between-projects"-code.
    It contains a few extensions for Vector3, float, some handy tools like "GetGUID".
    Also the DebugExtensions on Github are nice (can't find the original one but this one looks like the one I have). None of this costs anything tho.

    I'm not a fan of the Animator (especially string references and not knowing when an animation has finished playing), so I usually use Animancer.
    And some tools I wrote for myself. FindReferencesInScenesWindow, QuickMenu (replaces the context menu with one that offers a search - this one is from a friend and not released yet), Scenes Window (just a window to quickly open one of the game scenes. Especially useful when working on the main menu or across different levels).
    Rainbow Folders is really handy to keep track of your most important folders in a growing folder-tree.

    And yea, my event system, but it's not released yet.

    That's it basically. Handy debugging, organization, Animancer, my custom tools (which are included in my "between-projects"-code) and everything else depending on the game.
     
  6. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,818
  7. halley

    halley

    Joined:
    Aug 26, 2013
    Posts:
    902
    Whenever I start a project, I have a separate git repo which I preload ScriptInspector3, NaughtyAttributes, InspectorGadgets, HierarchyIcons, and a C# finite state machine library called Stately. A few one-off scripts from CodeMonkey or Jason Weimann or myself to do useful things like batch renaming, prefab replacement, editor scene view camera saving, Blender-style editor scene view camera controls, bulk copying components, and so on.

    I have a second tier of assets which are often shared, but not always, depending on the style of game I want to work on. Pretty much anything 3D needs UMotion and I am falling in love with Animancer because I hate the Unity Animator Controller system.
     
    DragonCoder likes this.
  8. spiney199

    spiney199

    Joined:
    Feb 11, 2021
    Posts:
    2,795
    Aaah... the poor man's Odin. (Sorry, had to make that wry comment).

    But seriously: Odin's my #1 asset. If it doesn't have something built in, you can pretty easily make it with all the tools it gives you.
     
  9. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    5,911
    I'm sure you saw this coming, but I don't think you should import anything into a specific project without a good reason.

    In practice, through all the projects that have lived and died on my hdd, the only things I virtually always import are my own utility scripts and that's pretty much it. Everyone seems to like Odin, maybe it's good, I don't really know what it does but I've always tried to keep the editor as simple as possible.

    I've built up a good collection of art assets that I bash prototypes with, but of course that's specific to the game. For prototyping and proof of concept, it's best to scan the store for things that specifically do what you want with as little fluff as possible - it depends what work needs to be done for that phase.

    As my current project gets further along, the main third party assets I will use, besides artwork, will probably be several assets by Pixel Crushers - Dialogue System and Quest Machine. Creating a polished framework to handle the sheer volume of information those parts of the game deal with would take some time, and they seem to do a good job so far. I can imagine using them for pretty much any game where they are applicable.
     
  10. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    12,147
    Honestly - nothing.

    I think it may be better to invest into your own framework instead of relying on 3rd party assets that are there today, but might be gone tomorrow.

    And if there's a lot of money, might be a good idea to put it into hiring extra personnel instead.
     
  11. PanthenEye

    PanthenEye

    Joined:
    Oct 14, 2013
    Posts:
    895
    There are assets that have been consistently updated for nearly a decade, longer than some Unity first party tooling. Not all are worth the money, but they are out there. Dialogue System, Odin Serializer, Node Canvas, etc. And it's not like stuff just vanishes from the Asset Store. If it works today and you lock in the project version, it'll continue to work throughout the project's development.

    Also, developing the above mentioned assets on your own would literally take years without the benefit of thousands of other devs testing and reporting bugs for the code you write. That's the point of assets - saves time.
     
  12. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    12,147
    I disagree with that.

    It would take years to develop unity.

    However, vast majority of unity assets are not on unity scale. They are small team endeavors, and that makes them candidates for being cloned.

    The "thousands of devs" argument in this scenario is something you do not need. Because when you're making an inhouse solution you do not need to ensure that its editor modules run without a hitch on all configurations in existence. You only need them to work in your studio.
    There's also a lot of "fluff code" which is essentually making things nice and pretty (but it still costs development time), which you can skip over while focusing on making things work.
     
  13. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    5,911
    At the prototyping stage, the idea that it's better to spend thousands of dollars to get an asset developed vs buying something that roughly does the job for $50 makes no sense to me. Even the best assets on the store typically cost less than half an hour of a good contractor's wage, and it would take them at the very least tens or hundreds of hours to bring to the same standard, even just for the portion that was needed.

    I've yet to see if Dialogue System and Quest Manager will make it into the final build of my project, but from what I've seen they are assets that are so well developed that they might as well be part of Unity. Cinemachine is another asset that if it weren't for being part of Unity already I would have definitely bought. Text Mesh Pro goes without saying. There are assets on the store that are at least as good if not better quality than unity itself, and if buying three $50 assets to find one that works is too much, it's probably time to go and work a different job so you can come back with a bit of capital.

    In the end, to some extent, you have to choose between being successful and being picky. The amount of wasted time in game development could have built a thousand pyramids by now.
     
  14. useraccount1

    useraccount1

    Joined:
    Mar 31, 2018
    Posts:
    181
    Outside of a handful of packages, everything depends on what kind of project you are making.
    I've prepared a list of packages that I'm aware companies with actual money like to use. I recommend checking them out and deciding which ones you will need (and If you aren't sure, save them for later).

    Real must-have tools:
    - Odin
    - DoTween
    - Rewired
    - Amplify shader editor
    - SRDebugger

    Tools that are almost always in the project:
    - A* Pathfinding Project Pro
    - Behavior Designer
    - Tool like "Google Sheets To Unity" (free / paid - depending on which tools you are going to choose)
    - Zenject / Extenject (free)
    - UniRX (free, on GitHub)
    - Easy save
    - Mesh Baker
    - Animation designer from FImpossible Creations
    - Some tool for scene management, especially in the editor, I'm using "Unity Scene Groups 0.2.0", free on github. There are some tools like that on asset store

    Tools that can be seen from time to time:
    - Bakery
    - Playmaker
    - UModeler
    - Dialogue System for Unity
    - Magic light probes
    - Console Pro

    For vegetation / open world:
    - Nature Renderer WITH The Vegetation Engine
    - Custom terrain system, Vegetation studio seems to be popular, but I have no idea whether it's good.
    - World streamer


    About UI, I'm typically trying to avoid anything related to UGUI in commercial projects. Sometimes, big studios also avoid using UGUI by choosing 3rd party tools like NoesisGUI.
     
    Last edited: Nov 20, 2022 at 3:46 PM
  15. adamgolden

    adamgolden

    Joined:
    Jun 17, 2019
    Posts:
    1,275
  16. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,149
    I came here to suggest Rewired (it's currently still better than the Input System package), but useraccount1 beat me to it. Consider this a second for Rewired and DOTween.
     
    bluescrn and adamgolden like this.
  17. adamgolden

    adamgolden

    Joined:
    Jun 17, 2019
    Posts:
    1,275
  18. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    12,147
    Due to certain circumstances, at the moment I hold an unpopular opinion that any tech your project uses should ideally be under your full control. Meaning it should be yours, or opensource, or at the very least with source code access. That will reduce damage you'd receive in case of unexpected trouble caused by the third party. Ideally, everything should be yours.

    Meaning I'd go only for things that have a github page with a permissive license, which would be DoTween, but even that is not guaranteed.

    Additionally, reliance on a huge number of 3rd party modules leaves a fairly unpleasant impression, as it reminds me heavily of Bethesda games where to make some of them work you'd need to install a dozen of 3rd party packages. That's my personal opinion.
     
  19. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    5,911
    Completely agree about source code as far as assets that are supposed to be permanently integrated into a project. No way a plugin will ship with my game.
     
  20. warthos3399

    warthos3399

    Joined:
    May 11, 2019
    Posts:
    1,442
    Really depends on the type of game. I dev 3D FPS/RPG/Survival type games. For me i use:

    EmeraldAI - for all AI needs.
    Tropical Forest Pack - for that type of foliage.
    Rocks and Boulders 2 - one of the best rock assets out there, and free.
    AtlasMaker - best atlas creator out there.
    Beautify - great PPE addition to any project.
    Easy Ragdoll - makes ragdolls quick and easy.
    Root Motion Creator - a must if converting static animation into root motion animations.
    U Fire - the best fire asset out there.
    Unity Particle Effect Examples - great effects, use them all the time.
    LOD - an awesome LOD creator, fast and easy.
    Unity NavMesh Components - free, but a must have.

    Think of it this way, for ANY game, you need a good AI solution, a way to atlas textures (to reduce draw calls), a way to convert static animations to root animations, an LOD creator (for objects that dont have LOD support), a ragdoll creator (for models that dont have a ragdoll, if your looking for the physics), a mesh combiner asset, and a PPE enhancer type asset.

    Again, this depends on game type (3D, 2D, low poly, mobile, pc, etc.), and depends on what version of Unity your using (BuiltIn, or SRP). There are many assets out there for all functions of game dev, but do your own research into the available assets, and pick those that fit into your games workflow. Dont buy them on a whim, or because they look good, read reviews and comments, and make your best decision...
     
    Antypodish likes this.
  21. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    Even the more expensive assets won't give you more than max an hour a devs time
     
    angrypenguin likes this.
  22. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    14,945
    Indeed! And that's one of the major turn-offs for me in using them. I see it as hugely risky, because unless the asset is popular and maintains a decent price there's a good chance that the developer is better off getting a job* than supporting it.

    That doesn't mean that the assets are a bad deal. To the contrary, I often feel that they're under priced. But it's certainly a significant consideration when I'm deciding whether or not to rely on an asset for a project.

    * Selling 2,000 units per year at $50 = $70k after Unity's cut. A professional software developer can easily make more than that.
     
    neginfinity and NotaNaN like this.
  23. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    8,914
    I don't buy assets for projects unless I know they'll be used in multiple projects going forth. Dialogue System For Unity was an easy purchase for this reason, same with Easy Save 3.

    As for things I use in every project? Amplify Shader Editor and the Odin suite.
     
    warthos3399, DEEnvironment and TonyLi like this.
  24. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    847
    Unity without fairly significant usage of the asset store is just purposefully driving with locked in handbrake.
    Sure, paying attention to get the source code and also be able to roughly maintain the software if truly necessary, are not bad tips. But the timesaving is even given in that worst case.
     
  25. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    I ment that the price of an asset gives you tops an hour or two from a dev since devs are expensive
     
  26. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    14,945
    Yes, and how much development / maintenance / customer support can be provided in an hour or two from a single dev?
     
  27. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    Not close to replace said asset. Though we dont use many code assets either. But we do use it if we find value in doing so. We have FinalIK, we have Gaia, we have Obi rope. And a few others. (Obi rope even uses binaries (called plugins above)).
     
  28. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    14,945
    I'm not talking about a user building an asset instead of buying it. Though in some cases that does make sense, usually for reasons other than finances.

    I mean that when I pay $2.50 for someone's thing in an Asset Store sale, that realistically covers maybe a few minutes of their time, including time they already spent developing it. So they can not viably afford to provide any real support to me as a customer.

    If I pay $50 for an asset then, assuming that they're selling quite a few, then maybe they have time to answer a few questions for me, as well as doing general maintenance stuff which hopefully helps their customers in general.
     
  29. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    I replied on "And if there's a lot of money, might be a good idea to put it into hiring extra personnel instead."

    I'm just saying that the cost of a asset doesn't mean more than an hour or two in dev time
     
  30. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    Take A* path finding project as example. It cost 100 USD. Max one hour of dev time.
     
  31. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,199
    Rewired
    Odin
    Beautify (if PC or Console)
     
  32. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    12,147
    It means that because unity asset market is tiny, there's not a whole lot of incentive for the dev to provide quality product or long-term support, as they'll be getting peanuts. That's why SabreCSG went opensource. The dev couldn't sustain himself with the sales. That's why there's a lot of crap assets as well.

    Up to 5-10 hours of dev time if you outsource to a sufficiently bored foreign programmer.
    Even in the US, the lower bracket for hourly pay is $24, meaning 4 hours.
    At 10 hours timeframe you're approaching ludum dare times, meaning it may be possible to write a tiny game in that period.
     
  33. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    I don't think you want to outsource your path finding to the lowest bidder. Even then you don't make the feature set of that asset in a few hours
     
  34. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    12,147
    ...actually why wouldn't you want to do that?
    • There's no magic in A* algorithm, it is published online, and for all practical purposes it is a programmer's textbook exercise. If you can implement binary search, you should be able to implement A*.
    • A foreign programmer can be as skilled as your native one while asking for lower payment. Higher price does not mean higher qualitiy, you may be compensating for living costs.
    • And if the asset has a lots of bells and whistles, that does not mean you need any of them, as there's a difference between getting things done and the asset looking pretty.
    "$100 for pathfinding" is the reason why at some point of time I seriously considered replicating popular packages and putting the result onto github for free under MIT/BSD license. That would be a right thing to do. Sadly, it appears that I'm no longer in condition to do something like that, although I still find the idea appealing.

    And regarding "saving development time", it is highly likely that while trying to save some hours you then waste those hours trying to make the asset work. The purchased code is very often very messy.

    For example,. I'm a "proud" buyer of BioIK. This came recommended, but even though it was $20, it is a huge mess, and I'd need to spend days getting it into usable state, what's more the core of the asset is a wall of code which would need weeks of refactoring. And even if I clean it up, I'd have no right to redistribute the altered result.

    And that is among the reason why I said t hat everything you use ideally should be under your control or opensource....

    My overall experience is that. The whole asset store thing is a huge hit and miss, with a miss being much more likely.
     
  35. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    It's so much more than the underlying algorithm though.
     
    useraccount1 and angrypenguin like this.
  36. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    847
    Lol.. Well, if you need just the pure algorithm to apply to some datastructure you already have, then just rip one in 20 minutes from an MIT-licensed project on Github (I did exactly that once).
    A* Pathfinding project is about convenience and moving objects along as well as covering edge cases. Albeit you better have it from the start in the project because you may need to build the general movement with it in mind to look seamless. If you do, then it will likely be WAY more solid than what you can tinker in an hour.

    Since we already are at "higher priced" Assets which of course are only worth it if you actually need them: Behavior Designer is another candidate. Also one of those that are maintained for years and years. 8 years to be exact.

    The OBI suite is probably the only one I'd fully accept it not being open source, because they include non-C# binaries for performance reasons. You likely cannot achieve that in C# sadly. Maybe with Burst (which did not exist when that was developed initially), but it would take long to catch up to the featureset.
     
    Last edited: Nov 22, 2022 at 10:17 PM
  37. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    8,737
    A* Pathfinding Project Pro is one of the examples where I really side with the asset store. Yes, implementing a dumb version is easy, but this asset is so much more than that, easily worth every cent of that $100 (and right now it's just $50). From automatic navmesh generation to path smoothing, multi-threaded operation, full run-time graph support and many-many more. It's well maintained project for more than 5 years now and you have the source code available.

    They are moving into that direction, Obi uses jobs, burst and math and all already (they still have some external binaries though).
     
  38. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    8,914
    Not just that, but it involves other algorithms, vastly more functionality, better path length checking than default navmesh. A* is pretty much in all my projects that use pathfinding.
     
    PutridEx, Max-om and Lurking-Ninja like this.
  39. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214

    Ill ignore the first part of your post since its clear you havent used A* pathfinding project. But C# could easily match or even surpass unmanaged code like C/Cpp, the JIT code in .NET 6 is super optimized. YOu have Spans now that are superfast too. Problem is Unity is stuck on a super old CLR called mono.
     
  40. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    local avoidance is soo much better in A* pathfinding project for example.
     
  41. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    12,147
    There are fundamental issues in language design itself, and you can't really solve that with JIT. To begin with, C# language is not even really suitable for gamedev, alhough there are certainly worse choices around (python and javascript)
     
  42. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    I would argue it's the best domain language for games. Not in its mono form offcourse but when they finally get .NET 6 / 7 working. .NET 7 is even faster than .NET 6 and even more aloc free
     
    DragonCoder likes this.
  43. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    12,147
    I would argue it is ill-suited for games, but not the worst possible choice

    It is missing C++ level of control over object lifetimes, and it insists on allocating things on heap. Also C++ has better idea of handling null values and references (as in, there are no reference types, references are values and are separate from types they reference). Additionally interop with 3rd party dlls is complete S*** and involves ton of glue code. In short, there's not enough control and not enough low level features. Also, immutable strings were a really dumb idea.

    The reason why people pick C# is because it is popular. Not because it is the best choice. Javascript is even more popular, and people tried to code games in it too, though results were quite disastrous.

    By the way. IIRC unity invested quite a lot into burst compiler/job system. That is a problem, because effectively this is a dialect and not C# people are used to. So basically using burst compiler is a popular language into an obscure niche, while C# for unity already deviates from standard C# quite a bit.
     
  44. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    In .NET 6 / 7 you have much less allocation and more control. Also you can manipulate strings allocation free using Spans. As a domain language (the code that drives your game logic. not the engine code) its a perfect match, much better than Cpp and the only reason we havent moved to Unreal.
     
  45. Slashbot64

    Slashbot64

    Joined:
    Jun 15, 2020
    Posts:
    155
    What's so good about rewind compared to the new input system?

    Some of the common ones I use

    Odin
    BetterUI (should be built in)
    New Widgets UI
    uiextensions
    ExternalGameView
    AmplifyShaders
    SelectionNavigation
    BetterBuildInfo
    Ultimate Editor Enhancer
    Clipboard Copy
    Hardlinks
    Debug Log Extensions
    Animancer
    Weaver
    Power Inspector
     
  46. Acissathar

    Acissathar

    Joined:
    Jun 24, 2011
    Posts:
    643
    Hierarchy 2 (Free) - Tabs/Headers and Folders for the scene hierarchy, along with some additional icon and layer display tweaks for the objects.

    Graphy (Free) - Super easy fps/audio/ram counter to add in to a project for rough estimates on performance before diving into the profiler.
     
  47. EricFFG

    EricFFG

    Joined:
    May 10, 2021
    Posts:
    85
    Assets are a liability and heavy technical debt, dont make yourself reliant on many third parties simultanously.

    If you start shopping assets like in a candy store you will have a really bad time later on.
    Importing a huge tweening library with 170 files packed in DLL if you only need some simple tweening is inviting crippling technical debt. Importing huge audio libraries if you need basic functionality is inviting crippling technical debt.

    The only assets which are slightly bigger than a couple scripts that did not explode in our face so far was MeshCombineStudio, AssetHunter

    Your first criteria when looking at an asset should be how many files it contains.

    Assets are time bombs waiting to go off in general. Sooner or later you will be tackled by heavy issues which all stack up over time and are hard to fix or even can compromise your launch or patch plans. The simpler the asset the safer. If you see huge super assets claiming to solve all your issues and doing everything ever, that is where you gotta have your alarm bells ringing.

    At best they will slowly or rapidly creep up your build, play and compile times to a point where you pay a lot of time for them or even load times and then its really hard to improve things as you invited many things which are hard to get rid off.


    Some examples:

    - Even amplify shader which is my favourite asset and hands down better than shader graph is compromised on HDRP and still not fixed so we have to remake all our shaders in shader graph or we can never compile them again. We also could not patch the game for a month making the community very dissapointed and its been months since we could change our shaders and remaking one takes hours each.

    - Masteraudio hurt our project terribly bad as someone added it while it was not what we needed for our workflow and it took months to get rid of it and our game had over a year of terrible audio mess as a cause. Not neccessairly the tools fault but just wrong choice for us.

    - AStar cost our programmers and team weeks of work and could have been our own solution within that time spent. Sadly there is no alternative outside of writing your own as unity's is just unfit. Sure it is good base, but then your ramp dosn't work correctly and 4 people spend a week on trying to make a ramp fix. Then suddenly you can't fix holes. Then suddenly you can't use it runtime anymore because of performance reasons or whatever. Then suddenly you need to offline bake with an awful saving workflow, which people very easily can forget, leading to broken maps for players.

    - We have Odin in the project which has cool features but we only use 5-10% of it in some scripts and its insanely bloated with features. This adds 2 or so seconds to domain reload time every reload. If you work over 2 years with a couple people, this is a lot of time you are paying for this. This has to be worth it.

    - DoTween - seriously just grab a simple 2 script tween and extend what you need, like seriously what the hell do you need 170 files to do a curve on A to B.

    - SRDebugger - Causes insane lag once someone opens it ingame. The debug spawn window looked cool at the start, then you realize the UI code is using 90s patterns and nobody can even figure out how to edit anything or even find a UI prefab because it dosn't follow any unity workflow. Had to scrap and do our own UI. Cool for the console outside of that it drops your fps to the bottom.

    - Upgen lighting - very cool at the start. Then its not supported anymore with DLSS so hundreds of lights in the project which had been there for a year, all gone.

    - Text mesh pro - spams console with nonsense garbage issues sometimes, unfixable but still a must have asset in unity

    - Charts and lines asset . what a mess. Lags the window horribly, hard to get out now. Its not so hard to look on google and implement a curve if you need one. Don't import a chart asset if you just want to draw a single curve in your entire project.

    - IL2 localization - jesus christ what a mess. For months this reloaded every time we did a change. Its all in one single file which causes git to give you tons of conflicts naturally, and the inspector script drops your FPS to 2 in the editor.

    - Easysave - again every time hot in git, also now is being ripped out after 2 years so thats another month of work.

    - Hierarchy assets - very dangerous. The rendering must come from somewhere, and drawing fancy colors and 6 icons for thousands of objects in your hiearchy dosn't come from nowhere and can easily halve or your editor FPS.

    - Probuilder - all generated meshes are constantly being reloaded, which is making it only fit for prototypes and not real production from what I heard

    - Bolt - Will kill your project downright later on as the performance is so bad that you can do nothing but either throw it away or remake your game if you use it even slightly as code replacement. Worst performance of all visual scripting assets

    I could go on and on.
    Im not saying all these assets are always bad or you should never get them. Maybe they are exactly what you need, however the more third party code you invite, the more issues you will encounter and its a tradeoff you have to conciously make and know the potential tradeoffs.
    Make sure to profile things you take in your project and learn their shortcomings quick before its too late.

    Be as clean as you can with your project. Only import what you really really need. You are inviting a minefield of potential and especially obscure issues and making a game is hard enough. Don't rely on any third party if you don't have another choice.
     
    Last edited: Nov 23, 2022 at 7:04 PM
    Stardog, Wattosan, NotaNaN and 3 others like this.
  48. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    847
    Surprising how experiences can differ~
     
  49. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    12,147
    Well, he outlined what could possibly go wrong with relying on 3rd party tech based on experience, and his experience is in line with my reasons for trying to avoid asset store.

    Basically, 3rd party tech is a kill switch for your project, which is why you shouldn't install too many killswitches.

    Also, as an example of 3rd party package system going wrong, you can take a look at javascript and npm.
    Somebody implemented a 3d framework for AR/VR called A-frame, and there were nice demos like physics (in a browser. In javascript). Then it turned out that all this fun stuff only ever worked in version "most recent-1", and the most recent version broke everything. Then it turns out that all that stuff when it worked relied on a 3rd party code developed by a single passionate person ("Don Mc Kurdy" in this case), who decided to call it quits due to being upset with facebook policies. Also, due to recursive nature of dependencies, the project actually pulls in something lik a thousand dependencies, good luck pruning this.

    Of course, with unity package manager and asset store there's a smaller chance to get "peacenotwar" scenario which happened with npm/node, but still, even UMA that was once popular sort of died out.
     
    EricFFG and Wattosan like this.
  50. Max-om

    Max-om

    Joined:
    Aug 9, 2017
    Posts:
    214
    It sounds mainly like a problem with abstraction. Always create a abstraction between a code asset and your domain.
     
unityunity