Although there are several tools available that we can use to figure out where our performance issues lie, it is still up to us to fix or change the code. Some of that comes down to proper programming techniques. A few things we can do to make sure our game's frame rate doesn't suffer are as follows:
- Keep Tick code to a minimum: Blueprint objects that use too much code in a Tick can have a devastating impact on performance, since Ticks run every frame. Gameplay code is mostly event-driven, so take advantage of that.
- Let the engine do the heavy lifting: If we have an object that needs to know if any players were within a certain distance, we could check those distances in a Tick or some quick timer, but this would be inefficient. Adding a sphere collision component to the Blueprint and using the On Actor Begin Overlap event would be much simpler and cleaner...