Search Issue Tracker

Duplicate

Votes

2

Found in

4.2.0f4

Issue ID

561931

Regression

No

A monobehaviour can't be in a namespace and have optional parameters in its method signature at the same time

Scripting

-

To reproduce:

1. Open the project
2. Add TestComponent to a game object. It will fail.
3. Remove the default parameter to TestFunction ("=false") or remove the namespace to add the script.

Identified as duplicate of 496529.

  1. This is a duplicate of issue #496529

    Combining namespaces MBs with default params break

Comments (3)

  1. ilya_ca

    Sep 29, 2014 02:32

    The issue is still present on Mac OS X in Unity 4.5.

  2. randomtiger

    Mar 21, 2014 19:57

    I'll never get those two hours of my life back

  3. codestage

    Dec 06, 2013 07:44

    Looks like 4.3.1 has regression for this.
    Just attach this MonoBehavior script:
    using UnityEngine;

    namespace Assets.UnityBug
    {
    public class Bug: MonoBehaviour
    {

    private void someMethod(int param = 10)
    {
    Debug.Log(param);
    }
    }
    }

    and you'll see this error after starting simulation:
    The class defined in script file named 'Bug' does not match the file name!

    Change private void someMethod(int param = 10) to private void someMethod(int param) and it will run fine!

Add comment

Log in to post comment