I have an issue with driving PCG with a blueprint actor inside the sequencer. The PCG does not update correctly after animating the parameters in sequencer. Below is a detailed description of my issue.
I created a PCG graph and added it to a blueprint actor as a PCG component so that I could drive my graph parameters with blueprint functions and variables. Everything works as intended: If I change the value of exposed variables in the detail panel of the blueprint actor, my PCG updates instantly as expected, which is demonstrated in the following video.
https://drive.google.com/file/d/1LIZNPEi7t_fg9NqNBxsRVm4OirSāRku/view?usp=drive_link
Then, I tried to do it in the sequencer. in my blueprint actor
-
I exposed the same variables to cinematics
-
I checked ācall in editorā for all the functions
-
I set ārun construction script in sequencerā
in a level sequence,
-
I added my blueprint actor as a track
-
I set some key frames for the variables I want to drive
-
I played the sequence but my PCG was not updating, even though I noticed that the variables of my blueprint actor in the detail pannel updated just fine.
-
I rendered the sequence with movie render queue, my PCG did not update as well.
Above is demonstrated in the following video:
https://drive.google.com/file/d/1SPPl5cYy0ooa2SklZ2zk4oPcm1cbBGpF/view?usp=drive_link
However, If I click āclean upā and then āGenerateā PCG after the variables were updated by the sequencer (but not reflected in the viewport), it will update correctly. as shown below.
https://drive.google.com/file/d/1bq5N_6eRS8OWf1ZGQJGj7qPLx1vZWU9A/view?usp=drive_link
So, naturally, I created a new function(Re Generate) in my actor that does exactly that. Then,
-
I added a trigger to that function before and after the variables were changed by the sequencer.
-
I set ācall in the editor to trueā
-
Nothing happened when I played the sequence
-
Nothing happened when I rendered
-
If I manually called the function āRe Generateā in the detail panel after the variables were changed by the sequencer, it worked.
As shown below
https://drive.google.com/file/d/1gvkBNRAo1eY0UnhDIVBNe7tbWJKm4Qyc/view?usp=drive_link
Also, it appeared that it was not the problem of the trigger because if I added something else in āReGenerateā, the sequencer would correctly execute that
(in this case, I set a cube to visible)
https://drive.google.com/file/d/1TKSzwgm8AQqPMM1zBSA81GjoHhpH7Qde/view?usp=drive_link
So, somehow, the function triggered by the sequencer was able to execute the last node but missed the first two related to PCG.
I also attempted the following, but nothing worked:
-
Disable all custom PCG nodes in my PCG graph
-
Use repeater instead of trigger in sequencer
-
Use a custom event in BP actor instead of a function, call the event in the sequencer
-
Add delay to the trigger event
-
Use quick bind to bind the trigger directly to PCG cleanup and Generate
Iāve been trying to solve this problem for around 7h(in 2 days) with no luck. Any help would be greatly appreciated!