GetMesh()->SetOwnerNoSee

I am following the “First Person Shooter Tutorial” and when I used this function
GetMesh()->SetOwnerNoSee(true);

it didn’t refresh the “SetOwnerNoSee” property for the Mesh. it act like if it did something like the showing the yellow arrow but the check box not checked.

1 Like

I’ve got the same issue. The value of “SetOwnerNoSee” is not set to true by default in BP_FPScharacter .
I think it’s linked to the order the BP_FPScharacter has been initialized by the engine.
A possible solution is to duplicate the line

GetMesh()->SetOwnerNoSee(true);
in the AFPSCharacter::BeginPlay() C++ function

also, you can override it in the blueprint construction script

Worked for me, thanks!

Can you still see the shadows for the original body mesh at this point? Because those disappear for me when I successfully hide the body mesh from the first person view…

Both the answers provided are not very good so I thought I would explain what is actually happening for anyone else that comes across this question.

Firstly blueprints have their own state and you could think of them as a kind of subclass of your c++ class. When you change your c++ class some properties will not change in the blueprint.

To solve the issue simply search for the property and press the yellow arrow to revert it back to default.

So for this problem:

  1. Open the blueprint
  2. Select the mesh component
  3. In the details pane: type owner into the search filter.
  4. You will see some properties under Rendering, click the yellow arrows to revert them

272674-blueprint-properties.png

3 Likes

Great answer. Thanks for the explanation.
It still feels like a bug.
When we extended the FPSCharacter class to BP, we didn’t explicitly set the Owner No See property, so why didn’t it implicitly used the inherited value?

Worked for me, thanks!