TimeLine crashes with Hololens HeadSet

Hi Unity Developer,
can’t get timelines working with the HoloLens headset. works great in editor simulated mode but when putting the build on a Hololens the Debug logs result in:

PlayableAsset returned a null Playable on Instantiate

At initialisation the timeline dll seems to be loaded:

Any hint on this erros? did anyone ever faced this issue?
Thank you

That’s a bit strange. It appears some Animation Classes have been stripped from the build - the class is question is in the Animation Module, not the timeline dll.

Is it possible the animation module is being stripped?

I’m getting similar Timeline problems, deploying onto a Windows virtual reality headset. Same issue, works fine in editor simulated mode, but crashes when run as UWP app in the headset. In my case, everything loads except the timeline.

And I am using Unity “2017.3.0f2”

Hi all!
does it happen with all projects containing a Timeline? can you share with us a project where you have the issue? we would like ton investigate this!

Thanks!

-edit-
we found out a similar issue when using IL2CPP backend, can you guys tried switching to .net and see if it fixes your problem until we find a better solution ?

I tried just now with a fresh project doing just a moving cube in timeline and using .NET backend (was already using it for the previous project too), and still no luck, same problem :frowning:

Attached is the project

Thanks for the help!!

3364127–263600–TimelineTest.zip (18.3 KB)

So… sorry for the delay we had to dig deep for that one.
Good news is, it should be fixed in our latest release of 2017.3 Can you try to download 2017.3.0p3 version here:
Download Archive and tell us if it fixed your issue?

No problem, I’m just happy it’s being looked at! So it looks like it is still crashing for me unfortunately:

Module information:
Built with Compiler Ver ‘190023918’
Built from ‘2017.3/patch-release’ branch
Version is ‘2017.3.0p3 (bfcbae508940)’

