Unity uses the programming language C#. To fully utilize Unity, you need to know some C#. You don’t need to be an expert at C#, but knowing some basics will help you go a long way. You Writing your own code from scratch is not necessary, but you should be able to read, understand, and modify existing code. C# and Java are very similar. So, if you know Java or even JavaScript, C# will be easy to pick up. C# and Python are quite different as C# is heavy object oriented, but knowing Python will make picking up C# much easier.
If you are new to scripting or want some practice to see how C# and Unity work together, the following tutorials can help you get started with C#. Below are two good tutorials to get you going.