K2Node - How does values from ExposeOnSpawn pins are assigned to object ?

This more advanced question.

I can create K2Node, which can take any class of object, and and expose it’s properties marekd as ExposeOnSpawn as pins. So I can setup values before constructing object.

That nice and dandy, but my scenario right now is more complicated.

I have K2Node, which calls static function, in blueprint function library. It’s based of K2Node_ConstructObject.
But I don’t want to actually use this node, to spawn any objects, what I’d like to do is to setup properties, of class to spawn, and defer spawn until I actually need that object later (I have logic in place, which checks if I need that object, or should I do something else).

Well as it stand when I spawn new object, it doesn’t have values set in node.

My question is, how do I setup default properties for class before spawning ? Is there special kind of node, from I should start research, or it is just plain impossible ?

You want a node that essentially modifies the CDO (class default object) values of a class, and not actually spawn it. Then when the class is spawned, it will have those values. That sound right? That’s a strange-ish thing to do at runtime. Normally that’s the kind of thing you do at editor time, eg. You would make a Goblin class and an Orc class, that set different default values for some base Enemy class in the blueprint’s Class Defaults / Defaults tab.

What you want to do would effect all instances of that class you spawn if you modify the CDO. If you wana do it, you’ll get the class and then call GetDefaultObject(), you can treat that object like any other instance, any mods will affect new instances.

Thanks for answer!

Sadly it is exactly as I suspected. I just though I can be clever and cut off, need to create lots of separate content, by somehow, modifying only this one class, but in retrospect i see why it would be not possible.