Unity 5.3 - Unable to change script in inspector??

After upgrading to 5.3, the script field in the inspector shows “faded”, and it’s not possible to replace it by clicking the circle button on the right, nor by dragging a new one, like before.
I can’t understand how this feature was removed in this version, and moreover I didn’t see anyone noticing it!
How can I workaround this issue, without going crazy?!

2427419--166252--inspectorFail.png

1 Like

I’m having this problem too right now…

I’m also attempting to sort this problem out.

Strangely, a project I’d started creating with the previous release of Unity doesn’t display this behaviour in 5.3, scripts can been dragged / selected as expected.

If I add a script from the earlier project to a new 5.3 project, it’s greyed out.

I’m going to keep digging…

“Paste component values” isn’t working either… so the only way I can do this is manually copying every single value by hand…

They stated that this is by design. If you want to change a script, add the new one, and remove the old one.

This is a terrible feature removal, I found it extremely useful, and the solution “add the new one, and remove the old one” is just garbage. I’d then have to copy every value if the new script inherits from the old one. I’m freaking out with this behaviour change.

1 Like

You can also put the Inspector into “Debug” mode via the drop down in the top right corner, at which point the field will be editable again.

The change was made for a reason, but we know the current situation is not ideal and we’re looking at what we can do.

Oh! If I can still do it in debug mode, that’s something, I didn’t try that indeed. Thanks for your answer, I hope you can figure out a better way!

As long as I can do it somehow, that’s perfectly fine!
It can stay this way as far as I’m concerned.

What if you are refactoring and you change the name of a class? In previous versions you can set the renamed script in the “Missing Component” field and problem solved, right now that feature has been lost.

I will use the “Debug Mode” trick despite i don’t like it :stuck_out_tongue:

That one might actually be solved by the tighter integration between code editors and Unity that is being worked on at the moment - so that when you rename the file in your code editor, the code editor can communicate the change to Unity so that the metadata can be kept in sync. For now what you could do is tell your code editor to rename the class but not rename the file, and then do the file rename inside of Unity.