Overloads

In general, everything in C# (types, fields, etc.) needs to have a unique name. However, methods can be Overloaded by declaring multiple methods with the same name but different parameters. Take Unity's Mathf.Clamp method for example:

public struct Mathf// No idea why Mathf is not a static class since all its members are static.
{
    public static float Clamp(float value, float min, float max)
    {
        if (value < min)
            return min;

        if (value > max)
            return max;

        return value;
    }

    public static int Clamp(int value, int min, int max)
    {
        if (value < min)
            return min;

        if (value > max)
            return max;

        return value;
    }
}

Both of the above methods do the same thing so they can be reasonably given the same name and when you call it the parameters you use will determine which overload actually gets called.

Another example can be seen in Animancer where the AnimancerComponent class has multiple Play Methods to give different options for how you want to determine which animation to play and whether you want it to fade in over time or not.