I’m about to find jobs in 2d game development because it’s my favorite industry. So, I had a thought about do I need to learn C language for unity 2d game developments?
Can anybody reply with your concepts?
I’m about to find jobs in 2d game development because it’s my favorite industry. So, I had a thought about do I need to learn C language for unity 2d game developments?
Can anybody reply with your concepts?
You don’t need to learn C# to use Unity, but if you want to become a better Unity developer, knowing C# will be a huge benefit, increasing your market value and confidence with the software. You don’t have to learn C# to use Unity, but if you want to become a better Unity developer, knowing C# will be a huge benefit, increasing your market value and confidence with the software. You don’t have to learn C# to use Unity, but if you want to become a better Unity developer, you should.
Well, it doesn’t really matter; just curious.
My first recommendation is always learn how to program first. Forget about games. Forget about cool special effects. Forget about game engines.
Learn how to program.
If you do it right, learning to program will be as much fun as playing video games.
My second recommendation is learn C#. You almost always need to learn a language in order to learn to program. C# is better than most.
Pro tip: Use Visual Studio (Community edition) as your IDE. It’s free and will make game development much easier.
With C# you can learn data structures, algorithms, inheritance and about 1000 other things good programmers need to know.
As you learn to program, create stupid little games that are fun to code, but not (necessarily) fun for anyone else to play. This keeps it interesting and forces you to learn things you otherwise wouldn’t.
An excerpt of a stupid, little game I made to test out some things. Console games are totally acceptable (image credit: me)
When you can sit down at an IDE and write a rudimentary program with classes without constantly referring to documentation, you can start looking at game engines, which make game development even easier. Unity is the most popular, but MonoGame and Godot also use C#.
Good luck!
Unity’s strength is C# development. It isn’t as hard as you imagine. It’s one of those things that you just have to keep tinkering with then it clicks into place. It will only click into place if you’re modding scripts or constantly doing it with a full commitment and passion. It doesn’t require anyone to be particularly smart. Driving a car or operating a washing machine is about the same complexity. Unity has fantastic 2D tooling, so you’re really just turning the engine on, checking mirrors and seats, clutch, first gear and so on in C# - in short it is mostly the behaviour you’ll be coding.
For a first 2D game, look for a Unity Learn project or something similar. Most of the game will be set up visually with Unity’s powerful 2D toolset, and moved using Unity’s Physics2D.
The C# part will come mostly to determine how fast things go, what happens when things touch other things and to provide input. There is no low-level science math going on here. But you will need to type stuff, and you can get lost. But that’s when you post on discord, or forums, and people help you.
Post one problem per thread you make and people will help. This isn’t spam as each topic is different.
So to sum it up:
You could also use Unity’s Visual Scripting to achieve a 2D game and I also recommend that but only if you can find an equal amount of time, as the concepts to learn are the slow part, not the code, not the Visual Scripting, just all the concepts such as:
What do I move?
How do I move it?
How are collisions detected?
How do I make a program do one thing for a while then another?
Things like this - loops, if statements and the like are the fundamentals of game development that can’t be ignored but also aren’t really more complicated than picking up an RPG or learning to drive. It’s just an unknown at first. Passion and commitment is needed far more than knowledge in specialised stuff to achieve this.
Good luck!