How do I start learning C#? URGENT

Hi you guys. Im totally new to this forum, and I need some help. I have a little experience with Unity, but Ive used Blender 3D for years, and I can model just about anything thats simple enough. Me and my friend wanted to start our own FPS game, but first, I need to learn a powerful coding language. BUT I HAVE NO EXPERIENCE WITH C# OR JAVA. Can someone please help me out here? I need to know where to start, and fast. Thanks so much for your concern.

-Tylor

Well, listen here,
I didn’t touched programming since I was 17 years old , and I programmed in Basic *( Dark Basic ) at the time, and just a little bit enough to know the bells and whistles of the For, Loop, While, If, then etc etc.

Then, after 12 years, I decided after working as IT in Game company, well, Unity3d Is pretty good, ( like 100 000 times better then what I had at my disposal in my younger days )
Why not getting back to that programming fun ?

There we are, Javascript or C# ? ( bool is a no go for me )

As I realy didn’t liked the approach of the Unityscripting ( java ), I went for C#, wich I found alot more logical as a language, and syntaxly speaking, made more sense to me from the start than Javascripts.

I actually found a good Tutorial ( learn C# for Unity3d INTERACTIVE ).

In this tutorial, what made me kick start was not the code explained ( there were almost none ) but the guy showed us how to actually think and process the logic on paper , then to find the way to apply a code to do it. Then, find where ( on Unity C# manuals ) the structure of the codes is.

After that, I took his space shipt tutorial, then I improved it untill I had no more Ideas.

Once there, I started another project ( some 3rd person shooter mixed with Tower Defense )

That took me 200 hours on my own, writing my own lines of codes, and always finding a new concept that would trigger my brain to learn a new line of code and logics.

As I see it, it is just a big big puzzle, where the pieces are generated by your imagination, and placed on the board by your logical brains. see it as a big creative process ( at least, as a hobby ).

Build your game or program on paper 1st.
Try to think how YOU would write it on code.

Then, structure it, and find the equivalent reasoning ( the real syntax ) of the C# ( or Javascript ) and have fun, test, debug.
After I tasted the fun it was to create art from Codes…I got hooked, and , I rather enjoy more building the games, than playing them myself, as there is more puzzles per minutes solving your logic on codes, rather than playing, plus, you learn something that his actually usefull.

All in all, don’t make the mistake of learning where to find someone that can grant you a fish, rather, learn how to fish it, and while your at it, add some chalenge, and learn how to make the fishing pole first :slight_smile:

Hope this helps :smiley:

I’d say start with JavaScript. Not Java, for the main reason the Unity doesn’t use Java, it uses a form of Javascript that the community generally refers to as UnityScript.

The way I learnt JavaScript was through web design, which meant it was easy for me to get started in Unity with scripting. However, you’ve said you have none or minimal programming experience, so you best option is to look online for scripting tutorials, and just get started trying to make things work. If you can access a library, go pick up a few books on programming.

Once you’ve used UnityScript (JavaScript) to get a hold on programming concepts, move to C#; as this will be more beneficial in the long run. It’s a bit more complex and long winded than UnityScript, but it’s also a lot more general and easy to apply to other scenarios.

So yeah, that’s what I’d say to do. Spend a couple of years (or some very intensive months) learning the fundamentals of programming, and then move to C# and just get really stuck in. Make sure when using Unity you always have the Scripting Reference open that comes with it so you can always access it, and watch or read as many tutorials online as you need.

Good luck.

That should give you a start. You’ll want to figure out object oriented programming, before you go much further. If you can’t get it from just that one tutorial, try googling C# for beginners or something. There’s plenty of tutorials around for people just starting out in object oriented programming. Good luck!

Check out the Unity Tutorial section. Some other good links are
http://www.unity3dstudent.com/ and
Digital Tutors is now Pluralsight | Pluralsight
No real shortcuts though, it will take a bit of work. Theres also some unity example projects that will cover most of what you need for a FPS. Also, don’t post multiple Answers questions that are exactly the same post.

Honestly, if it’s urgent, it’s faster to friend/hire someone who knows the language than to learn it. If you already knew C/C++/Java/Javascript or even PHP, they are all similar enough to C# to know the basics (loops, conditions, etc.), but the details of libraries, API’s, and syntax difference is not a quick process. Find someone, that’s my recommendation.