Download

UBlueprintGeneratedClass lifecycle

Background:
I am trying to create animation plugin similar to the one already in the engine. I have custom blueprint graph system already implemented, but I am stuck on compilation step.

Even after many days in Kismet module, I am confused where does UBlueprintGeneratedClass go after being compiled. During the compilation time, I have stored data in the UBlueprintGeneratedClass instance (NewClass variable in KismetCompiler), but how would one access that data?

I guess it would be clearer with an example.
When MyAnimBlueprint is being compiled, I would like to generate a random name (FName RandName) and associate it with the blueprint.
So when I create an object from MyAnimBlueprint, I would like to access that RandName.

The same is happening with nodes and connections in the Animation Blueprint system already in the engine.

  1. During compilation a data is stored in UAnimBlueprintGeneratedClass
  2. ???
  3. USkeletalMeshComponent can access the data in UAnimInstance instance created from given blueprint

Any help or pointers would be appreciated!

Well, 10 minutes after posting i found a solution. (facepalm)
In case someone is having the same problem, the function to route data out of compiler is CopyTermDefaultsToDefaultObject.

Note: If you are reading this, you are probably going mad from trying to create custom blueprint compiler. Just wanted to say good luck and keep it up!