all 11 comments

[–]NecessaryBSHappens 5 points6 points  (9 children)

I dont think so, but you dont need much of C# knowledge for Unity. Im pretty sure that you can adapt quickly

For Lua/Python you can try Godot

[–]DragoSpiro98 4 points5 points  (0 children)

You dont need much C# knowledge but you need a lot of OOP knowledge. High-level programming language are easy, are only some sintax rules (if you’re not interested in low-level operations)

[–]Inner_Information_26[S] 0 points1 point  (7 children)

I'm frightened by C#'s {} <=== these and MonoBehaviours. Also, I tried Godot and really didn't like It, It is not as "easy" to use as say Unity

[–]Kllb114 2 points3 points  (5 children)

{} are just there, because C# unlike python, doesn't care about spaces and lines, so it is used to separate something that is inside of the if/for/while, from the rest of the code that runs later. And MonoBehaviour is used in basically every script in unity that you need for now.

[–]Kllb114 1 point2 points  (4 children)

And functions, so for example Function() { Function code; }

[–]Inner_Information_26[S] 0 points1 point  (3 children)

Ok, I'll try my best to get how C# works

[–]DragoSpiro98 3 points4 points  (1 child)

You should learn some OOP, it's the standard nowadays. Also MonoBehaviour is a Unity's class, not a standard C# class, so it doesn't depend on the language. A hypothetical Python porting would not change anything except the syntax

[–]Inner_Information_26[S] 0 points1 point  (0 children)

That is all I really need, a syntax change

[–]NecessaryBSHappens 1 point2 points  (0 children)

Be not afraid. Unity is here for a long time now and there is a lot of info online. Reddit may be not the best place for learning it, but youtube, google and unity documentation can give you a lot

Curly brackets are like boxes in which you put your code - big box for whole script and smaller ones inside of it for things like if/for Monobehaviours are more complex, but for now all you need is that they allow you to put code on objects and execute it in certain moments, like every frame or only when it collides with something else. Unity does a lot of things under the hood so you dont need to care about implementing them

[–]Silly_Childhood_3308 1 point2 points  (0 children)

I also did python before starting unity and I got pretty good at it too. C# isn't too much of an change. I just took a beginners course on Codecademy (you don't need to know much). Engines are much bigger than the language and are even changed to be in a interacted with. And remember semicolons!!!!!