Camera Shake Base, Legacy Camera Shake & Start Camera Shake optimization

Hello,

I have two questions about the difference between Camera Shake Base and Legacy Camera Shake, and about using Async Load Asset Class with Start Camera Shake inside my Character Blueprint.

  1. Is there any known performance or resource difference between Camera Shake Base and Legacy Camera Shake, or are they functionally equivalent in most cases?

  2. When I use Async Load Asset Class to load my camera shake, the reference of the shake remains attached to the Start Camera Shake after execution, preventing the GC from cleaning it. Is there any proper way to release this reference, or is the retained reference negligible in terms of memory optimization?

Thank you very much for your time and patience.
Regards.

Hello @Sutadora ,
Welcome to the forums,

let’s start with the basics Camera Shake Base is the modern and recommended system in UE5, offering greater flexibility and control through Blueprints and curves.

Legacy Camera Shake is the old system ,from UE4, kept for compatibility.

To test how each one works and compare their performance, you can do the following:
Create a BP_LegacyCameraShake and a BP_CameraShakeBase, both with equivalent values.

Then, in your BP_ThirdPersonCharacter, add:

Input: Key “1”
Start Camera Shake (Legacy)

Input: Key “2”
Start Camera Shake (Base)

Then hit play and open the console, typing:

  • stat game
  • stat unitgraph

This displays CPU time per frame.
In general, the values should be identical or show only minimal differences , at least that’s what I found in my tests. So you can safely say there’s no real performance difference.

So I recommend using Camera Shake Base, since it’s the modern base class in Unreal Engine 5, designed to be more flexible and powerful than the Legacy system.

I’ll also leave you the documentation in case you’re interested.

I don’t know much about the topic, but you could try the following to see if it gets cleaned up by the GC. Create a variable to store the return value from Start Legacy Camera Shake, then use Stop Camera Shake to manually stop it. But i don’t think there are any major memory optimization issues.


(I used keys 1, 2, and 3 just for testing, but I recommend trying it properly with your own setup.)

Also, if you want to test it more thoroughly, you can use Unreal Insights which is a telemetry capture and analysis suite that can capture events from your project at high data rates. Unreal Insights helps you identify areas of data that might require optimization.

If you have any questions, don’t hesitate to ask again on the forum!
Hope it helps!