I used the Shooter Example and created a blueprint that have a treasure and shows a text “press E” over it, when the player is near (ButtonCollision).
The base of this blueprint was the security button where you can switch between the security cameras in the blueprint example from epic.
Everything work fine but then I started a new blueprint based first person project. I copied all my content from shooterproject over it, created a new Gamestate (from the new first person gamestate) and set the new gamestate as active in the project settings.
The problem is that in the new project the Text “press E” doesn’t get destroyed because it is sometimes invalid. In the shooter project is everything fine. I have seek everywhere and have no idea why this happens. Any help is welcome.
My blueprint seems to be okay.
I created a new FirstPerson blueprint based project.
Then I created the “Blueprints” project as a new project.
After that I copied the content folder from the Blueprint project to the FP project.
I load the first person project with the default example map and put the blueprint “BP_Security_Screen_Button” into the map. The same error happens. If I load the “BlueprintOffice” map in the FP project, the error doesn’t happen, because the “BP_BlueprintExamples_Gamemode” is active in this map. If I override in the “BlueprintOffice” map the gamemode with the “FirstPersonGamemode” the error happens again.
So it seems that the FristPerson_Gamemode isn’t work right with the “BP_Security_Screen_Button” blueprint. The TextComponent isn’t always valid what causes that the texts doesn’t get destroyed and stand forever in the air.
Why don’t you just have the render text component already attached INSIDE each BP that needs it and just toggle its visibility on and off?
When player overlaps (on overlapped actor), render the text visible.
When the player ends overlap, render text not visible.
If player presses whatever Key (E I guess), while overlapped, it does whatever you want it to. Put all the logic that needs to happen with that actor, INSIDE that blueprint.
Let the character/controller, handle the input stuff, and just have the conditional happen inside each respective actor.
When you transferred your BPs, might have been a change it got corrupted, but your current implementation is inefficient.
The textcomponent is in the treasure / security button blueprint. The character / gamemode blueprints are unchanged and doesn’t have textcomponent logic in there. The security button blueprint from Epic is unchanged too, just merged the 2 projects together.
I have found out, it depends from the default pawn class, but didn’t had the time to seek more yet. Maybe because the firstperson pawn have a camera and the player pawn from the blueprint project not? I don’t know.