Is it true that @State is used for Value types and @StateObject is used for Reference types?

I am little confused about when to use State / StateObject / ObservedObject. What I have researched and what I understand:

@State --> for value types

@StateObject --> for reference types

@ObservedObject --> child objects who needs reference to above two (the parent object should have @State/@StateObject and the object should conform to Observable)

I am clear about Environment object.

That used to be true until recently. With the Observable() it is no more true.

From StateObject doc:

If you need to store a value type, like a structure, string, or integer, use the State property wrapper instead. Also use State if you need to store a reference type that conforms to the Observable() protocol. To learn more about Observation in SwiftUI, see Managing model data in your app.

Is it true that @State is used for Value types and @StateObject is used for Reference types?
 
 
Q