Is there any way to disable a scene capture component? I only want it to activate when a parameter is true but there doesn’t seem to be any option. Thanks
If you disable the tick of the component, all the fps loss goes away, but you can restart the scene capturing whenever you want to!
If you need a BP node for this let me know!
If disabling the tick doesn’t work (didn’t for me), try setting the USceneCaptureComponent2D’s visibility to false.
That got rid of the FPS loss caused by the capture (verified by Ctrl+Shift+Comma) for me. Those things are real resource hogs!
Is there any way to turn off ‘Capturing Every Frame’ through BP, and then restarting it the same way when certain parameters are met ?
I would definitely find this helpful!
I wanted to expound a bit on the correct answer as of 4.11 (I didn’t look at code for prior versions).
Every time a level ticks, it iterates through components and tells them to update their rendering.
The SceneCaptureComponent2D has this check before updating its rendering:
if (World && World->Scene && IsVisible())
So you can see that whether or not it is rendered depends on the visibility of the component. Using Hidden in Game and/or Visibility directly will correctly disable rendering on the capture component.