Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Hi guys, how long did it take you to be good at scripting in Unity?

Discussion in 'General Discussion' started by Squall01992, Aug 11, 2018.

Thread Status:
Not open for further replies.
  1. Squall01992

    Squall01992

    Joined:
    Aug 8, 2018
    Posts:
    23
    The time you feel confident enough when scripting using C# in Unity, not exactly that you have to master it but at least you are good enough in scripting in Unity, how long did it take you to be good at it?

    I hate math but i learn faster in my business math than programming, I'm forcing myself to be good at it but i learn so slowly when it comes to programming.
     
  2. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    6,010
    It depends on how you spend your time learning. I had a year of background in programming before using Unity the first time. I really can't say how long it took me to feel comfortable in it, but I would say that after a few months I could at least have functioning reasonably well basically any game mechanic you asked me to make. I was splitting my spare time with Blender at that time.

    My suggestion is to follow the roll-a-ball and space shooter tutorials from start to finish (writing all of the code yourself according to the Unity Learn tutorials). That's what I did, and from my experience I consider copy-writing to be the best way to learn a programming language (or a foreign language for that matter). And in the end you have something that works.
     
  3. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Coding in Unity are two things:
    • Programming in C#
    • Calling engine commands
    With those in mind, you will probably find the second part to be one of the easiest in the world. It does not get any easier really. The convenience is astonishing.

    The first part - programming in C# is not a Unity related thing. That's just general programming and is by large going to be same difficulty regardless of the language once you get what programming is all about.

    That's the decision making part, so you will stumble at your own code mostly.

    Also things like "I hate math" are basically behaviours you seriously need to remove from your plate ASAP. You don't hate math or any part of game development. Remove that from your mind. Otherwise you will take this challenge on thinking "I hate this bit" when it's not even math related. Instead use psychology on yourself. Be smart. Is it a math problem? Can google fix it (it has for me so far in all the years I've used Unity).

    Be positive.
     
    AG_BPO, elmar1028, BYD and 5 others like this.
  4. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    3,015
    One of the important things to any kind of development is being able to break down large complex problems into small easy to solve problems. Good programmers with lots of experience can do this regardless of the language or the build environment. When programming (or game dev in general) feels too hard, it is often a failure to break down the complexity. So practice the concept of breaking down complex problems into lots of small easy problems.
     
    Ony and Peter77 like this.
  5. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    A couple of days.

    In fairness, I'm really, really good at learning things.

    I've spent several more years honing my craft since then too.
     
  6. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,084
    Honestly, I'm pretty sure that intellisense has coded most of my game. Sometimes I change a value or two but it's like 90% computer.
     
    Kiwasi likes this.
  7. I_Am_DreReid

    I_Am_DreReid

    Joined:
    Dec 13, 2015
    Posts:
    361
    I am terrible programmer.
     
  8. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    As are we all.
     
    Gekigengar, Kiwasi and Ony like this.
  9. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,965
    Like @hippocoder mentioned there are two major aspects to this. Getting comfortable with C# was a breeze because I had already learned VB .NET, Java, and C++. I was already familiar with the framework and looking through MSDN. That said I learned C# years in advance of learning Unity making it one less thing I had on my plate at the time of learning the engine.

    Getting comfortable with Unity's API was similarly a very rapid process and frankly felt very intuitive compared to previous engines (Unreal 3) and frameworks (Irrlicht) that I had spent time with. It helps that they use common terms for many of their core concepts (eg GameObject vs Actor) making it easy to guess their functionality.

    I skipped the official learning resources, went to 3D Buzz, watched (yes, watched not followed along with) their outdated Unity tutorials, watched a single YouTube video, opened Unity and had a script running in a few minutes. I was comfortable with it within a week.
     
    Kiwasi, hippocoder and Ony like this.
  10. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,850
    Took me one night to figure it out..a couple of weeks to get used to all the API goodies. I had 8 years actionscript experience in a studio environment prior along with about 15 years professional experience with massive 3D, industrial design, rendering, inverse kinematic rigs and physics sims to bring to bear as well. IMO it is a really well thought out development environment.

    Don't drink and math.
     
    Kiwasi, Ryiah and hippocoder like this.
  11. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    4,044
    I've been programming now for over 2 decades. I think it took me about 2.5 years to get "good" at programming within Unity. I expect that it would take another 5+ years for me to be at what I'd consider expert level (about 10 years total).

    What constitutes "good" and stuff will vary from person to person. But in around 5 years I would expect to be able to code any feature I would want to a reasonable degree of polish in a reasonable amount of time. As it stands now, I can put together about 60%-70% of the features I would want to include to a polished level in a reasonable amount of time.

    At this point I can follow top end technical discussion with reasonable accuracy (I understand the terms, the considerations and am familiar with almost all common techniques).

    Some things are still beyond reach or would require too much time getting up to speed.

    Truth is, you are always learning. Game dev is a big enough domain that there's simply always more to learn.
     
    L82093 and Ryiah like this.
  12. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Yes, game dev unlike music or even film to an extent is a mostly evolving profession. In 10 years time, everything - everything - will be partially path traced. So we will be learning new workflows and this isn't going to stop.

    This year coming? ECS of course.
     
  13. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    1,992
    Game coding roughly comes in two parts: designing original things, and using old code to do what you want (which is often called "scripting".) Scripting, you can learn a bit here and be decent after a few months(?) maybe.

    But the only way to know how to code anything original is to learn computer programming for real. Like getting a textbook (from the library) on Python (it's on your computer, or you can download it) and working through general stuff. A decent one semester college course will give you enough to design most things. It's really hard to learn original programming a little at a time: most tutorials are more wrong than right, even the general ones on C#. And you need to learn the concepts, not the tricks. In that way it's like math. I've sometimes talked some students who "hated math" into liking programming, but rarely.

    I'm saying, decide if you're interested -- like you wouldn't mind being a programmer at a bank. If so, learn it for real. If not, don't waste time and frustration getting sucked in. Figure out the minimum you need to know, and learn only that.
     
    ewgverg12 and frosted like this.
  14. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    4,044
    Yeah, this. Using third party components (asset store, built in unity features, etc), you can get something kinda functional very quickly without needing any in depth understanding. Hand rolling your own systems is a different kind of beast.

    How much you need to learn to achieve your goal will totally vary from person to person and project to project and can really be very little, or be extremely in depth.

    The answer to "how long does it take" depends on what you want to be able to accomplish. A very small puzzle game can be built quite simply, hand rolling complex professional level systems requires way more time and investment.
     
  15. BIGTIMEMASTER

    BIGTIMEMASTER

    Joined:
    Jun 1, 2017
    Posts:
    5,181
    A watched pot never boils!

    Whatever the work is, learn to enjoy the doing. You will become lost in it, and then, without even realizing it, all the doing becomes done, and before you know it, that which you have done is said to be "good."

    But, eventually, you care not about being "good." You only care about the doing. The work and the worker become inseparable. You only get to this state by disregarding all the mental junk beyond the work. This is mastery.

    Doesn't matter if it's programming or playing croquet or baking or kung fu.
     
    Last edited: Aug 13, 2018
  16. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    3,546
    I used to REALLY struggle (still do sometimes), but started to make a ton of headway after I sat down and went through a 3rd party tutorial series to learn C#.

    Tutorials point to be specific.

    I would highly recommend it. You can knock it out in a weekend or two.

    https://www.tutorialspoint.com/csharp/
     
    Ryiah likes this.
  17. Lionesse

    Lionesse

    Joined:
    Apr 15, 2020
    Posts:
    1
    I think this is the only reasonable comment here. There is simply too much stuff going on inside Unity to just learn it over night (if is possible if you are making semi-retarded mini game.
    No matter how great your basics are, to get comfortable it takes months. With previous strong basics in programming, it takes at least a year too call yourself really really good.
     
  18. Owen-Reynolds

    Owen-Reynolds

    Joined:
    Feb 15, 2012
    Posts:
    1,992
    Depends what you call "strong basics". To me it seems many unity coders have less than a semester of programming. Then over a year or more they discover basics like declaring bools, using a List as a nicer array, or writing classes that aren't monobehaviours ... . What they could learn in a few months takes them years of shlubbing blog posts.

    As far as "too much stuff", sure, but is that the question? Of course you need to know Mesh's before you can write code to make them. You've got to learn about fragment shaders before you can make those. Likewise working with the physics system. But so many Unity things require merely generic programming skills.
     
    Ryiah likes this.
  19. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,965
    This. Getting to the point of being good only requires you know a limited subset of the APIs because you simply won't need every aspect of it to create a game. Just as an example you mentioned physics. For the company I'm contracted to none of our games use the built-in physics system. In fact I'd argue very few games truly need the built-in physics.
     
  20. unit_dev123

    unit_dev123

    Joined:
    Feb 10, 2020
    Posts:
    989
    I think it takes a lot of dedication, time, humility and an ability to know when you need to take a break.

    Practice and failing, are always the key essential ingredient(s), or as I like to put it, 'the secret sauce.'

    Keep working on your portfolio and keep believing.
     
    Last edited: Jun 6, 2020
Thread Status:
Not open for further replies.