Play Media Texture only when visible


I’m curious if there’s a method that could be used to set the rate of a media texture to 1 when the texture is visible in the viewport (and ideally, where the player is within a certain distance from the material). At all other times, the play rate would be 0 so it’s still visible but paused.

I’m working on a project with several ingame screens, each of which is playing a media asset, however, having all of these play at the same is incredibly resource intensive so I’m hoping that I can adapt it so only those that are visible (and close enough) play.

I’m currently using trigger volumes to play the media when inside the box, but this is a messy approach and isn’t working too well.

As a side note, when I enter the current trigger volume, the rate increases from 0 to 1 as per the blueprint, but ingame the screen vanishes for about 1 second before starting to play. Is this memory-related? Is there a way to stop this unwanted effect?


You could shoot multiple ray cast from camera towards screen and only play it when at least one ray hits to screen.