Do I need a serious knowledge in programming to be able to script?

Hi

I’ve made no progress in learning unity from online source and video.
Now I decide to get a book called Unity In Action By J.Hocking, the book require reader to know how to know how to program. By that I don’t know if I’m good enough to meet the requirement.

I got the book and read about 20 page and it’s seem like an ok book.

I’ve teach myself C# using a different book and I’m somewhat in Fundamental-Advance but I never apply those knowledge.

Will I be able to catch up with this book? I’m tired of getting good at C# because I don’t know where to apply my knowledge to. I can solve hard problem but the never use the hard syntax that I come across C#.

Forgive my Grammar.

I don’t know how to program at all and I can script just fine.

2 Likes

To use Unity as many first-time devs have (from what I have seen) all you need to do is be able to write many tiny little scripts.

It might be helpful in getting better replies if you describe exactly what the problem is you are facing. Like what is it you are trying to do and cannot do?

Scripting and programming are kind of the same thing… technically, since you’re writing code within another application (Unity) you could consider it scripting. But it’s the same thing. If you go outside of Unity and program something from scratch (or use libraries), all the programming you did in Unity carries over as far as game logic is concerned. You would just have to add in the extra code to cover what Unity was covering for you. (That’s a bit of a simplification but it’s more or less true.)

So… to answer your question:

-Yes, you need to be able to code to be able to code.
-No, you don’t need to know how to code engines/use libraries to be able to code gameplay logic/etc in Unity.
-You don’t have to know how to code too much to be able to make games in Unity, but knowing it would be very beneficial.
-Usually when books say they require the reader to know how to program, that means: if conditions, variables, while loops, functions, etc. The basics. If you can do that, you’re probably fine. If not, it’s not too hard to learn it off of anywhere on the internet.

Edit: also, C# is a programming language, not a scripting language. Using it inside of an engine as opposed to standalone doesn’t really change that fact. You’re still using just about all of it, except for the Main function.

5 Likes

What do you mean by this exactly? Are you simply reading the books and watching the videos without actually following along with the tools they are designed for?

You seem to have this mistaken belief that you need to have serious knowledge of the language in order to make use of it but nothing could be further from the truth. Becoming a competent developer requires you to actually make use of the tools you’ve learned. You cannot become competent simply by reading a book or watching videos.

How many threads are we going to have to respond to before you finally listen to our advice and just make a game?

6 Likes

Just go and try it. I’ve read the intro chapters of @jhocking 's book. It’s pretty good quality as intro to Unity books go.

So simply open up the editor and write some scripts and see how far you get. If you can do everything you need, you have enough programming skills. Otherwise you need to learn more.

3 Likes

Author of the book; I can confirm that everyone here is correct! In particular these two points:

When I say “you need to know how to program” I don’t mean anything complicated, just that you don’t need me to explain what variables and functions are.

You need to actually do the examples in order to learn them, not just read about them. For example, right in the first chapter I tell you to write your first basic script; did you do that?

1 Like

CodeCeption…before conception :smile:

What?! :slight_smile:

2 Likes

One look at the scripting section will indicate that no, you do not need a solid understanding to do scripting.

7 Likes

Nah, thats what programmers call recursion

3 Likes

To know how to program is very helpful when you’re creating an original complex game beacause you rellay more on programing knowledge than tutorials.

Surely you’ll end up looking for answers in the Unity comunity but it’s going to be a lot less if you know how programing andd scripting works.

I am a full programmer and have been able to do some original efficemt scripts of my own for complex problems.

I don’t know how good that book is (because I usually don’t need a book to pick up a language), but generally you shouldn’t need a serious programming experience to script. Complexity of scripting is lower than complexity of application programming. Scripting is “beginner” level difficulty.

However, without decent programming knolwedge you’ll sink on more complex problems.

For example… you should be able to make a button that moves a cube when pressed, but you’re likely to have hard time creating maze generators, custom pathfinding solutions, procedural geometry, complex editor extensions (with custom UI) and stuff like that. A lot of games don’t need this kind of stuff though.

I agree with @Ryiah , though. Stop asking questions and just make a game already.

3 Likes

I have no problem yet. I just want to ask a question to make sure that I’m not going to waste my time learning thing that I never use.

@JasonBricco
OOP and other thing that is not beyond Advance.

No, I apply it to the example given by the book but I never use it anywhere else and that make my scope to understand the specific part limited.

Your book is great. All I wanted to know is something/someone that can explain me the API of Unity. The Document provide by Unity is confusing to understand. And yes "Hello ,World" ftw.

I heard that you need to be good at math to do something like Flying and Changing the Coordinate of something e.g Tank, Aircraft.

I can’t stop asking more question. I already made 5 small game 3 of them are platformer and space shooter and 2 more is 3D Zombie chasing a Polygon. I tend to forget the API and that why I’m here to ask the best way to learn and memorize those code.

It’s not the same as Console.ReadLine() I get really confuse with the Input manager and other thing like linking Component to the Object using code. I know the code is basic but I’m having hard time with the Engine. I’m not familiar with the environment, get confuse really quickly and tend to have a long break after complete a project.

1 Like

The best way to learn is to “learn by doing”.
Meaning you need to start writing your game and learn how to write games in the process.

Which is why people tell you to stop asking questions and start writing the game. It is one of the best ways to learn.

4 Likes

You need to play around the language c#. best to make some small programs. If you are not familiar with it, then it’s hard in learning Unity.

To answer your question- no, not necessarily. You can get by coding small single-purpose scripts somewhat. Having said that, programming knowledge really helps make better, more efficient, general use code.

Permit a rephrase:

“Do I need to be good at what I am doing in order to do well in it?”

People who are not so good at it want to believe they have a chance at success… so they will say “no, of course not!”

…suffice it to say, yes. Being a good programmer helps quite a bit when you’re programming games…

Is that what he’s actually asking though? It seems he’s asking more along the lines of:

“Do I need to be good to actually get started scripting games?”

2 Likes

If he’s not, then there are troubled waters ahead for the boy.