Percentage sign

Please explain this code to me coz I’m a little bit confuse.

index = (index +1)% prefabs.Length 

what’s the use of the percentage sign in the code

You can look up any C# syntax using Google, but I’ll give you a quick overview.

% is the modulus operator. It returns the remainder after division. For example, 5 / 3 is 1 with a remainder of 2. The modulus operator will return 2.

A useful feature is that you can create a rolling counter that automatically wraps back around to 0. This is what’s being done in your example. Let’s say that prefabs.Length is 3 and index starts out at 0. This is what several iterations through your code example would give you.

index = (0 + 1) % 3 = 1 % 3 = 1  // 1 divided by 3 is 0 with a remainder of 1 so index is now 1
index = (1 + 1) % 3 = 2 % 3 = 2  // 2 divided by 3 is 0 with a remainder of 2 so index is now 2
index = (2 + 1) % 3 = 3 % 3 = 0  // 3 divided by 3 is 1 with a remainder of 0 so index is now 0.

If you continue executing that code then index will progress from 0 to 2 and then back to 0 over and over. You don’t have to code any if statements to change index back to 0 or anything, just keep adding and taking the remainder.

The % sign is the modulo operator, see Docs. Basically it calculates the remainder after division.