Search Issue Tracker
Fixed in 2018.1.X
Votes
1
Found in
2018.1.0a5
2018.1.0b13
Issue ID
1025374
Regression
Yes
[2018.1] 'Can't add script behaviour VisualContainerAsset' error when adding script to GO with mismatched file and class name
Reproduction steps:
1. Create a new script.
2. Change the filename of that script.
3. Add script to an object in the scene.
Expected error message: "Can't add script component 'NewBehaviourScript' because the script class cannot be found. Make sure that there are no compile errors and that the file name and class name match."
Actual error message: "Can't add script behaviour VisualContainerAsset. The script needs to derive from MonoBehaviour!"
Reproduced: 2018.1.0a5, 2018.1.0f1
Not reproducible: 2017.1.3p1, 2017.2.1p3, 2017.3.1f1, 2018.1.0a4, 2018.2.0b1
Comments (24)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [macOS] network permission shows the name of previously closed app when different app requests network access
- Delta value returned by mouse movementsMonitor is different when changing Screen Resolution
- The Radius Scale option is removed from the Visual Effect Graph Output Particle when Lod is disabled in Particles Options
- Visual artifacts appear when the HD Dynamic Resolution Component changes the resolution scale
- Domain Reload loading popup is dark when Editor Theme is set to "Light"
Destructor83
May 28, 2018 19:35
Yes I have this problem with Unity 2018.1.0f2
Ricky2442
May 22, 2018 11:49
with Unity 2018.1.0f2
Ricky2442
May 22, 2018 11:48
I'm getting this error with a newly created scripts.
SAAARGE
May 05, 2018 14:45
I'm getting this error message on scripts that definitely derive from MonoBehavior that were working fine before the update. Here's an example of one of my scripts that is doing this that clearly shouldn't be:
public class HUDController : MonoBehaviour
{
public static HUDController Instance { get; private set; }
public GameObject healthIconPrefab;
public static Timer timer;
public Button gunButton;
public Button meleeButton;
public Text timerText;
public Text scoreText;
public Text coinText;
public RectTransform ammoCounter;
public HorizontalLayoutGroup healthLayoutGroup;
public Slider staminaSlider;
[HideInInspector] public Animator animator;
private static GameObject[] bulletIcons;
private static GameObject[] healthIcons;
private void Awake()
{
if (Instance == null)
Instance = this;
else
Destroy(gameObject);
DontDestroyOnLoad(this);
animator = GetComponent<Animator>();
timer = ScriptableObject.CreateInstance<Timer>();
}
}