C# Library or Unity3d Library?

Hey, I am new to C# but I understand a lot of it. Loops, variables, etc. I have even done some Unity3d practice with the Hack n Slash and some arcade game tutorials.

Basically what I am asking here is from the looks of it when developing games with Unity you basically learn the Unity language which uses the same syntax as C# right?

I mean if you were VERY good with C# and wanted to code a game in Unity you would have to learn the Unity library. I think C# is a great language and has many opportunity’s for careers but I like game development as it is very cool.

No…you just use C# (or Unityscript, or Boo). C# is C#. To use Unity you learn the Unity API, which is basically a bunch of classes and functions. http://docs.unity3d.com/Documentation/ScriptReference/

–Eric

You use the format of C# and call methods and functions unity provide… Think of it this way, you start from the country then you find the city, then the street name and finally the house number. So in essence you drill do to call specific specific actions within a method / function… Then you manipulate based upon what you want to do, you may call a variable, string, integer or float / double to change information like speed, health, names etc.

Ok I understand it now. Basically when using Unity3d you are just open to a lot more classes and function.

Where would I find some good tutorials for beginners?

Just google it, there’s the official Unity ones here:

http://unity3d.com/learn/tutorials/modules

Mess with unity demo scripts, thats how i started :wink:

Yes. The majority of the .NET framework is available to you except for some that Unity doesn’t include or doesn’t allow but for the most part you won’t miss it. Essentially, Unity gives you access to it’s own Framework (via UnityEngine.dll). So you’re working with two extra things. You have the Unity Engine which controls the lifecycle and most of the low level stuff for you, and you have the Framework which you use to build components and such to be used within the engine. However, you’ll still find yourself doing a considerable amount of C# programming that doesn’t target anything outside of the standard .NET framework and you’ll use it within your Unity components.

One thing I would do if I were you though is think about what platforms you want to target first. It’s easier to start out targeting PC and Mac so you learn the basics and how to do things the Unity way. Then you can move on to Mobile and iOS. The reason I suggest that is that there will be additional performance considerations you’ll need to become aware of when targeting mobile… and especially a lot of gotchas and workarounds (might as well call them hacks :confused: ) that you’ll need to make yourself familiar with when you target iOS because of the wonky AOT compilation.

It’s like saying that when you want to learn to work with physicists then you need to learn to speak Physics, and when you want to work with doctors then you need to learn to speak Medicine, and so on. Really you’re just speaking English, but you’ll use a lot of words and ideas that are specific to that field. When you write code for Unity, you’re writing C# code, but you often use words or phrases (like, say, MonoBehaviour, or Application.LoadLevel) that are specific to Unity.

:frowning:
I was going to look into making apps for mobile. Have a great idea for a game but if I should be starting on Windows then pooey.

I don’t really agree with that; we’re not in the iPhone 1 days anymore so it’s not so important to be mega-concerned with performance differences (although you should still be aware of them), and you can expect that code written for one platform will run on another, allowing for platform-specific input (such as touch and tilt) that doesn’t exist on desktops. Also, if you start with iOS in mind from the beginning and write for that, then it’s a given that it will perform fine on computers, whereas the other way around is not necessarily so straightforward.

–Eric

Well my idea for a game was something like a turn based rpg with other players. You would basically search through a lobby with people who are “open” for fights. then you would battle them for fun, or items or gold, etc.

And another idea was a 3 dimensional tower defense game. Where the enemy doesn’t come up just a single path but all around you. Like on top of a pyramid,hill, building, etc.

Isn’t going for multiplayer for your first game a bit extreme? Maybe learn to code first, and start with a simple but cool indie title, then move up. Be creative, and make something personal instead of making something you think will be popular, because you’re really not going to make a lot of money on your first title, so it should be fun, small and creative.

Its not fun unless I have a reason to do it. I don’t play games for fun I want to design them for money.

And yeah multiplayer might be a little extreme but it isn’t a MMORPG. So I think the PUN would probably work for this. And this isn’t a sit down and create in 2 days, I don’t mind spending 1 month just getting a single character created. Lots of Googleing and asking questions will get me there eventually.