Search Unity

  1. Get all the Unite Berlin 2018 news on the blog.
    Dismiss Notice
  2. Unity 2018.2 has arrived! Read about it here.
    Dismiss Notice
  3. We're looking for your feedback on the platforms you use and how you use them. Let us know!
    Dismiss Notice
  4. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  5. Improve your Unity skills with a certified instructor in a private, interactive classroom. Learn more.
    Dismiss Notice
  6. ARCore is out of developer preview! Read about it here.
    Dismiss Notice
  7. Magic Leap’s Lumin SDK Technical Preview for Unity lets you get started creating content for Magic Leap One™. Find more information on our blog!
    Dismiss Notice
  8. Want to see the most recent patch releases? Take a peek at the patch release page.
    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 at 12:16 PM.

  1. Squall01992

    Squall01992

    Joined:
    Aug 8, 2018
    Posts:
    3
    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:
    3,658
    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 Moderator

    Joined:
    Apr 11, 2010
    Posts:
    22,471
    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.
     
  4. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    1,966
    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:
    15,376
    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:
    3,318
    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. DreReid

    DreReid

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

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    22,471
    As are we all.
     
    Kiwasi and Ony like this.
  9. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    11,811
    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:
    2,596
    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:
    3,039
    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.
     
    Ryiah likes this.
  12. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    22,471
    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:
    306
    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.
     
    frosted likes this.
  14. frosted

    frosted

    Joined:
    Jan 17, 2014
    Posts:
    3,039
    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:
    1,060
    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 at 6:00 AM
  16. Not_Sure

    Not_Sure

    Joined:
    Dec 13, 2011
    Posts:
    2,538
    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.