Search Issue Tracker

In Progress

Fix In Review for 1.8.9

Votes

1

Found in [Package]

1.8.8

Issue ID

TB-329

Regression

No

Custom timeline markers do not display cinematic content when the Player is built

Package: Timeline

-

Reproduction steps:
1. Open the attached project "ReproProj"
2. Open the “/Assets/prototypeScene1.unity” Scene
3. Enter the Play Mode
4. Observe the Game view
5. Build and Run
6. Observe the Player

Expected result: Player shows images, text and voice is heard
Actual result: Player shows a white screen, and voice audio is playing

Reproducible with: 1.8.7 (6000.0.47f1), 1.8.8 (6000.0.47f1, 6000.1.1f1, 6000.2.0a10)
Could not test with: 1.8.8 (2022.3.62f1) (Assets\DragAndDropItem.cs(4,7): error CS0246: The type or namespace name 'NUnit' could not be found (are you missing a using directive or an assembly reference?))

Reproducible on:
Windows Standalone Player

Not reproducible on:
Play Mode

Testing environment: Windows 10 Enterprise 21H2
Not reproducible on: No other environment tested

Note:
- Using custom timeline markers

  1. Resolution Note (fix version 1.8.9):

    Hello,
    The issue the customer found is a real one, and it’s an issue that goes beyond Timeline. The main problem is that the user created all their custom tracks with the same file name, like DialogueTrack.cs, even though the classes inside are different. Tracks are ScriptableObjects, and Unity expects the file name to match the class name. It works fine in Editor playmode, but at runtime, the references break, and it won’t work.
    For example, the DialogueTrack still works because the file name matches the class name (DialogueTrack.cs), but the other three tracks don’t work at runtime. Unfortunately, there’s no easy fix for this. The only way to fix it is to move each track class into its own file where the file name matches the class name.
    Here’s what you need to do to fix it:
    Move each track class into its own .cs file that matches the class name. For example, if you have a class called EventTrack, create a file called EventTrack.cs.
    After you do that, Unity will create new .meta files for each of those .cs files. Open the .meta file for each track (like EventTrack.cs.meta) and copy the GUID from it.
    Next, open the Timeline .asset file in a text editor.
    In the timeline .asset file, search for the name of the track you’re fixing (like EventTrack). Find the MonoBehavior reference for that track.
    Look for the m_Script property. Right now, it’s empty. Replace it with something like this:
    m_Script: {fileId: 11500000, guid: YOUR EVENTTRACK.CS.META GUID HERE, type: 3}
    Replace the guid part with the GUID you copied from the .meta file earlier.
    Repeat this for the other tracks.
    If you don’t want to manually edit the .asset file, the other option is to delete the tracks and recreate them. But keep in mind, you’ll lose any progress or changes you made to those tracks.
    What We’re Doing About It
    To avoid this problem in the future, we’re adding a warning when someone tries to create a custom track where the file name doesn’t match the class name. This should help catch the issue early.
    Also, we've open another issue to the AssetDatabase team, to see what we can do for the lost references in general use cases.
    That’s it! Let me know if you need help with this.

Comments (1)

  1. AmritaUniversityLabs

    May 07, 2025 06:29

    This is an urgent issue for a project am working on. Everything I have done is within the parameters of what Unity provides. It will be very helpful to getting this issue resolved as soon as possible. Thanks!

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.