Is there a way to trigger an event when an actor overlaps the camera view frustum?
This is independent of whether the actor is actually rendered. Even if there is obstruction, the actor is within the camera frustum and the event should trigger.
For example, “BeginOverlap” will start some animation calculation and “EndOverlap” will stop it.
If it’s not possible directly, is there a way to create a trigger volume attached to the camera which contains the view frustum dimensions and can be used as described above?
I was going to say that you should probably fire random rays from the camera position but after a quick search I found this: Perform Frustum Check
(Note this uses player’s camera)
The other thing I can think of is just check the horizontal and vertical angle to the camera’s forward vector. In this case you have to figure out how precise you want to be.
You can do it with the actor’s origin but ti will produce false negatives.
You can try it with the end points of the Bounding Box which can get false positives.
While this allows manual checking of a single actor being inside the frustum, it’s not quite what I’m after. I was hoping there is a way to make it automatic, the way other overlap events are handled. That way the user does not have to trigger the calculation every frame for potentially hundreds of entities.
You can make an object with the shape of the frustum in your favorite 3D editor and use that as a collider though. Better yet, you can probably make it with a geometry brush too and use that for overlaps.
Interesting idea—and while there’s no direct built-in event for “Actor enters camera frustum,” there are a few workarounds that can get you close to what you’re after.
Option 1: Manual Frustum Approximation
You can approximate the view frustum using a custom cone or pyramid-shaped trigger volume attached to the camera. This would act as a collision-based proxy, and you can use BeginOverlap and EndOverlap events on it just like you described. You’ll need to adjust its size based on FOV and near/far planes.
Option 2: Runtime Visibility Check
Use the WasRecentlyRendered() function on the actor, which returns true if it was within any camera’s frustum recently. You can poll this every tick and use it to manually trigger enter/exit logic.
Option 3: Custom Blueprint System
Attach a box or capsule collision to the camera, manually shape it to mimic the frustum, and simulate frustum overlap this way. It’s not perfect, but for gameplay logic it works well enough in many cases.
Hopefully Epic adds a proper FrustumOverlapEvent someday—it would definitely be useful for visibility-based systems!