#Question) How do I progress in unity when I truly get stuck?

1 messages · Page 1 of 1 (latest)

red patrol
#

Im not sure where to send this, so I'm just going to send this here, if I am violating any rules or guidelines, please let me know.

Hello! I'm a hobbyist programmer, and I would like to become a professional one day, but I have an overarching program when I program that always holds me back and I was hoping I could get some answers from professionals in the field.

Lets say I finished a script in unity, and lets say that now I want to create a laser. At this stage I genuinely have no idea how to even approach this problem. I watch a lot of YouTubers like Sebastian lague and dani, and they whip out these formulas and use sign and cosign and I just feel so overwhelmed, like how do people know what processes/equations they have to use? Do people just google it? research papers? or is it just instinct for these high level programmers?

I do an IT course in university, so I am familiar with processes like pseudocode, and different design methodology's, but regardless I find myself just as lost as i was when I first started. Any advice on how I can tackle this problem would be so immensely appreciated.

foggy viper
#

Programming - whether you are starting out or have been doing it for years - will involve looking things up. Sometimes more, sometimes less.
It's perfectly fine to do so, and especially for more popular things like Unity (or C# in general), it is very likely that someone somewhere will have had the same problem as you at some point, which means that you will more likely find a solution to your problems than with more obscure languages/frameworks.

As for tutors "whipping out formulas", they either know how the math works and can translate that into code, or they've looked it up themselves at some point.
Oftentimes, when you use something often enough - even if you have to look it up multiple times - you will eventually know how to do it by rote.

When learning to program (or use Unity, or any other software like blender), it's a lot about expanding your knowledge of the toolkit that software gives you.
For Unity, that's things like built-in components and their functions, commonly used parts of the engine's API, editor shortcuts, and so on.
For C# itself, it would be things like the syntax of the language, as well as syntactic sugar like null-checking or null-coalescing operators, keywords for type casting, etc.

Once you know what you can use, you can try figuring out when to use it.
That is when certain things indeed can become (more or less) instinctive.

As an example, imagine you want to make an ability system.
Maybe at first, you just make a script for each ability you have, attach them all to your player, and have them check for input individually.
Then you learn about inheritance, and you decide to make a base class for all of your abilities to handle cooldowns and input easier.
After that, you may decide that you want the player to be able to swap out abilities. So you look up what to do and learn about ScriptableObjects - after which you go on to rewrite your ability system to use those instead of components.
And so on...
(Note that this example is not quite realistic. You would probably look up an ability tutorial from the start, and most of them use SOs already. But I hope you get the idea.)

As a last bit of advice - which ties into what I said above:
Never just copy tutorials. Try to understand how the things work, that they do. Or why they work. This will be immensely helpful for expanding your toolkit.
And also do stuff that tutorials don't explicitly tell you to.
Do not be afraid to try things on your own.

To return to your laser example - perhaps, after you've made the laser render and stop at a wall, make it bounce off that wall.

red patrol
#

Ahhhhh I see. Thank you so much for your throughough reply (which honestly I didnt expect and I really appreciate :D). It might sound werid, but knowing that the processes that professionals use and the methods they use to learn isnt actually that different from my own methods. Its nice knowing that I'm on the right track with all of this. Thank you so much for your reply, I really appreciate it.