Toggle Visibility of a Component in another blueprint?

Hey, i wanted to make it so when you walk over the bow on the ground it picks it up, but toggling the visibility does not seem to work to the FirstPersonCharacter blueprint. However it makes the bow on the ground vanish which is correct.

The selected nodes are from when i tried getting the tag name.

So then i am using the child index which i am assuming is this (i can’t find anything online):

I was going to set the visibility to nothing on level start, however i cannot seem to find any event to do so. (Event Level Reset does not seem to trigger)

So, i guess there is two questions. Why won’t the component with the tag “Bow1” and index “0” not toggle or be found? And how can i specify that a component is not visible by default when the level starts?

EDIT: Seems like blueprint access is null, even though i can get variables from it.

I tried: Get Bow Blueprint > isValid and it says it is false.
Any idea’s?

Since you are using the FirstPersonCharacter blueprint, you could use Overlap instead of event hit, then use the below BP to set the visibility of the component on your character. You will need to set the bow on grounds collision to overlap all instead of block all though.

Full Res:

Then turn off the BowOnGround actors visibility the same way.

Full Res:

To answer your other questions, you can set component tags seperately from your actor tags, click on a component in your BP, scroll down to tags on that and you will see a Component Tags array under Tags.

To specify a component isn’t visible on start can be done a couple ways. Turn the uncheck the visibility toggle on that component in the blueprint or use an Begin Play event to turn it off in the same manner we turn it on in the above scripts.

Does that help?

Hey, i got past that issue.
Playing around got me around it. However, i am now facing the issue of Accessed None.

Its on the set Int DrawText, i am getting FirstPersonHUD by direct access and then setting the integer however it does not seem to find set it.
Even though it is clearly finding the var.

Any idea why its failing to set the integer ?


Accessed none typically means that the actor you are trying to reference doesn’t exist. Either it hasn’t been created yet, has already been destroyed, or isn’t being accessed correctly.

Is your HUD a User Widget?

If it is, try using a GameMode blueprint as a middle man between actors and the widget. Game mode tends to be much easier to directly communicate with, and the widget can access it easily as well.

First create a GameMode BP and create the variables you want to keep score with.

Then in your player cast to your game mode and set up the score logic. Here every time I press T it should increase the Bomb Kills score by 10.

Full Res:

Next, on the text comonent you want to update in your widget click the button that says ‘Bind’ next to the display text box and click Create Binding. This will make a funstion in the graph tab. Inside the function cast to your game mode again, get the variable you want to display, convert it and plug it in.

Full Res:

That worked, i used FirstPersonGameMode which was already made.
However i didn’t do the second part, i don’t quite understand it to be fair (what it is doing).

However i managed to go my own way around it by just setting the string in the HUD blueprint after i had set the integer in the BowBlueprint