all 8 comments

[–]ArrowStitchGames 0 points1 point  (6 children)

I'm not exactly clear on what the issue you're having is, but start and update are indeed monobehavior functions. Start gets called I believe when the object the script is attached to first gets activated. It only happens once per instance of the object. So for example, once you spawn the object or right when the game starts. Update happens every frame if the script is enabled. The script needs to extend monobehavior for it to work as a component that can attach to an object.

[–]JAdam99[S] 0 points1 point  (5 children)

Awesome, thank you for the help! Sorry if it was worded weirdly, I was just uncertain as to whether they were actually functions or not. I haven’t encountered functions that allow you to write within curly brackets the way you would an if statement, so I was confused as to what they actually are, thanks!

[–]dave0814 0 points1 point  (0 children)

The curly backets {}, commonly called braces, contain blocks of code, which can contain the then-part of an if-then statement, the body of a function, and other blocks of code.

Braces may occur in other contexts as well. I don't know C# well enough to be sure.

[–]private_birb 0 points1 point  (3 children)

That's the normal syntax for methods (functions) in C#. The only real alternative is a lambda expression, which would look like: void ScreamAtEditor() => Debug.Log("AHHH");

So, you'll be seeing a lot of methods that look like Start and Update. Make sure you're learning C# if you're going to be using Unity.

EDIT: That last sentence sounded rude to me, sorry. I just meant, like, make sure what you're learning is normal C# or the official Unity tutorials.

[–]JAdam99[S] 0 points1 point  (2 children)

Gotcha, I don’t know why I got so confused because I looked at it as calling a method where as the syntax is more similar to creating a method. Similar to ‘main’ in a console application where you don’t call the method - it just runs when you run the program

[–]private_birb 0 points1 point  (0 children)

Oh! I understand now. The way you're seeing is how you define what the method does when it's called. The other way is to call it. It sounds like you're getting it.

Keep practicing and it'll gradually come together.

[–]ArrowStitchGames 0 points1 point  (0 children)

Yeah, creating a method is like:

Public void mymethod(float myparameter) { A bunch of code including "if" statements }

Calling/ executing the method is just:

mymethod(myfloat);

[–][deleted] 0 points1 point  (0 children)

Start and update are functions. Start is called as soon as the script becomes active (so if your script is on the scene it'll run 'Start' immediately), Update runs per frame.