Search Unity

How to get a job as Unity 3d game developer?

Discussion in 'Getting Started' started by IvanDonets, Feb 24, 2016.

  1. IvanDonets

    IvanDonets

    Joined:
    Feb 19, 2014
    Posts:
    117
    I want to know: what a re my chances to become a Unity3d programmer? Around 3 years ago I got to know about Unity3d for a first time. Before that I played with visual basic .net (well, but also with basic for DOS - it was around 20 years ago). I studied physics 2,5 years in academy, but had best mark on Programming subject. Programming is my hobby, and at present I am playing with Unity3d to make 3d game in which I can click and go, click and attack, click and pick item, or click on statue to worship and get benefit from its deity etc. I never programmed in C#, but read one full book on it (I am reading unity3d docs on unity3d site or search internet if I can't understand something, or finally post here). I watched Enemy AI tutorial to start with the most interesting part. Now I understand what are WayPoints, how to make character (player or enemy) to walk towards certain destination, how to LookAt target, how to play animations with the code (but only Legacy animation, I don't understand Mechanim avatar/animator system, though I tried to change a 3d model and it worked. But I don't understand it to the end so I use legacy Animtion for 3d characters). I downloaded two free models - samurai and troll with legacy animations, and made a simple 3d game. Player has a script with health and mana, mana is used to freeze a monster on played frame (like in Diablo). By drinking mana potions, mana is increased, by drinking health potions - health increased. By drinking regeneration potion - both are increased. Potions appear on same transform.position as Enemy corpse is lying (I freeze "die" animation on lying frame). Trolls reappear nearby after they are killed, so game can be played practically forever. But game has no saving/loading feature, and I develop only for Windows, though I see that mostly to Get a job one should know Android/iOS development (but I think that touch-pad is not much different from mouse, though I saw - uses other functions). I understand that there are many other 3d models to add to my game, but I am afraid that they are mostly paid and use Mecanim which I don't understand. What are my chances to become a good 3d developer without using Mecanim 3d models, but only legacy animation? Are there enough 3d models with legacy animations to rely on this system? Why people are swithing to Mecanim after unity 4.6? What should I learn to get at least first job with unity3d? Or should I start with 2d (though I don't like it much, I tires - it looks out-dated, like DOS games)... I saw that there is forum section for Job-seekers, but I feel I am not ready. Job-giver may have different expectations, but I have no idea what do they expect from me as (future) unity3d programmer. My another fear is that Unity3d is a free game engine, so that maybe I will not be considered as serious game developer if I am using unity3d (especially as hobbyist). At present I am also trying to make inventory, but a code seem to be quite complicated. I like visual part of Unity3d 3d (that looks quite friendly as Visual Basic/C# with Windows forms, but much more interesting). But it is relatively harded to program User-Interface in C# comparing to Visual Basic. At first I thought I would program in Boo, but later understood it is not perspective. Though C(#) is powerful. Not using Javascript (but can read the code - not much difference with c#). I see that job-givers also want that I know other programming languages like C/C++/Objective C, but why? Why do they want me to know SVN? I see that job-givers want me to have experience in c#/unity3d in some other companies already, but how can I get to first one? If company is developing in 2d, is it a good idea to offer them Legacy 3d animation skills? I have many doubts and fear that I can ever become a Unity3d programmer in any company (or should I make my own, but how? that requires money to invest into assets store 3d models, and not sure if they are legacy animation models, but not Mecanim. Or can I convert from mecanim to legacy?)
     
  2. drdenner

    drdenner

    Joined:
    Jun 24, 2014
    Posts:
    32
    First step : Find your Enter/Return button
     
  3. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    Just go on your local job board and start applying. Game jobs tend to fall into geographical hubs, so yo might need to move. You'll quickly get a feel for what employers are looking for.

    He learned programming on DOS systems. White space was at a premium back then. ;)

    (But seriously, fix this before you send out a CV).
     
    riis47 and (deleted member) like this.
  4. Schneider21

    Schneider21

    Joined:
    Feb 6, 2014
    Posts:
    3,512
    This was horrible to read, which is why you're not receiving many responses to an otherwise interesting question. Breaking your thoughts out into separate paragraphs will help keep things less rambling and will make more sense to others trying to help.

    I searched for question marks and identified these as your questions. If you used a period instead, I didn't find it as a question.

    I want to know: what are my chances to become a Unity3d programmer?
    Without knowing much about you or where you live, it's tough to say for certain. Statistically, though, I would say: very slim. That said, I did it briefly, and I live in an area where there are next to no game development companies around, so it is possible.

    Rather than trying to become a "Unity3D Programmer", though, I suggest looking at it differently. My day job is as a web developer. I used to work almost exclusively with WordPress sites, but I didn't seek out "WordPress Developer" jobs. I have a broad range of skills (which I continuously develop and add to), so limiting myself to WordPress would have held me back from a few great positions, including my current role as a GIS app developer.

    So instead, try to find Game Developer, App Developer, or any kind of Developer position where they're looking to make games. If they have an established framework already, so be it, but if they don't, that's your opportunity to introduce them to Unity. Don't think about just learning Unity, though. Learn game development using Unity as one of your many tools.

    I understand that there are many other 3d models to add to my game, but I am afraid that they are mostly paid and use Mecanim which I don't understand. What are my chances to become a good 3d developer without using Mecanim 3d models, but only legacy animation?
    Easy. Learn Mecanim. There's no place in this world for developers who don't want to learn new things, sorry.

    Are there enough 3d models with legacy animations to rely on this system?
    No. Legacy is called legacy for a reason. Mecanim is superior by far for humanoid animation.

    Why people are swithing to Mecanim after unity 4.6?
    Wow, you're really against Mecanim, aren't you? People switched because Mecanim was the new standard, and that's what you do when things change. Again, take the time to learn Mecanim. It's no more difficult to learn that than it is to learn a programming language.

    What should I learn to get at least first job with unity3d?
    Like any job, in order to secure a paid position performing those duties, you should be confidently proficient in the required responsibilities of that role. A harsh way of saying it is "If you have to ask what you need to know to do that job, you're not qualified for that job". Honestly, though, if you find a job listing, they tell you the responsibilities of that position. You should be able to do those things and do them well.

    I see that job-givers also want that I know other programming languages like C/C++/Objective C, but why?
    "Job-givers", lol.

    If they're requiring you to know other languages, it may be because the position has other responsibilities than just working in Unity. You may work on Unreal projects, or be required to debug issues with iOS apps. And some companies may just want you to be able to demonstrate you have a range of skills and aren't stuck on one technology stack, as many novice developers seem to be.

    Why do they want me to know SVN?
    SVN (alternatively Git or Mercurial) are version control systems that any respectable development organization uses to backup their code and manage team development effectively. You should absolutely be comfortable using at least one of these and be willing to learn any of the others as required.

    I see that job-givers want me to have experience in c#/unity3d in some other companies already, but how can I get to first one?
    That's the age-old problem of starting a career. No different here than in any other field. If you can't find paid work doing something yet, do it unpaid first to build a portfolio/resume. Find small freelance jobs you can do and use those as a demonstration of your capability. Honestly, generic job-seeking advice is just as helpful with this question as anything I could say.

    If company is developing in 2d, is it a good idea to offer them Legacy 3d animation skills?
    Sure. But still learn Mecanim anyway.

    I have many doubts and fear that I can ever become a Unity3d programmer in any company (or should I make my own, but how?
    Again, nothing different here than any field. It's a competitive market, for sure. Best advice is to learn as much as you can, become great at it, and start making stuff. If you can demonstrate that you're awesome, people will notice.

    Making your own company is all well and good, but you have to be able to get work for that company (or sell finished products). It's the same set of challenges, but with a lot more stress. If you're still at this early stage, I'd avoid looking at forming your own business around something you don't seem all that comfortable with yet.

    Or can I convert from mecanim to legacy?
    For God's sake, no! In the time you took to write all this you could have already completed a Mecanim tutorial and been that much further along! Just learn Mecanim already!
     
    Monki3, Alverik, Kiwasi and 1 other person like this.
  5. IvanDonets

    IvanDonets

    Joined:
    Feb 19, 2014
    Posts:
    117
    That's a good idea! Never thought in this way.

    Well, I am from Ukraine (Kiev, its capital). There are certainly unity3d companies here (I found one man on this forum from Ukraine who earns 700$ working with Unity), but trying to look for Game dev companies in general is certainly a good idea. I'll try it.

    One thing I like in Mecanim is that they use term Avatar ;-) By the way I got initiation into "Hare Krishna" (gaudiya-vaishnavism), so I immediately added Krishna statue to my 3d samurai game.

    But maybe this can lead to knowing a lot imperfectly rather than knowing only unity3d perfectly?

    No, but simply I didn't find Attack animations in Mecanim models I tried, but only in legacy animation. That's the only reason.

    Employers, you understand, don't you?

    You mean just because Mecanim is new, it is more powerful? But I like typing something like EnemyAnimation["Attack"].Play and that's pretty clear code. Not sure if it so with Mecanim.
     
  6. IvanDonets

    IvanDonets

    Joined:
    Feb 19, 2014
    Posts:
    117
    I am not sure about those distant freelance jobs. Maybe they are cheating - will simply take my time and code (steal it, saying it is theirs), but will pay nothing.
     
  7. IvanDonets

    IvanDonets

    Joined:
    Feb 19, 2014
    Posts:
    117
    The funny thing I remember with Mecanim was - I applyed a humanoid character controller to a cow, and it started walking on back legs ;-)
     
  8. Schneider21

    Schneider21

    Joined:
    Feb 6, 2014
    Posts:
    3,512
    I didn't mean to offend by laughing at "job-giver". Of everything you typed, that was the only thing that jumped out as a miscue. Otherwise, your English is phenomenal (and in fact, better than many Americans' :p). Just have to work on those paragraphs is all.

    At my first development job, I asked my mentor whether it was better to be really good at one thing, or kinda good at a lot of things. He answered "Be extremely good at everything."

    I thought he was just teasing, but as I gained experience, I learned he was correct. Yes, there are people who get by knowing just one thing. And there are those who are know a little bit about a lot of things. But the truly in-demand people are the ones who have or can achieve expert level on anything. The best part is, it's actually not all that much more effort!

    Look at programming languages. Any C-based language has enough similarities that if you know one, you can figure out the others (though admittedly, I still struggle with C++). Sure the syntax varies greatly from VB.NET to JavaScript to C# to Python, but syntax is something you can Google anyway. Learning how to program, that is, thinking logically, breaking down tasks into components, and designing control flow... This is a skill you can develop and apply independently of specific technologies. So you do yourself a disservice by marketing yourself as a "C# Programmer". Instead, you're a Programmer, proficient in (among other things, hopefully) C#.

    Same goes for Mecanim. You like the Legacy system. That's fine! Use it, if you want. But learn Mecanim, too, so that if you find yourself in a situation where you could use it, you can! You're still doing the same basic thing (animating SkinnedMeshRenderers), just using a different system to do so.

    Let's go up another level and think about the engine itself. No problem being really good at using Unity. But using Unreal isn't fundamentally all that different. You still have a resource pipeline. You still have script behaviors (Blueprints in Unreal, I believe) and you have a suite of tools for accessing graphics, audio, etc. Learning one doesn't preclude you from learning the other, nor does it take anything away from what you already know. It only enhances it.

    Keep going in the thought process. Why restrict yourself to being a game developer when you could make native apps? Wouldn't it be useful to know how event-based applications function, vs games where the screen refreshes 60 times per second regardless of your actions? And websites! People always need websites. Being able to create those would be handy, too, wouldn't it?

    There's virtually no limit to your brain's capacity for knowledge. You're restricted only by your time, dedication, and ability to learn. It sounds like you have enough drive to establish the dedication. Only you know your learning habits and what works best for you. And if you figure out how to create more time, please let me know, as I could use a great deal more of it myself.
     
    riis47 likes this.
  9. IvanDonets

    IvanDonets

    Joined:
    Feb 19, 2014
    Posts:
    117
    Well, what I have learned from "Hare-Krishna"s, is that they would sleep very little: go to sleep at early time, and wake early (something around 5a.m.). Then there are more hours available in each day. Top religious leaders would sleep just something like 2 hours a day. All other time they would translate scriptures, chant prayers (mantras) etc etc. But well, this seems to be impossible for simple person. I tired to wake early, and then I feel sleepy, and next day I again want to sleep more.
    But, by the way, if the things you do are very interesting (it can include Unity3d as well), then you'ld naturally wake up earlier and go to sleep later, so sleep less just like a monk... ;-)

    BTW, one another important princliple I learned from those monks, is that there is a very big importance of good association. Certainly they mean associating with saints. But applying this principle to Unity3d or Programming in general, this means to have more association with people like you. For me it is this unity3d forum. The benefit from associating is that if you share, you don't loose anything, but you get something in return, and benefit multiply. Thus learning can be faster.

    What I tried myself is to download some free unity3d projects, and I tried to run them in step-by-step mode (with debugging on, so IDE will stop on break-points). Thus I found out how to use RayCast Hit from one game. Now I know how to use it in my game and it is really a must-know for Unity3d programmer, because all games - be it PC or Tablet-PCs/phones, rely on Mouse or Touchpad, and thus they use Raycast hits.

    But unfortunately, there are not so many complete projects for free, so I have to find parts of code, certain functions etc.

    Thank you ;-) I lived one academic year in India so practiced English there (though I went there to learn Hindi, hm). But before (well, and after) that I practiced English individually from one very good English teacher. It was just one-to-one (tet-a-tet). But of course since I had access to computer and especially Internet, I had to learn English. I often read a lot in English. It is usually much faster to learn something on internet by asking Google in English, rather than in Russian or Ukrainian.

    My usual principle is "Do perfectly, or don't do it at all"... Well, as for "be extremely good at everything"... I don't mind, but that is rare.
    Just have seen one ad by employer: "We require Unity3d Ninja. If you are the one, we will hire you"... Schneider21, are you The One? ;-)


    What I understood on example of Unity3d, is that simply knowing a programming language is not enough. It should be applied together with some technology like Unity. And what I feel now, I wasted much time by playing with (Visual or no) Basic, without knowing that that is useless nowadays. If I knew about unity3d earlier, certainly I'ld have known more today. It was just by chance that I got to know about Unity3d by the way. I dreamed about a program which could automatically convert texts into movies or make games, but what happened is that one company made something like that (in short, technology is similar to Microsoft Agent, with text to speech and simple commands like This one goes here, another one goes to point 2 etc, third one plays animation1 and animation2 etc etc... If you are interested I can give more details. Though that project disappeared soon after few years, though company spent millions $ on that, investing into text parsing, language understanding similar to Google Translate... The only company that required this technology came out to be a Comedy company :) ) and they required a talented programmer with Unity3d knowledge. I understood that unity3d is the thing what I was looking for...


    I even have read a few books on Assembler and played with it also. Now, comparing to assembler, I don't think that C (be it ++ or #) is quite a complicated language (well, especially after studying Chinese at school '-) )...

    Yes, we are =-)

    I feel more need in Mecanim as time passes, because indeed there are more free 3d models for Mecanim. And they can be downloaded from practically any 3d models website. The only question is the animator controller for them, so that it includes animations for Attack etc.

    I know one guy who programs in Unreal. He tried to convince me that Unreal had much more features comparing to unity3d, for example: enemy in Unreal can hear how Player is walking (footsteps etc), and would come. Certainly this is a cool feature, which Unity3d indeed could lack. But does many people need it? I don't think so... I tried to installed Unreal engine. It didn't impress me. Interface seems to me not so clear, and was unable to make any game in it. I also tried Ogre, also tried NeoAxis SDK, and few other game engines (list is on wikipedia). But only unity3d looks best to me. In Unity3d I have much more chances to become a programmer (I mean get hired / get job) than in any other game engine.
    One thing I wonder about Unity3d game companies - why do they make 2D games and not 3D? That is not so hard to make a 3d game in Unity3d as I can see...

    In unity3d I make samurai and troll who also use Animation Events. Maybe that is only a feature of Legacy Animation. They are very nice - just choose a frame, click Add Animation Event, choose function for that frame (take health, die, freeze etc).

    Why not websites which run Unity3d game in its browser window? Or in facebook, other social network?

    I have not much choice. My parents are retired and I still have no job. They are forcing me to get some job, but I say: where would I go? what would I do? Probably the only way is to become a programmer. Unity3d one.

    I got to know about Unity3d 3 years ago. I feel a bit disappointed that I didn't learn much in this time. My first efforts were not much successful. I spent much time trying different free packages from assets store, of course learning unity3d from official website as well. Another problem now is that I at present do Unity3d programming in a village (temporary of course), and internet here is much slower etc. And 2nd harddrive with my unity3d project sometimes disappears (like it did today). I can't even download Android SDK and install as main HDD is only 6GB and is now full :-( I wish I could have a better PC, so unity3d wouldn't hang/crash. This also slows down learning etc...
    ...
    Have read one message on unity3d answers that someone is studying Unity3d at school. Wish I was studying in such school!
     
    Last edited: Feb 26, 2016
  10. Rievaulxxx

    Rievaulxxx

    Joined:
    Dec 30, 2018
    Posts:
    1
    So, how's your journey in a game dev?
     
  11. Wun5

    Wun5

    Joined:
    Oct 15, 2021
    Posts:
    7
    In
    Hello
    How are your progress?
    Did you find a job?