So, recently I’ve been working with blueprints a lot and it’s taught me a few things about how they work and how things get rendered. Anyone coming form a game dev perspective will likely already know some of this if not all.
When you render out of UE using movie render queue, it renders using runtime, which is basically what game play uses, rather than what you see in the editor. When you create a blueprint, you have two node graphs, the construction script and the event graph. The construction script runs in the editor and is basically used for level design, the event graph runs in runtime. For some blueprint assets you’ll find work on either one, or both. If a blueprint only has nodes set up in the construction script and you try and keyframe values, you’ll find that those keyframes are not read when you do your render and vice versa… i.e. a blue print only set up in the event graph will not read keyframes when you playback in the editor.
So, if anyone’s finding that their blueprint assets are not rendering correctly this could be a reason why. If you only have nodes in the construction script you may be able to simply copy them over to the event graph and connect them to the event tick (This depends on what they do, event tick can be pretty heavy so it’s best to avoid doing complex things like spawning hundreds of meshes. i.e. I think it tries to cycle the event tick at 120fps, I may be wrong but when spawning meshes it lead to insane render times!).
If your keyframes aren’t being read from the blueprint in the editor and you are using the construction script, go to the class settings in the blueprint (tab at the top) and enable ‘run construction script in sequencer’ if it’s not enabled and see if that works.
Also another BP tip, if you ever need to keyframe a parameter from a blueprint and it isn’t available to keyframe, open up the blueprint, look for the variable name in the list on the lower left hand side panel, select it, then in the far right panel tick ‘expose to cinematics’. i.e. there’s a some Ultra Dynamic Sky parameters that have this unticked, you can also set the max values and ranges here for parameters if you need more than the blueprint details panel offers.
I’ve found that it’s good practice to check your sequence works in runtime before you render it. You can do this by making sure your camera cuts track is active, then hitting the play button on the top of the screen to enter runtime, then hit play on your sequencer. It will then play the sequence as you’d see it in the movie render (aside from additional MRQ modifications like game overides) using event graph logic for all your blueprint actors. This is great for quickly seeing if an issue is still occurring without the need for setting up a render and waiting for it.
I’m not sure if this is the best thread to post this in but it’s related and it was the most apt one I could find for this brain fart. It’s just stuff I wished someone had told me early on, so I hope it helps someone.