An alternative to the Observer pattern is the native C# event system. One of the significant advantages of this event system is that it's more granular than the Observer pattern because objects can listen to specific events that another emits, instead of getting a general notification from a subject.
A native event system should always be considered if you need to have components interact through events, especially if you don't need to establish a specific relationship between them.
Unity has its own native event system; it's very similar to the C# version but with added engine features, such as the ability to wire events and actions through the Inspector. To learn more, go to https://docs.unity3d.com/2021.2/Documentation/Manual/UnityEvents.html.