Meaning of "Instanced"

The documentation for the “Instanced” UPROPERTY attribute reads:

Property is a component reference. Implies EditInline and Export.

What exactly is meant by “a component reference”? Looking through the source, there are plenty of Instanced uprops which aren’t in AActors, and whose types are not derived from UActorComponent. So I assume a broader definition of “component” is in play. What makes component references different from other references, beyond the behavior of EditInline and Export?

I think it just means a referenced (and probably owned) UObject. The general point of Instanced is to add and save properties that you can edit in editor and can differ between instances of blueprints. I wouldn’t really try to understand any deeper than that.

1 Like

But there are plenty of UObject reference properties which are not marked Instanced, and which are editable in the editor, and which can differ between instances of blueprints. I understand what the “general point” is, but that’s not sufficient for my needs. I need to know what its effect is.

Can you give an example? If they aren’t marked as instanced they will not be exported when you save the instance and probably won’t be editable in the instance details panel. The only ones I can think of are things that are very explicitly handled rather than being generically handled like they would be with Instanced.

Drat, and now I’m away from my repo. I’ll get back to you on that. IIRC, though, most of the instances of Instanced in the UE4 source are non-actor-components, since actor components benefit from the DefaultToInstanced in UActorComponent.