Level Sequence Burn In Blueprint : Get Owning Player Pawn returns None in 4.14+

Hi,

I’ve discovered what appears to be a bug in 4.14+ (it worked in 4.13, and doesn’t work in 4.14 and 4.15)

I have a LevelSequenceBurnIn subclass, and in the event graph, I want to get hold of the owning player pawn (in order to get the Controller and then the ViewTarget - my goal is to get hold of the CineCameraActor that is being used for the shot)

In MyBurnIn’s EventGraph, the Get Owning Player Pawn node would return the right one in 4.13, but has returned None since 4.14.

[Here][1] is the blueprint asset that I created. It will add the name of the Player Pawn in large text over the sequencer render, or None in the case of 4.14+

Thanks

Answers to 's questions:

Can you reproduce this issue in a clean project?

Yes, I just reproduced it in a clean project in both 4.13 and 4.15

If so, could you provide a detailed list of steps to reproduce this issue in a clean project?

  • Right-click in Content Browser, select Blueprint Class
  • Open “All Classes”
  • If 4.15, Click “View Options” and check “Show Internal Classes”
  • Enter “LevelSequence” in the search bar and select LevelSequenceBurnIn
  • Click “Select” to create blueprint.
  • Open the Blueprint
  • If 4.13, Drag “Text” from the Palette and drag it over “Canvas Panel” in the Hierarchy
  • If 4.15, Drag “Text” from the Palette and drag it over “NewBlueprint” in the Hierarchy
  • Select “Text Block”, in the Hierarchy and set the Font Size (in Details) to 200
  • If 4.13, Go to the Slot section of the details and set Size X to 1920 and Size Y to 1080
  • Go to “Graph”
  • Create a variable of type “String” and call it “MyString”
  • Drag MyString into the event graph as a Setter
  • Link the Exec flow from Event Tick to MyString Setter
  • Create a Get Owning Player Pawn node
  • Create a Get Object Name node, and link the input of this node to the output of the Get Owning Player Pawn node
  • Link the output of Get Object Name to the My String input of the Setter node
  • Go back to the Designer page
  • Select “Text Block” in the Hierarchy
  • In the Content section, next to Text, click “Bind” and click “+ Create Binding”
  • In the graph that was created, drag MyString into the graph as a getter and connect it to “Return Value”
  • Click Compile, then Save, then close the Blueprint window
  • At the top of the screen, click Cinematics then Add Level Sequence. Click “Save” to save with default name
  • Click the green “Add” button, and select “Shot Track”
  • Click “+ Shot” and select “Insert Shot”. Click “Save” to use the default name.
  • Click the clapperboard icon to render to a movie.
  • Expand the advanced section of “Capture Settings”
  • Open “Burn in Options”
  • Check “Use Burn In”
  • Select “NewBlueprint” in “Burn in Class”
  • Click “Capture Movie”

I’m aware that there is a better way of binding the variable to the text in 4.15, but I wanted to keep the process in the two versions as close as possible.
If you follow these steps, in 4.15, the movie will have “None” overlaid, and in 4.13 it will have “DefaultPawn_0” overlaid.

Could you provide screen shots of any settings/blueprints that may be involved with this issue?

Here are the two blueprints:

138115-ue4_blueprint_02.png

Thanks

Hello HughMacd,

I ran a few tests based on the information above. I was unable to reproduce this issue (neither with the asset provided nor recreating the asset in a clean project). The asset that was provided does not appear to work on my end. I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provide a detailed list of steps to reproduce this issue in a clean project?
  3. Could you provide screen shots of any settings/blueprints that may be involved with this issue?

Hi Rudy,

Thanks for that. I’ve edited my question to provide answers to your questions.

Hello HughMacd,

I was able to reproduce this issue on our end with the updated steps above. I have written up a report and I have submitted it to the developers for further consideration. I have provided a link to the public tracker. Please feel free to use the link provided for future updates.

Link: Unreal Engine Issues and Bug Tracker (UE-45286)

Make it a great day

Hi HughMacd,

Can you try hooking things up in a different way? The Level Sequence Burn In has a lot of information you can get natively, including the camera component that’s currently active. Here’s what I’ve done to get at the current shot camera:

Hi,
That doesn’t seem to quite give me the same thing I’m after. I think, though, that what you’ve suggested has pointed me in the right direction. I’m after the CineCameraActor, so I’m thinking that I could cast the Camera Component to a CineCameraActor.

GetOwner will give you the cine camera actor. And from there you can cast it or if you’re just after the name, you can use GetObjectName.

Good luck!