How best to learn....also anyone fancy helping someone out? :P

Hey fine folks!

I recently met a developer of the Unity engine and it kinda inspired me to give Unity a go. However, I have very little code knowledge (except making ‘guess my number’ and basic text adventures in LUA…on Minecraft…5 years ago) I jumped into Unity with an open mind as I do find myself to be very creative and as soon as lesson 1 of the ball minigame tutorial was complete I was already very excited and started editing code to help me better understand what the code actually meant, trying different variations or replacing 'Rigidbody rb;" with “Rigidbody rrbb” just to prove that I understood a concept as some parts are brushed over or ignored…like you don’t get told why ‘void’ is important… or ‘float’ - all you know is that without them the code won’t work!
While this has been quite useful to me, it has also been tiring - I have spent 2 hours on one section (recently part 3) trying to explain what every single part of the code meant, including trying to get my friend to understand…but all by just guessing through trail and error to prove my claims. This has meant after 4 hours I haven’t even completed step 5! I just want to keep asking questions as I don’t feel comfortable moving on until I feel I fully understand what I am writing - instead of just following instructions…but sadly the instructions often don’t tell you exactly why you put things in brackets…or why you put ‘void’ before ‘Start’ and ‘()’ after ‘Start’

Where I am going with this is… how much should I dig into these videos to maintain a good progress/learning ratio. I could easily follow the instructions and be done in 20 minutes…but won’t remember 80% of it (which is normal for any lecture) but I can get closer and closer to making something that’s showing what is capable. Or I can spend an hour trying to wrap my head around 5 lines of code and why they are…exactly how they are…why the ’ . ’ (fullstop/period) is significant in ‘transform.rotate’, why references can be made in different ways, not just ‘A = 213udbjsdbbsa’ but then this leads to mental draining and the more questions asked, the more confusion and less simple things come which makes Unity and code a lot more challenging.

A question to any of you listening… how did you approach the tutorials and were you able to grasp what was going on in relative ease…or did you need to stop and dissect? Or did you just do as the tutorial told and hoped eventually something would just click and you’d get it? This is certainly more complex than Scratch! :wink:

On a further note, if someone is interested in training up a new keen and creative recruit or is able to help me understand the principles of C# so the rest falls into place as easily as just browsing the useful unity script database…that would be fantastic! Besides, teaching others is arguably the easiest way to learn something yourself…so maybe it could be of mutual benefit? :wink: haha I also have further interests in databases, algorithms and AI…if I got very good…Aim high huh?

Kind regards,
Shaun (Pikasoul on Steam)

P.S: I was the type to use Cheat engine to mess around with variables on online Flash games… so I do have some ticker history! :wink: -I also figured out I could use Cheat Engine to exploit old Facebook online games too! Yay for cheating from a young age :wink:

Also P.S: I know there exists some assets on the store that makes coding more visual… which is helpful, but I don’t feel it genuinely helps as I would like to get to the point where if I have an idea… I will be able to implement it, know where to look and how to read and edit existing code etc…

Hi. If you want to program in Unity then you need a reasonable amount of basic programming knowledge. It won’t help you to inspect the code when you don’t know how basic syntax and structures look like.

I would suggest you to learn first C# development. There are a lot of tutorials on the internet which can help you to learn it. After knowing the basics you can go back to unity and analyze the tutorials again to know how they work and what they do. There are too some tutorials (books/videos) which explain the programming part in C# whilst you use it in your unity game. (Example: Search | Packt Subscription )

If you don’t want to learn programming then you could use Visual Scripting tools such as Playmaker or similar. Those give you a visual representation of nodes which can have different abilities like “go front”, “input key THEN do that action”. This is a far more easier approach for those who don’t want to know how the technical side is working and just by drag and drop creating a game solution.

BTW: This section is for posting tutorials only. Discussions should be posted in General Discussion

Hey there,

Thanks for the really helpful reply,
You nailed it, the syntax and ‘grammatical’ structures were what I was trying to wrap my head around - I figure that once I understand how the ‘grammar and punctuation’ part of programming code is understood, then the rest is ‘maths and vocabulary’ - pardon the metaphors, I use metaphors as a way of understanding :stuck_out_tongue:

