Search Unity

Default Playables: Text switcher track error

Discussion in 'Timeline' started by shadow-river, Nov 3, 2017.

  1. shadow-river

    shadow-river

    Joined:
    May 29, 2013
    Posts:
    63
    I am using the Default Playables Text switcher track. And I'm getting this error;

    DrivenPropertyManager has failed to register property"M_Script" of object "Text" with driver""because the property doesn't exist. UnityEditor.Timeline.propertyCollector:AddFromName(GameObject,String)

    it is referring to line 31 in the TextSwitcherTrack.cs script;
    Code (CSharp):
    1.  driver.AddFromName<Text>(trackBinding.gameObject, iterator.propertyPath);


    I was wondering what that line is doing and how to fix it.(I'm getting the error when I add a text object to the Text switcher component in timeline. it is still playable and works still but its just annoying getting heaps of these red error messages all the time )

    thank you in advance.

    #Edit: I tested it in 2017.1.0 and there were no errors (though don't want to use it because it needs security updates) I don't get the error in 2017.1.1 but I do get this error every time I stop play mode.

    MissingReferenceException: the object of type 'Text' has been destroyed but you are still trying to access it. your script should either check if it is null or you should not destroy the object.

    I get both errors in 2017.1.2 and only the first error I mentioned in 2017.2
     
    Last edited: Nov 3, 2017
  2. Carwashh

    Carwashh

    Joined:
    Jul 28, 2012
    Posts:
    762
    I was getting the same error (first one) yesterday too, in 2017.3.0b6. Commenting the line out removes the error and (for me) didn't break anything else.
     
  3. JakubSmaga

    JakubSmaga

    Joined:
    Aug 5, 2015
    Posts:
    417
    Same here, 2017.3.0b8.
     
  4. JamesB

    JamesB

    Unity Technologies

    Joined:
    Feb 21, 2012
    Posts:
    133
    Hey guys, so this is related to the way the DrivenPropertyManager works. The name is a little misleading as what it actually does is register serializable fields. They then have their values saved so that they can be reverted to when the timeline is no longer driving them. However, since there are no public fields in any built in Unity component this is a bit of a problem. The only way to find the serializable fields in a component is to iterate through all of them like the Default Playables tracks do.

    I don't know the details of the inner workings of the DrivenPropertyManager but it seems there is a conflict between the serializable fields and those that can be driven by the DrivenPropertyManager. As far as I know these errors shouldn't affect your project since they only tell you whether or not something could be registered. They definitely shouldn't affect builds since the DrivenPropertyManager only works at edit time.

    I have spoken to the devs about this as I know it can be a bit annoying so hopefully something should be done soon.

    Sorry I don't have better news but hopefully it shouldn't be affecting anyone's project.
     
    JakubSmaga likes this.
  5. shadow-river

    shadow-river

    Joined:
    May 29, 2013
    Posts:
    63
    Thank-you for the information. I will be waiting patiently for the solution :) in the meantime I will just be using 2017.1.1 where there's no errors.
     
  6. IT_MAGES

    IT_MAGES

    Joined:
    Nov 18, 2017
    Posts:
    3
    I'm facing the same issue here on Unity 2017.2.0f3 (64-bit). Bumping to hope we can discuss a fix as we cannot downgrade to a previous version of Unity due to much-needed features/fixes introduced in 2017.2.03f that's relevant to our project. Thanks.
     
  7. JamesB

    JamesB

    Unity Technologies

    Joined:
    Feb 21, 2012
    Posts:
    133
    @IT_MAGES How long ago did you download the package? I pushed some changes that should have fixed this a little while back. If it's still broken it might take me a little while to fix as I have a lot on at the moment.