Scripting in Unity refers to authoring your project’s functionality in code rather than through the Unity Editor UI(User Interface) Allows a user to interact with your application. Unity currently supports three UI systems. More info
See in Glossary. This allows you to go beyond what can be done in the Editor UI alone. Interacting directly with the public Unity APIs allows for finer control and a greater degree of customization.
The larger and more advanced your project, the more you’ll need to incorporate scripting. You can use Editor APIs to customize and extend the Editor authoring tools to improve your development workflows. You can use Engine APIs to define the runtime behavior of your application, including graphics, physics, character behavior, and responses to user input.
Unity supports scripting in the C# programming language natively. C# (pronounced C-sharp) is a managed, object-oriented programming language, which is part of the .NET platform and runs in the cross-platform .NET runtime. Other .NET languages can be used with Unity if they can compile a compatible DLL, refer to Managed plugins for further details.
Learning to program in particular languages is beyond the scope of this section. However, there are many books, tutorials, and other resources for learning how to program with Unity. Refer to learn for further details.
Topic | Description |
---|---|
Get started with scripting | Get started with creating, naming, and editing your first Unity scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info See in Glossary. |
Environment and tools | Set up your software development environment with the right tools for programming in Unity. |
Object-oriented development | Develop Unity projects with the traditional object-oriented programming philosophy and architecture. |
Compilation and code reload | How Unity transforms the code you write into code that runs, and the implications for development iteration times and your application’s runtime behavior. |
Code optimization | Project configuration, design patterns, and coding strategies to help optimize the performance of your code. |
Debugging and diagnostics | Debug, diagnose, and fix problems in your code. |