Understanding Functions and Method Calls

In Unity, functions and method calls are fundamental concepts used to organize and execute code. They allow you to encapsulate reusable blocks of code and invoke them at specific points in your program. Here's an overview of functions and method calls:


A function is a block of code that performs a specific task. It can take input parameters, perform operations, and return a result (optional). Functions help break down complex tasks into smaller, manageable pieces. In Unity, functions are defined within classes and can be accessed and executed by other parts of the program.

Method Calls

A method call is the act of invoking or executing a function. It triggers the execution of the code inside the function and can provide arguments (values) as input parameters if the function requires them. Method calls allow you to reuse code and execute specific functionality whenever needed.

Function Definition

To define a function in Unity, you typically write a method within a class. The method's syntax includes the access modifier (e.g., 'public', 'private'), the return type (if any), the method name, and the parameter list (optional). Here's an example of a function definition in C#:

public int AddNumbers(int a, int b)
    int sum = a + b;
    return sum;

In this example, 'AddNumbers' is a function that takes two integers as parameters ('a' and 'b') and returns their sum as an integer.

Function Invocation

To invoke or call a function, you specify the function name followed by parentheses. If the function requires input parameters, you provide the corresponding arguments inside the parentheses. Here's an example of invoking the 'AddNumbers' function:

int result = AddNumbers(5, 3);

In this example, the 'AddNumbers' function is called with the arguments 5 and 3, and the result is assigned to the variable 'result'.

Built-in Unity Functions

Unity provides several built-in functions that are automatically called at specific points during gameplay. These functions are known as Unity lifecycle functions or callback functions. Examples include 'Start', 'Update', 'FixedUpdate', 'Awake', and 'OnCollisionEnter'. You can override these functions in your scripts to add custom behaviors and logic.

Function Return Values

Functions can have a return type, which defines the type of value they return (if any). To return a value, use the 'return' keyword followed by the value you want to return. If a function doesn't have a return type or doesn't need to return a value, you can use the 'void' keyword. Void functions don't return any value. Here's an example:

public void PrintMessage(string message)

In this example, 'PrintMessage' is a void function that takes a string parameter 'message' and logs it to the Unity console using 'Debug.Log'.


Functions and method calls are essential for structuring code, promoting reusability, and organizing logic in Unity. They allow you to define modular blocks of code and invoke them whenever needed. By leveraging functions effectively, you can create clean and maintainable code in your Unity projects.