Yeah, Subject is native component(some Rx operator uses it internally), Rx operators is high level component. and Subject is native 'event' expression of Rx. If you want to write all codes under Reactive, Functional way, you should not use Subject. But if you write under pragmatic way, Subject may helps you. Of course primitive parts should avoid basically. At first, chain the operators. Second, use ReactiveProperty(wrapper of Subject) it is easy to use. Third, IEnumerator is your friend, FromCoroutine(and ToYieldInstruction) sometimes useful. Finally, use Subject as .NET Event for notification path.