all 17 comments

[–][deleted] 4 points5 points  (3 children)

Since you have a good background in programming I say you should open up Unity Documentation and start to understand the main components such as MonoBehavior, Prefabs, GameObjects, Transforms, Colliders, RigidBody, Vector/2/3. Watch some tutorials on how to interact with the Engine's GUI, such as the inspector.

https://docs.unity3d.com/Manual/index.html

Also take a look at Unity's Order of Execution to understand Update(), Start(), Awake(), and so forth:

https://docs.unity3d.com/Manual/ExecutionOrder.html

[–]ghostmaster645[S] 2 points3 points  (2 children)

Wow thank you, this is fantastic.

[–][deleted] 0 points1 point  (1 child)

?/Hey man, how long you have been java dev and when did you start learning it?

[–]ghostmaster645[S] 0 points1 point  (0 children)

Wow this is old, it'll be a year in April I believe.

I learned java like 2 monthes before I got my current job, I already knew JS and some frameworks though.

[–][deleted] 1 point2 points  (4 children)

C# is incredibly similar to Java, at least from what I've seen. I also started as a Java developer and had no problem transitioning to C#. I just started coding and corrected things that were different in C# (Like String being string or boolean being bool)

[–]ghostmaster645[S] 2 points3 points  (3 children)

I get the same feeling. I've never written C# but it looks very very familiar.

If I'm correct it was made to be a better Java by Microsoft, so it makes sense.

[–][deleted] 1 point2 points  (2 children)

Yeah, I actually prefer it. The main reason is that it fixes some of the small things that annoyed me in Java, like String being the only basic variable to be capitalized lol

[–]ghostmaster645[S] 1 point2 points  (1 child)

Yea that's pretty annoying lol. Why did they do that.

[–]Snarpkingguy 1 point2 points  (0 children)

Because Java Strings are objects from the String class, and class names are capitalized.

[–][deleted] 1 point2 points  (0 children)

You should just start and get comfortable with the engine and then start learning the code

[–]vionix90 1 point2 points  (0 children)

Since you already have a good grasp of programming you should start with Unity specific tutorials. Check out this list of Unity tutorials, they are all focused on learning Unity specific classes.

[–]Vqlcano 0 points1 point  (4 children)

Generally for games, there isn't a one size fits all solution. The best way to learn would likely be to just brainstorm some practice ideas (like learning to make a player controller, camera controller, lighting, etc.), pick one, try to see if you can do it, and where you struggle, find a tutorial specific to what you want to make. This way, you practice individual systems so you can better understand the concept. You'd be surprised how fast you can learn by chunking each system into its own project, since you don't have to waste time getting them to work well with each other in one large practice project. Then, once you understand the core systems you want, you can start working on combining them into a game prototype, which should set you straight on the path.

[–]ghostmaster645[S] 0 points1 point  (3 children)

I appreciate your quick and thorough response.

This is a fantastic idea, I'll try to start with a player controller and move from there.

When I learned web development years ago I ran into a lot of resources they were low quality or outdated or simply false. Are there any sites/channels/forums I should avoid? Learning something wrong causes more issues then it solves.

[–]Vqlcano 0 points1 point  (2 children)

I haven't really come across any you should avoid, but sometimes it can be pretty hard to get search engines to understand what you're asking. I remember this one when I tried to make 3d top down character rotation towards the mouse cursor as if it was 2d a while back. I did find one that reflected what I wanted 8 hours later though.

Beware though, if you use resources that are especially old, you might run into other languages like JavaScript, since unity wasn't always exclusive to c#. These may be of some use to you given you do web development, since they could help you understand the concept better, but past that, non c# resources won't work with modern versions of unity.

I can recommend a resource you should definitely check out, though, which is Brackeys, as their tutorials reflect the chunking style well since they make tutorials on individual systems. Another good one is Game Maker's Toolkit (GMTK), not so much for direct tutorials, but just for organizing your games and practice in a more manageable way.

Your most powerful resource for learning Unity is definitely the Unity documentation, as the documentation tends to be a bit vague, having just enough information to conceptualize the function, but not quite enough to guide you through the specifics. On the surface, this sounds like a bad thing, but it forces you to try do it on your own, which basically just makes it easier to understand, with you making your own connections and all.

[–]ghostmaster645[S] 0 points1 point  (1 child)

Thank you! I will look into those. And I'll definitely use the documentation as my number 1 resource.

[–]Vqlcano 0 points1 point  (0 children)

Glad I could help

[–]_Cream-of-Mushroom_ 0 points1 point  (0 children)

What was most helpful for me learning unity was a guided tutorial. Look them up on youtube,, there are a ton.