Description

Consider a C++ ActorComponent containing an instanced TObjectPtr property (which may be standalone or inside a container such as TMap). Now consider a Blueprint Actor containing such a component, and instances of this actor on the following situations (all with properties unchanged from the defaults):

(A) A basic level (persistent)
(B) A basic level included as a sublevel of the persistent level
(C) A world-partition level (persistent)
(D) A world-partition level instanced inside the persistent level

The instanced property of the ActorComponent can be edited inside the Blueprint Editor for the Actor. In particular, we are able to use the combo box in the details panel to select different assets of the class specified by the TObjectPtr, and an object of that class is instanced automatically by the engine.

The asset change mentioned above is correctly propagated to instances of the BP actor in the currently open level and any of its sublevels. However, it is not correctly propagated to levels instanced inside the currently open level. It is also not correctly propagated to any kind of level if it is not currently loaded. Note that such propagation is successfully achieved, even for unloaded levels, when changing non-instanced properties of any type (e.g. float, int32, TObjectPtr<UTexture2D>).

Steps to Reproduce

An internal repro project was provided.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-212749 in the post.

16
Login to Vote

Unresolved
ComponentUE - Gameplay - Blueprint
Affects Versions5.3.2
Target Fix5.5
CreatedApr 19, 2024
UpdatedApr 23, 2024