Search Issue Tracker
Duplicate
Votes
1
Found in
5.2.0p1
Issue ID
728950
Regression
Yes
Upgrading project from 5.0 breaks Event Triggers
How to repro from scratch:
- in Unity 5.0:
- create scene, delete everything add a game object
- add an event trigger
- add a event type (ie "Pointer Down")
- add a handler (ie <TheGameObject>.transform.sendMessage("aaa"))
- create a prefab from this object
- on the scene instance, add a second handler (ie <TheGameObject>.transform.sendMessage("bbb")), displayed in bold as it's a prefab override
- force text serialization in editor settings
- save the scene (ie "scene.unity")
- in Unity 5.3:
- open the project
- notice only the first handler is present ("aaa")
- close the project
- open the scene file in a text editor
- notice how the new handler tries to modify the "delegates" property of the trigger instead of the new "m_Delegates"
- replace "delegates" by "m_Delegates"
- reopen the project+scene
- the second handler is now present
note:
the prefab itself still references "delegates" instead of "m_Delegates", but that works. In EventTrigger.cs, this is present:
[FormerlySerializedAs("delegates")]
[SerializeField]
private List<Entry> m_Delegates;
[Obsolete("Please use triggers instead (UnityUpgradable) -> triggers",true)]
public List<Entry> delegates;
so it looks like the "FormerlySerializedAs" is misused when deserializing prefab instances.
Original repro:
1. Open the attached project in Unity 5.0
2. Open and play Scene1 scene
3. Click buttons "Issues 1" >"Choise 2"> "Issue 2" >"Arrow"
4. Notice that it all works
5. Open Project with newer Unity version 5.1, 5.2, 5.3
6. repeat 2 and 3 steps
7. Notice that "Choice2" and "Arrow" doesn't work
Note:
-"Choice2" button: Event method is still in "HorizontalLayout2Buttons">"MenuColumn2Buttons">"Button2"as it was created in prefab. If you delete it and recreate the same EventTrigger, it will work (Scene2)
-"Arrow" button: Another event method which was created in the scene view and not applied to a prefab "MenuNextPage" doesn't exist in scene view, it has to be created again (Scene3)
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
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
This is a duplicate of issue #732717