Why do some variables of spawnable object in Sequence are forced to return to default values when Spawning?

Hi, everyone.

I discovered that on the spawnable object in the Sequence, there are variables that if you modify their values in the scene, they can be inherited when the sequence spawn them,however,there are some variables that don’t.

Step1----Modifies some variables on the Spawnable object.

Step2----Drag the time ruler to put the object at a point in time that was not spawned.

Step3----Play sequence to get the object spawn, and see that some variables are changed back to their default values.

After my tests, the results are as follows.

Variables that cannot be inherited are:

  • ‘Actor’ variables in all objects (that is, variables that need to get an instance of the scene).

  • Transform for most blueprints(Not the custom ‘Transform’ variable).

  • variables in all components (including their component transform).

The inherited variables are:

  • Non-actor variables exposed in the object itself. (Numerical, Boolean, Dataasset, Structure, Class, etc.)

Curiously, the following variables can also be inherited:

  • Charactor blueprint’s transform.

  • In the Character blueprint, the default component’s Transform and non-actor variables.

  • Transform of the engine’s default object (Mesh, SkeletalMesh, Niaraga, light source, etc.).

+++There must be an option that determines whether this difference can be inherited. But I haven’t found it yet.+++

Does anyone know anything about this?

If you can answer my doubts, thank you very much!

The objects variables are not accessible before spawn because it just doesn’t exist in the scene. There is no object to source the information from.

You will only have access to the variables in the details panel once the object is spawned.
The transform node is accessible because it is the spawn point where the object appears in the scene and it’s components offsets.

The sequencer is doing the same thing as “spawn actor from class” behind the scenes.

are those other variables being called on tick? or in construction script?

Thank you for your answer. It inspires me.

I found the Spawn action in the Sequence to be more like ‘Construct Object By Class’ than ‘Spawn Actor By Class’.

This explains why Transform can’t be inherited either.

But what I do not understand is that Charactor blueprint seems to be an exception.

Charactor blueprint can inherit the Transform when it is used as a Spawnable Actor in Sequence.

Even variables on its default components can be inherited.

What determines this difference?

It bothers me.

No, all the variables I didn’t manipulate in the blueprint.

I only changed their values in detail panel of the objects in the scene .

Perhapts if you mark the variable as “expose on spawn” it will change the way it behaves?

I’ve tried this option, but it doesn’t work.

  • The Transform and ‘non-actor’ variables on the Actor itself are inherited anyway.

  • All variables on components of actors, for example, cannot be inherited.

  • It doesn’t matter if they have ‘expose on spawn’ or whatever.

  • Except, the Character Blueprint.

I’ve tried so many times. :sob:

I think, until I find out why.

I can only assume that:

  • the variable on the Spawnable Actor cannot be modified directly.

  • Either check their ‘Expose to Cinematics’ option, and then set up their tracks in seq to modify.

  • Or they can be modified by the blueprints.

thanks for your answer.

And hopefully someone will find out why.