Advanced Interact System Updated
For this documentation, I will be using the third person project template
If you have not followed the steps on the first page of the documentation, you must follow the steps to continue with the system configuration.
We will focus on making a light that turns on and off when we interact with the lamp, this lamp is included in the "StartContent" folder that you can include in your project, but it does not necessarily need to have this lamp, it can just be a light that will turn on and off, the focus is to understand this side of the interaction system.

In your player's blueprint, click on the component and you will see in the details panel, several variables that can be adjusted.

I am leaving below a table showing what was changed and where it was changed to, I only changed what is in the table, what is not in the table, you can leave the same as it is.
| Variable name | What to adjust |
|---|---|
| Interact Mode | Area Interact |
| Area Collision Type | Sphere |
| Sphere Radius | 120 |
| Use Pre Interact Area? | ✅ |
| If Pre Interact, What Distance from the Object to Allow Interaction? | 80 |
| Hidden Area In Game | ❌ |
Yes, just that.
Important! Make sure the variables in the image below are configured with the trace that was created. This is very important.

I'm going to use a copy of the actor that's ready to be used to create the lamp that we're going to interact with.

And I will name this copy "BP_LightAreaInteract”

If you want to create an actor from scratch, don't forget to add the "CreateWidgetOnObject" event that comes from the component, in the begin play of the actor object.
I replaced the Mesh with the lamp and added a light point

I did this logic in the image below, by default the boolean is true

And I adjusted the object variables like this:

Okay, now we have everything set up for basic interaction, drag your lamp into the world and test it out.

Here's a tip on how to make locating the widget much easier and more intuitive.
The diamond in the image below represents the location of the widget, wherever this diamond is, the widget will appear.

The image below shows all the necessary configuration for this diamond to appear and work. In the object's construction script, simply pull the "Widget Location" variable from the component, and create a new variable from the transform pin. And in this newly created variable, set it to Instance editable and Show 3D Widget, and you're done! Now test it out.

To activate the Hold button to interact system, let's go back to the player.
Click on the component and look for the Hold button category. I adjusted mine in the same way as the image below:

Now just test and see how everything is going.

To use the Outline, go to your map's global post process and search for "Material”

Click to add a material


The material that will be added is the one in the image below:


Now you need to activate the system in the component that was placed in the player

I set true to both booleans

Now take the test

To change the outline behavior, open the material instance that was placed in the post process.


You can preview the changes without having to re-test. Drag a static mesh into the world, go to the details panel, search for "custom depth," and activate it, as shown in the image below:

See that the line was shown in the object, now just make the changes to the material instance and see what the line will look like during the game.

Now let's talk about widgets.