Line of sight. Dynamic mesh

Line of sight.

3-axis rotation: X, Y, Z
High performance: the component is written in C ++
Texture support: component has no UV, textures are supported in local mesh space

Marketplace link: Here


Setting options: Angle and Radius

Simple usage: For minimal use only 2 functions need to be called

A simple way to get information about detected objects

An example of rotation along the Y axis. The component rotates along all 3 axes, this can be used for 2D games.

Component can be used with postprocess for pseudo lighting

1 Like

Added version for 4.25. Changed the World rotation mode in the built-in functions (now it is not World Rotation, but the Y axis moves the mesh up)
The PostProcess2 material has been removed.

Hey, I really like this system. Is there a way to add verticality to the mesh? I would like to have a decal material that follows the shape, so it is projected down to uneven landscapes. Any pointers on how I would modify the C++ code to achieve this?

I think you know how to do this using Render Target.

If you need to rotate the mesh, then change the rotation in the transorm of the component.

Bugfix: after calling Stop Build Mesh and Start Build Mesh, the number of triangles increases and the translucency decreases
Added functions:
MeshIsBuilt - Returns true if Start Build Mesh was called
LineOfSightIsActive - will return true if Start Line Trace was called


  • Added Reverse Arc 1 option


The Number Of Lines property is no longer available on the Detail Panel. Now the number of trace lines is specified in the Start Line Trace function.

hi could you go into more detail on how to achieve verticality:

i have this with decal currently. is it possible for the mesh in your plugin to be height aware ?

Hi. Interesting question.
The mesh is flat and defines enemies (objects) only that intersect the grid (or TraceLine lines if the mesh is not created). If you need to identify enemies at a different height, create several components (display only one).

About the material :
I haven’t tried decals. I can’t answer this question.
But, one user sent me a screenshot, he used my component and made a Scene Capture and recorded the result in the Render Target. And Render Target was used in the material.

Example Render Target and result:

But I don’t have the details, I’m not an expert in materials.

1 Like

I’m doing a SetTickEnable after I detect an actor, which I see calls StopLineTrace. However, I’m still able to get overlaps.

Also, SetTickEnable should only call StopLineTrace when is false, if it is true, it should not stop, don’t you think?

Yes, it’s a bug. You can use “SetComponentTickEnabled”.
In theory it works faster than calling stop* and start line trace. After calling “SetComponentTickEnabled” you also need to disable mesh visibility.

I couldn’t repeat it. The “StopLineTrace” function should completely disable tracing and calls of Begin and End Overlap events.

I stop Line Trace, SetComponentTickEnable false, SetVisiblity ofMesh. The breakpoint still fires.

Stop Line Trace stop tracing on the next tick

Many ticks have already passed, few seconds in fact.

Hello, I am trying out “LineOfSight. Manual. Pseudo lighting (PostProcess)” tutorial in Unreal Engine 5.2.

When I press play, the scene gets brighter and brighter. I think the issue is coming from the post process material because when I see “M_PostProcess1”'s preview window, it gets brighter and brighter even though Blackout value is set to “0.1”.

I currently have only default “DirectionalLight” from the engine. (Only this light makes line of sight visible as expected)

Could you suggest me what to do to not make the scene get brighter and brighter when blackout value is larger than zero?

Hello. Maybe I made a mistake when I wrote the manual.
Check out the youtube version.
Use the way with ZStartCloneTo nodes.
Now I repeated the method from the video and it works.
Most likely the error is not in the material. The error is in the settings.

how to eliminate the twitching of the procedural mesh during movement?

I don’t know what kind of twitching you’re talking about. Maybe you need to increase the number of mesh edges.