【Unity】Timelineの自作Makerをエディタ時も実行されるようにする

はじめに

今回はTimelineの自作Makerをエディタ時も実行する方法を紹介していきます。

環境は Unity 2021.3.25f1です

Universal Render Pipeline を使用しています。

ノード作成

INotificationOptionProviderのTriggerInEditMode(ビット演算)を有効にするとエディタ時も実行されるようになります

using System.ComponentModel;
using UnityEngine;
using UnityEngine.Playables;
using UnityEngine.Timeline;

[System.Serializable] 
public class TestMarker : Marker, INotification,  INotificationOptionProvider 
{

    [SerializeField] public bool triggerOnce = false; 
    [SerializeField] public bool retroactive = true; 
    [SerializeField,] public bool editMode = true; 
    
    public PropertyName id
    {
        get
        {
            return new PropertyName("TestMarker");
        }
    }

    
    NotificationFlags INotificationOptionProvider.flags
    {
        get
        {
                 return (retroactive ? NotificationFlags.Retroactive : default) |
                         (triggerOnce ? NotificationFlags.TriggerOnce : default) |
                         (editMode ? NotificationFlags.TriggerInEditMode : default);  

        }
    }

}