Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Bug Timeline Activation Track Seems To Be Completely Absence In Android Build?

Discussion in 'Timeline' started by SVAFnemesis_, Nov 24, 2021.

  1. SVAFnemesis_

    SVAFnemesis_

    Joined:
    Jul 15, 2020
    Posts:
    21
    OBSERVED BEHAVIOR
    In our current project we are using Timeline to create cutscene sequences, all of which rely on activation track to show or hide various game objects. While Timeline works fine in Unity and PC build, it doesn't on Android build. From what we have observed, ALL activation track does not do anything at all.

    ATTEMPTED INVESTIGATION
    We first suspect that the track binding script failed, so we logged all our track references every 5 seconds when timeline is playing. The log is design to run through every track in Timeline, and return the reference object when the track is filled, or return "BINDING FAILED!!!" when the track is empty.

    Both Unity and PC build's log seems fine. Surprisingly however, we noticed that in our android log NOT A SINGLE ACTIVATOIN TRACK WAS EVER RUN THROUGH, as tho they never existed.

    QUESTION
    Is this by designed, or is it an existing android related bug? Is there anyway suggested way we can handle this situation?

    SPEC
    Unity version: 2019.4.31f1
    Timeline version: 1.2.14

    LOG
    ///----------- PC BUILD: -----------///

    CutScene Binding Run:
    Bind Result:
    track = Markers, value = BINDING FAILED!!!!
    track = Camera0, value = DefaultMainCamera
    track = Animation Track camrig, value = G_camrig
    track = Animation Track dynamic, value = CM vcam dynamic
    track = focopoint, value = C0101(Clone)
    track = test1, value = proxycar_sedan (1)
    track = test2, value = proxycar_sedan (2)
    track = test3, value = proxycar_sedan (3)
    track = Activation Track, value = proxycar_sedan
    track = WAPh1_track1, value = Root
    track = WAPh2_track1, value = Root
    track = WAPh3_track1, value = Root
    track = sedan rig, value = sedan rig
    track = sedan b, value = sedan rig b
    track = sedan_rig_wreckable, value = sedan_rig_wreckable
    track = wreck_root, value = wreck_root
    track = sedan_unwreck_main, value = sedan_unwreck_main
    track = truck rig, value = truck rig
    track = G_lamp a, value = G_lamp_a
    track = C0101_s35_missilegroup, value = C0101_s35_misslegroup
    track = missile a, value = G_missle_a
    track = missile b, value = G_missle_b
    track = s65 debris, value = C0101_c65_debris
    track = demolition v2, value = c0101_s38_demolition v2
    track = CITY_Prop_StreetLamp01_funciontal, value = CITY_Prop_TrafficSignalPole
    track = PortSignLight, value = PortSignLight
    track = LamPost_cutscene, value = LampPost_cutscene
    track = B03_Damaged (1), value = B03_Damaged (1)
    track = B01_Damaged, value = B01_Damaged
    track = FX_EnvSmoke2, value = FX_EnvSmoke2
    track = FX_FireSmoke_hd_car1, value = FX_FireSmoke_hd_car1
    track = FX_FireSmoke_hd, value = FX_FireSmoke_hd
    track = FX_FireSmoke_hd_car2, value = FX_FireSmoke_hd_car2
    track = Vista_CITY_Bridge01_damagedbridge, value = Vista_CITY_Bridge01_damagedbridge
    track = Prop_RemovedInCutscn, value = Prop_RemovedInCutScn
    track = CITY_Prop_TrafficSignalPole, value = CITY_Prop_TrafficSignalPole
    track = UndamageBuildingBundle, value = UndamageBuildingBundle
    track = c0101_s01_scene, value = c0101_s01_scene
    track = CITY_Awning01_cs, value = CITY_Awning01_cs
    track = c0101_Vista_CITY_Bridge01_goodbridge, value = c0101_Vista_CITY_Bridge01_goodbridge
    track = c0101_s58_Bridge01_damaged, value = c0101_s58_Bridge01_damaged
    track = G_missle_a, value = G_missle_a
    track = G_missle_b, value = G_missle_b
    track = sedan_wreckable, value = sedan_wreckable
    track = c0101_s37b-1_HighAngleMatteGroup, value = c0101_s37b-1_HighAngleMatteGroup
    track = LampPost_cutscene, value = LampPost_cutscene
    track = MissGrp2, value = BINDING FAILED!!!!
    track = MissGrp3, value = BINDING FAILED!!!!
    track = MissGrp4, value = BINDING FAILED!!!!
    track = MissGrp5, value = BINDING FAILED!!!!
    track = G_Miss_A, value = BINDING FAILED!!!!
    track = G_Miss_B, value = BINDING FAILED!!!!
    track = MissHitExp_4261, value = BINDING FAILED!!!!
    track = MissExp_1, value = BINDING FAILED!!!!
    track = MissExp_2, value = BINDING FAILED!!!!
    track = MissExp_3, value = BINDING FAILED!!!!
    track = MissExp_4, value = BINDING FAILED!!!!
    track = MissExp_5, value = BINDING FAILED!!!!
    track = MissExp_6, value = BINDING FAILED!!!!
    track = MissExp_7, value = BINDING FAILED!!!!
    track = MissExp_8, value = BINDING FAILED!!!!
    track = MissExp_9, value = BINDING FAILED!!!!
    track = MissExp_10, value = BINDING FAILED!!!!
    track = MissGrp1, value = BINDING FAILED!!!!
    track = GroundDust_Cam2, value = BINDING FAILED!!!!
    track = GroundDust_Cam3, value = BINDING FAILED!!!!
    track = StoneFalling, value = BINDING FAILED!!!!
    track = FireSmoke_1, value = BINDING FAILED!!!!
    track = FireSmoke_2, value = BINDING FAILED!!!!
    track = FireSmoke_3, value = BINDING FAILED!!!!
    track = FireSmoke_4, value = BINDING FAILED!!!!
    track = FireSmoke_4.5, value = BINDING FAILED!!!!
    track = FireSmoke_5, value = BINDING FAILED!!!!
    track = FireSmoke_6, value = BINDING FAILED!!!!
    track = FireSmoke_7, value = BINDING FAILED!!!!
    track = FireSmoke_8, value = BINDING FAILED!!!!
    track = FireSmoke_9, value = BINDING FAILED!!!!
    track = Dust_, value = BINDING FAILED!!!!
    track = Splash, value = BINDING FAILED!!!!
    track = Dust_ (2), value = BINDING FAILED!!!!
    track = Rob1_RF_Dust, value = BINDING FAILED!!!!
    track = Rob1_LF_Dust, value = BINDING FAILED!!!!
    track = Rob2_RF_Dust, value = BINDING FAILED!!!!
    track = Rob2_LF_Dust, value = BINDING FAILED!!!!
    track = Rob3_RF_Dust, value = BINDING FAILED!!!!
    track = Rob3_LF_Dust, value = BINDING FAILED!!!!
    track = Activation Track (1), value = S51b_01
    track = Activation Track (2), value = BINDING FAILED!!!!
    track = Activation Track (3), value = BINDING FAILED!!!!
    track = Activation Track (4), value = S52_01
    track = Activation Track (5), value = S52_02
    track = Activation Track (6), value = S05b_01
    track = Activation Track (7), value = S56_01
    track = Activation Track (8), value = S56_02
    track = Activation Track (9), value = S57_01
    track = Activation Track (10), value = S57_02
    track = Activation Track (11), value = S58_01
    track = Activation Track (12), value = S58_02
    track = Activation Track (13), value = S59_01
    track = Activation Track (14), value = S59_02
    track = Activation Track (15), value = S59_03
    track = Activation Track (16), value = S60_01
    track = Activation Track (17), value = S61_01
    track = Activation Track (18), value = S61_02
    track = Activation Track (19), value = S62_01
    track = Activation Track (20), value = S45b_01
    track = Activation Track (21), value = S45b_02
    track = Activation Track (22), value = S35_01
    track = Activation Track (23), value = S35_02
    track = Activation Track (24), value = S63_01
    track = Activation Track (25), value = S63_02
    track = Activation Track (26), value = S65_01
    track = Activation Track (27), value = S65_02
    track = Activation Track (28), value = S66_01
    track = Activation Track (29), value = S66_02
    track = c0101_Canvas, value = c0101_Canvas


    ///----------- ANDROID BUILD: -----------///
    CutScene Binding Run:
    Bind Result:
    track = Markers, value = BINDING FAILED!!!!
    track = Camera0, value = DefaultMainCamera
    track = Animation Track camrig, value = G_camrig
    track = Animation Track dynamic, value = CM vcam dynamic
    track = focopoint, value = C0101(Clone)
    track = WAPh1_track1, value = Root
    track = WAPh2_track1, value = Root
    track = WAPh3_track1, value = Root
    track = sedan rig, value = sedan rig
    track = sedan b, value = sedan rig b
    track = sedan_rig_wreckable, value = sedan_rig_wreckable
    track = wreck_root, value = wreck_root
    track = sedan_unwreck_main, value = sedan_unwreck_main
    track = truck rig, value = truck rig
    track = G_lamp a, value = G_lamp_a
    track = C0101_s35_missilegroup, value = C0101_s35_misslegroup
    track = missile a, value = G_missle_a
    track = missile b, value = G_missle_b
    track = s65 debris, value = C0101_c65_debris
    track = demolition v2, value = c0101_s38_demolition v2
    track = CITY_Prop_StreetLamp01_funciontal, value = CITY_Prop_TrafficSignalPole
    track = PortSignLight, value = PortSignLight
    track = LamPost_cutscene, value = LampPost_cutscene
    track = MissGrp2, value = BINDING FAILED!!!!
    track = MissGrp3, value = BINDING FAILED!!!!
    track = MissGrp4, value = BINDING FAILED!!!!
    track = MissGrp5, value = BINDING FAILED!!!!
    track = G_Miss_A, value = BINDING FAILED!!!!
    track = G_Miss_B, value = BINDING FAILED!!!!
    track = MissHitExp_4261, value = BINDING FAILED!!!!
    track = MissExp_1, value = BINDING FAILED!!!!
    track = MissExp_2, value = BINDING FAILED!!!!
    track = MissExp_3, value = BINDING FAILED!!!!
    track = MissExp_4, value = BINDING FAILED!!!!
    track = MissExp_5, value = BINDING FAILED!!!!
    track = MissExp_6, value = BINDING FAILED!!!!
    track = MissExp_7, value = BINDING FAILED!!!!
    track = MissExp_8, value = BINDING FAILED!!!!
    track = MissExp_9, value = BINDING FAILED!!!!
    track = MissExp_10, value = BINDING FAILED!!!!
    track = MissGrp1, value = BINDING FAILED!!!!
    track = GroundDust_Cam2, value = BINDING FAILED!!!!
    track = GroundDust_Cam3, value = BINDING FAILED!!!!
    track = StoneFalling, value = BINDING FAILED!!!!
    track = FireSmoke_1, value = BINDING FAILED!!!!
    track = FireSmoke_2, value = BINDING FAILED!!!!
    track = FireSmoke_3, value = BINDING FAILED!!!!
    track = FireSmoke_4, value = BINDING FAILED!!!!
    track = FireSmoke_4.5, value = BINDING FAILED!!!!
    track = FireSmoke_5, value = BINDING FAILED!!!!
    track = FireSmoke_6, value = BINDING FAILED!!!!
    track = FireSmoke_7, value = BINDING FAILED!!!!
    track = FireSmoke_8, value = BINDING FAILED!!!!
    track = FireSmoke_9, value = BINDING FAILED!!!!
    track = Dust_, value = BINDING FAILED!!!!
    track = Splash, value = BINDING FAILED!!!!
    track = Dust_ (2), value = BINDING FAILED!!!!
    track = Rob1_RF_Dust, value = BINDING FAILED!!!!
    track = Rob1_LF_Dust, value = BINDING FAILED!!!!
    track = Rob2_RF_Dust, value = BINDING FAILED!!!!
    track = Rob2_LF_Dust, value = BINDING FAILED!!!!
    track = Rob3_RF_Dust, value = BINDING FAILED!!!!
    track = Rob3_LF_Dust, value = BINDING FAILED!!!!
    track = c0101_Canvas, value = c0101_Canvas
     
  2. SVAFnemesis_

    SVAFnemesis_

    Joined:
    Jul 15, 2020
    Posts:
    21
    The log is meant to show that in android build, none of the activiation track has triggered a log value, sorry if it's a mess.
     
  3. SVAFnemesis_

    SVAFnemesis_

    Joined:
    Jul 15, 2020
    Posts:
    21
    TO WHOM IT MAY CONCERNED:
    Or not concerned at all if timeline is no longer being mainteined, I don't know it anymore.
    After intensive investigation from our TD, we've identified the reason for this bug to happen. It it because for whatever reason, some classes were stripped by the engine when building the android version of our game, and activation track related classes were among them. We were able to prevent this from happening by putting a timeline with activation track inside of entry scene.

    I hope this information can help anyone who would be searching this in the future.
     
  4. DavidGeoffroy

    DavidGeoffroy

    Unity Technologies

    Joined:
    Sep 9, 2014
    Posts:
    542
    Hey @SVAFnemesis_ , I wanted to get to your question yesterday, but didn't manage to.

    There's a bunch of info in this other thread I answered a few days ago.

    This is a common issue with IL2Cpp stripping.

    We're debating whether we should force these types to not be kept or not. It's a dicey question, because Timeline is added to projects by default, and preventing these types from being stripped will automatically increase the size of every IL2Cpp build, whether they are actually using Timeline or not.
     
  5. SVAFnemesis_

    SVAFnemesis_

    Joined:
    Jul 15, 2020
    Posts:
    21
    From my personal working experience every single commerical Unity project I've known so far has use Timeline to its full extend. I hope this helps with the debate.
     
    Paul_Hughes likes this.