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. Response avatar

    This is a duplicate of issue #496529

    Combining namespaces MBs with default params break

Comments (3)

  1. 299f0793a1129357fda2ae0b6270868a?d=mm

    ilya_ca

    Sep 29, 2014 02:32

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

  2. 8e5da9f3e1b82b2d1a066af862dd8502?d=mm

    randomtiger

    Mar 21, 2014 19:57

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

  3. 6b3eeaf8b66e76d23d741f16ac5dad69?d=mm

    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

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.