I have felt I have made some progress in understanding some basics from just playing around to see what breaks the code - from process of trail and error I figured out ‘float’ means ‘value/number’ or atleast close to it. For example.

I did worry that i would need to learn C# fundamentally before I get to play… I just didn’t want to invest too much time and energy in learning how to program non-visually - but I understand that this may just be inevitable. I have looked into visual node programming - while it does look a lot more friendly, it seems a lot less rewarding and more focused towards level designers/artists who want to quickly prototype… but I may be wrong. I certainly wished I got shown programming at school… or started when I was unemployed :wink:
For those like myself who learns best in either more social or hands-on ways (not just lectures) what would you or whoever is reading advise on getting start? I know the wrong book or tutorials can easily crush a hobby before it can even develop! I do have access to C# published 2016 books in the library - would these be good or actually be out of date to learn fundamentals?

As for being in the wrong forum - I’m really sorry, I was debating between here and general discussion but as it said ‘learning’ in the forum I wondered if my topic comes under that bracket. Is there a way I can move this to the general discussion forum?

Many thanks again! :slight_smile:

Maybe a little beyond that, variants of this Q get asked a lot, and various searches will all the advice on how to learn Unity coding, or what to learn first about Unity, lists of favorite videos… .

I’m not a coder but I’d like to offer my learning process in case it helps others.
When I’m learning something new - especially from tutorials or instruction from a book I nearly always perform the task at least 3 times.
The first time I watch/read without interacting with the software at all. I take notes either pen/paper or word doc during this pass. Taking notes helps me retain the information better.
The second time I perform the steps as they are written/delivered. This is a step by step follow along while performing the steps in the software.
The third time I attempt to perform the entire process on my own from memory. If the instruction is indepth - I will allow myself to review my notes. If at any time something isn’t working or I make a mistake I reference the information to see where/what I messed up.

For other types of instruction - like in the documentation - where you are applying a method to your own concept I might create any example systems just to see how the new thing I’m using works in a example set up.

This three stage training system works well for me because it helps me retain the information and not rely on returning to the instruction material the next time I need to create a system similar to the instruction. It might be slower than other processes - but it works for me.

2 Likes

Thanks a lot for this response - this is the type of responses I most wanted - ideas on how best to learn :slight_smile: I’m going to set myself a 2018 goal of atleast 5 hours per week programming/Unity/coding education so it would be nice to get some inspiration from people like yourself who’s taught themselves too!

From what I figure from your suggestion, you feel it would be best to learn an entire lesson off by heart as opposed to exploring the possibility from which a lesson can go into? For example, you would avoid sand-boxing with things learned from a tutorial until you know exactly what has been taught off by heart - even if you don’t understand the syntax and ‘grammer’ or ‘why’ just yet? This is something I was considering to do - learn every lesson off by heart and then hope that after the many many tutorials and hours, I naturally pick up skills, especially transferable skills! Your three step learning process is very nice and I will certainly try it! :slight_smile: Out of curiousity - if you did mess up step 3…would you just keep restarting step 2 + three until you’ve nailed it?

As for this text, "For other types of instruction - like in the documentation - where you are applying a method to your own concept I might create any example systems just to see how the new thing I’m using works in a example set up. ", could you rephrase this as I’m not totally understanding what you mean - especially with the ‘any example systems’ part :slight_smile:

Many thanks again,

Shaun

P.S: Pardon my formal writing… working corporately has put some formal habits into my forum writing/emails! :stuck_out_tongue:

Instead of lessons I structure learning “topics” like this. And if the topic is too broad I will break the topic down further, same as when solving problems
For instance UI is a broad topic so breaking it down into smaller learning components - like UI layout, UI animation, UI communication etc allows me to retain info better.
The example I provided was just suggesting to create a simple prototype setup with something rather than attempting to set it up for the first time in your game.
Example - if working with me animals for the first time I’d create a system using a cube as a character and some simple obstacles and interact able elements , instead of attempting to create the awesome assistance Creed killer controller in your existing game :wink:

Me animals shold read = mecanim

Makes plenty of sense! - Will try get my friend to join me on this coding/making adventure…although I sense she will be more into making assets than writing code :stuck_out_tongue:

P.S: Your Tac#Tics Toe demo looks amusing!

1 Like