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. Dismiss Notice

Ready-made tools or develop by yourself?

Discussion in 'General Discussion' started by aguyonthebalcony, Jun 4, 2023.

  1. aguyonthebalcony

    aguyonthebalcony

    Joined:
    Jun 4, 2023
    Posts:
    1
    Hi! I'm a first-time developer and I was developing a simple stealth game in Unity when it came the time to implement a camera for my character. Did some research and I found both Cinemachine tutorials and cameras' tutorials implemented from scratch.
    So now I'm wondering: what is the best thing for a newbie to do (in general I mean)? Study and use a tool ready to go or follow some tutorials and write more code to implement something that we already have?
    Because on one hand I think it's important to know how to use a tool provided by the engine (especially if you're trying to to learn how to use that engine in the best possible way), while on the other hand it's perhaps not a bad thing to get your hands a little dirty and write code to learn some concept that underlies that tool/feature (like the camera in my example), even if it means reinvent the wheel.
    What do you think?
    (I hope I started my thread in the right place, otherwise delete it or move it at your leisure)
     
  2. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    9,900
    It really depends on you and your circumstances. The questions are (not all but some):
    - does the ready solution have all the features you need?
    - do you have the expertise to build a solution like this? No, seriously. Usually these things look more easy than they are
    - maybe you can use the ready solution to a base and you can build on the top of it?
    - are you sure you won't need significantly different features later? if you may, what are the potential consequences? delay? project failure?
    - do you want to learn how to make these things?
    - do you need to learn them?
    - do you have time or do you have money or both?

    Add more questions to this and try to weigh the answers you estimate and at the end, make an educated guess and keep an eye on project-health.
     
    aguyonthebalcony and stain2319 like this.
  3. Peter77

    Peter77

    QA Jesus

    Joined:
    Jun 12, 2013
    Posts:
    6,419
    I would utilize all the production-ready features that Unity offers if it helps me complete the task at hand more efficiently.

    However, I'm hesitant to use third-party products in many situations. If the product becomes obsolete, it can lead to a difficult position.

    I've experienced this a couple of times, so I've learned that it's much less risky to use first-party resources that the game relies on. For things that won't impact the success of the project, it's okay to implement third-party products.

    If it's just a hobby or a learning project, then the success of the product doesn't really matter. In those cases, I think it's acceptable to "go wild-west."
     
  4. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,977
    If the ready made tool suits your needs then yes, use it. That is why you're using a ready made engine, right? So it can have some things ready for you so you can spend your time elsewhere.

    But.

    I've only experienced, seen and heard bad things about cinemachine. A few released games I played that I know used cinemachine had horrible cameras (Gang Beasts had a bad camera that got worse after they switched to cinemachine, Skatebird was panned for its camera on release and it was using cinemachine), so, personally, I don't know if cinemachine is the correct choice under any circumstances, especially for something as critical as your game camera.
     
    aguyonthebalcony likes this.
  5. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,317
    ...

    If you want to learn more, you should develop tools yourself. If you want to finish product faster, you should use ready made. Note that Ready Mades may enforce some interesting approach you might disagree with.
     
    aguyonthebalcony and frosted like this.
  6. spiney199

    spiney199

    Joined:
    Feb 11, 2021
    Posts:
    5,769
    Cameras pretty difficulty and are probably one of the 'great filters' of game dev, which I think is a good thing why Cinemachine exists. I've only had excellent results using it, even so far as a 3rd person orbit camera that works under any direction of gravity.

    I think as your experience grows you'll find yourself making your own tools, though while you're new don't try and punch too far above your weight. Most of my tools are just build on top of Unity's main packages (Input System, Addressables) to streamline things for my workflows.
     
    aguyonthebalcony likes this.
  7. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    4,044
    I tend to really like trying to build a tool myself first then looking at third party stuff after. I generally do this as a kind of learning exercise. I don't think you can evaluate a lot of third party stuff particularly well without understanding the various problems and nuances, and it's very hard to fully understand those nuances without getting your hands dirty approaching the problem yourself.

    As mentioned above though, you can definitely get in trouble trying to work with stuff that is simply above your capabilities.
     
    aguyonthebalcony likes this.
  8. Ne0mega

    Ne0mega

    Joined:
    Feb 18, 2018
    Posts:
    702
    First time developer : ready made tools, and dont worry about it until later, when you realize you must roll your own for almost everything.

    Dont worry, your first years work will be useless, or at least need major refactoring anyway. learning exercises, if you will., As a first time developer, you won't have the skills to roll your own, or perhaps i should say, know when you need to roll your own.

    To put it another way, use in engine tools, and buy nothing from the asset store except art and or music.
     
  9. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,508
    do you want to waste your time creating stuffs unity already has?
    I mean, you are indie, a solo dev, so, you need to focus on the things you need for your game, do not waste your time creating stuffs that are already there (if those things works good)