Hi, I have a property in a blueprint that I set to EditInstanceOnly because every instance of this actor within the level should have its own version of the property. This works if I place the actor directly inside the level, but if i put the blueprint inside another blueprint, then place that higher blueprint in the level, I am no longer able to access the property even if I drill down to the child actor in the Outliner pane. Is there a way to edit the child actor’s property within the level if I have the child actor inside another blueprint and then put that blueprint in the level?
From your question:
Is there a way to edit the child actor’s property[PROPERTY_A] within the level if I have the child actor[CHILD] inside another blueprint[PARENT] and then put that blueprint in the level?
I don’t think you can make direct edit in the [PROPERTY_A]… but…
You can create in the [PARENT] another property[PROPERTY_B]+EditInstanceOnly
of the same type like [PROPERTY_A] and then you can go to the constructor script in the [CHILD] and:
GetParentActor > CastTo[PARENT] > Get[PROPERTY_B] > Set[PROPERTY_A] with the value of [PROPERTY_B]
Also,
- The use of an UInterface instead of CastTo[PARENT] would be better architecture.
- BeginPlay instead of Construct script can be used, if you want to edit the property at runtime.
Hope it helps…
Thanks for the response.
I guess the answer is no, because this is really just a workaround for something I feel should just work without all this extra code. It does work, I just wish I didn’t have to clutter up my blueprints like this.