TypeInitializationException: TypeInitialization_Type_NoTypeAvailable
at SharedLibrary!+0x5eb7f0
at UnityEngine.Timeline.AnimationOutputWeightProcessor.FindMixers()
at UnityEngine.Timeline.TimelinePlayable.EvaluateWeightsForAnimationPlayableOutput(Timeline.TrackAsset track, Animations.AnimationPlayableOutput animOutput)
at UnityEngine.Timeline.TimelinePlayable.CreateTrackOutput(Playables.PlayableGraph graph, Timeline.TrackAsset track, Playables.Playable playable, Int32 port)
at UnityEngine.Timeline.TimelinePlayable.CreateTrackPlayable(Playables.PlayableGraph graph, Playables.Playable timelinePlayable, Timeline.TrackAsset track, GameObject go, Boolean createOutputs)
at UnityEngine.Timeline.TimelinePlayable.CompileTrackList(Playables.PlayableGraph graph, Playables.Playable timelinePlayable, Collections.Generic.IEnumerable<UnityEngine.Timeline.TrackAsset> tracks, GameObject go, Boolean createOutputs)
at UnityEngine.Timeline.TimelinePlayable.Compile(Playables.PlayableGraph graph, Playables.Playable timelinePlayable, Collections.Generic.IEnumerable<UnityEngine.Timeline.TrackAsset> tracks, GameObject go, Boolean autoRebalance, Boolean createOutputs)
at UnityEngine.Timeline.TimelinePlayable.Create(Playables.PlayableGraph graph, Collections.Generic.IEnumerable<UnityEngine.Timeline.TrackAsset> tracks, GameObject go, Boolean autoRebalance, Boolean createOutputs)
at UnityEngine.Timeline.TimelineAsset.CreatePlayable(Playables.PlayableGraph graph, GameObject go)
at UnityEngine.Playables.PlayableAsset.$Invoke2(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
(Filename: Line: 0)

PlayableAsset returned a null Playable on Instantiate

(Filename: Line: 296)

Trimming D3D resources.

I also made a new project from scratch just in case (this time using a capsule instead of a cube to mix things up…) Attached is the project

3368914–264061–TimelineTest2.zip (21.3 KB)

That’s unfortunate…
Can you please open a bug using the bug reporter and attach that project with it. We will escalate this to other teams to help us with that problem.
Paste the bug ID here when you have it in your emails that way I’ll grab it right away.

thanks!

We’re also experiencing this issue. I did test back-porting the attached TimelineTest2 project to 2017.2.1f1. Building from the back-ported version worked on Hololens.

Yep it looks like Unity 2017.3 and up is borked for Timeline had to backport to 2017.2.1f1 and it seemed to work fine…

No problem. Here is the bug ID: 994710 “Timeline crashes on Windows Store App for Mixed Reality”

I will try out 2017.2.1 in the mean time.

Thanks!

Well, went to 2017.2.1 but still no luck for me! I tried with my main project, this time it’s a different error msg but still timeline related. In the meantime I still have some things I can do without having to go into the headset.

NotSupportedException: Arg_NotSupportedException
at SharedLibrary!+0x437fca
at SharedLibrary!+0x6b68ce
at UnityEngine.Timeline.TrackAsset.<>c__Iterator0.MoveNext()
at UnityEngine.Timeline.TimelinePlayable.CreateTrackOutput(Playables.PlayableGraph graph, Timeline.TrackAsset track, Playables.Playable playable, Int32 port)
at UnityEngine.Timeline.TimelinePlayable.CreateTrackPlayable(Playables.PlayableGraph graph, Playables.Playable timelinePlayable, Timeline.TrackAsset track, GameObject go, Boolean createOutputs)
at UnityEngine.Timeline.TimelinePlayable.CompileTrackList(Playables.PlayableGraph graph, Playables.Playable timelinePlayable, Collections.Generic.IEnumerable<UnityEngine.Timeline.TrackAsset> tracks, GameObject go, Boolean createOutputs)
at UnityEngine.Timeline.TimelinePlayable.Compile(Playables.PlayableGraph graph, Playables.Playable timelinePlayable, Collections.Generic.IEnumerable<UnityEngine.Timeline.TrackAsset> tracks, GameObject go, Boolean autoRebalance, Boolean createOutputs)
at UnityEngine.Timeline.TimelinePlayable.Create(Playables.PlayableGraph graph, Collections.Generic.IEnumerable<UnityEngine.Timeline.TrackAsset> tracks, GameObject go, Boolean autoRebalance, Boolean createOutputs)
at UnityEngine.Timeline.TimelineAsset.CreatePlayable(Playables.PlayableGraph graph, GameObject go)
at UnityEngine.Playables.PlayableAsset.$Invoke2(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
(Filename: Line: 0)

I am also having the same issue with 2017.3.0f3. The application itself will continue to run, however any events, animations, or audio set to be played using the PlayableDirector and timeline will not execute. In the Visual studio 2017 console log for the debug shows the following message occurs when the application is launched and anytime the PlayableDirector.Play() is called.

Exception thrown: ‘System.TypeInitializationException’ in UnityEngine.AnimationModule.dll
TypeInitializationException: The type initializer for ‘UnityEngine.Animations.AnimationLayerMixerPlayable’ threw an exception.
at UnityEngine.Animations.AnimationLayerMixerPlayable.get_Null()
at UnityEngine.Timeline.AnimationOutputWeightProcessor.FindMixers()
at UnityEngine.Timeline.AnimationOutputWeightProcessor…ctor(AnimationPlayableOutput output)
at UnityEngine.Timeline.TimelinePlayable.EvaluateWeightsForAnimationPlayableOutput(TrackAsset track, AnimationPlayableOutput animOutput)
at UnityEngine.Timeline.TimelinePlayable.CreateTrackOutput(PlayableGraph graph, TrackAsset track, Playable playable, Int32 port)
at UnityEngine.Timeline.TimelinePlayable.CreateTrackPlayable(PlayableGraph graph, Playable timelinePlayable, TrackAsset track, GameObject go, Boolean createOutputs)
at UnityEngine.Timeline.TimelinePlayable.CompileTrackList(PlayableGraph graph, Playable timelinePlayable, IEnumerable1 tracks, GameObject go, Boolean createOutputs) at UnityEngine.Timeline.TimelinePlayable.Compile(PlayableGraph graph, Playable timelinePlayable, IEnumerable1 tracks, GameObject go, Boolean autoRebalance, Boolean createOutputs)
at UnityEngine.Timeline.TimelinePlayable.Create(PlayableGraph graph, IEnumerable`1 tracks, GameObject go, Boolean autoRebalance, Boolean createOutputs)
at UnityEngine.Timeline.TimelineAsset.CreatePlayable(PlayableGraph graph, GameObject go)
at UnityEngine.Playables.PlayableAsset.Internal_CreatePlayable(PlayableAsset asset, PlayableGraph graph, GameObject go, IntPtr ptr)
at UnityEngine.Playables.PlayableAsset.$Invoke2(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
(Filename: Line: 0)

PlayableAsset returned a null Playable on Instantiate

(Filename: C:\buildslave\unity\build\Runtime/Director/Module/PlayableDirector.cpp Line: 296)

@tclements
Can you try switch Backend to IL2CPP or build a x64 version of your build?

The hololens only supports x86 versions. I also can’t change to IL2CPP due to other items do not support the IL2CPP backend.

I built this same application for Android and the Timeline works as expected.

Hi, I had the same problem with Timelines and Hololens. Finally I could compile to IL2CPP a C++ project (from Building Setting, not from Mixed Reality Build Window because it requires .NET!) and then I finally compiled from Visual Studio to Device.
I am using Unity 2017.3.0p4 version.
:slight_smile:

1 Like

@amunyoz Could you explain a bit more what you meant by compile to IL2CPP a C++ project? From which Building settings?

Any news about that bug ? We have build our project for Hololens with last patch
2017.3.1p2, but still the same problem. Our project is completely ruined as we don’t have any other alternative.

We were able to get Timeline working by doing a Master build in VS, instead of Release. None of the 2017.3.0p# patches worked, nor did 2017.2.0f3. IL2CPP was not an option, as we’re using Vuforia and it’s dependent on NET. Will try 2017.2.1* and 2017.3.1* releases, and let ya’ know if any of those work for a Release build.

1 Like

We tried all patches and 2017.3.1, and it does not work.