namespace Unity.VisualScripting { public abstract class MachineEventUnit : EventUnit { protected sealed override bool register => true; public override EventHook GetHook(GraphReference reference) { return new EventHook(hookName, reference.machine); } protected virtual string hookName => throw new InvalidImplementationException($"Missing event hook for '{this}'."); } }