Just want to share the life-changing discovery with all fellow UVS users.
Never use Custom Event in continuos flow (update etc.). Never. Only use them once. Use Timers as a workaround that are activated with a Custom Event once and stopped the same way using Pause. I accidentally discovered this and my project went from 60fps to 200fps. I’ve spent weeks optimizing stuff that had nothing to do with the real problem in my project. If it’s by design, users should be warned.
Best of luck with your projects, visual scripters!
Oh no no. The profiler shows almost nothing when used with visual scripting. Maybe it does with deep profiling or in some other more complicated way, but I never tried it. Never heard anyone recommending it either in the visual scripting community to make me try.
It’s probably very useful in C# though. Are you even using visual scripting?
Profiling in visual scripting has a gigantic room for improvement. Until the profiler shows exact nodes and it’s color-coded based on how bad they are for performance with a good and intuitive design, it’s basically useless until then. Showing exact graphs would be acceptable for a start. But since visual scripting is in maintenance mode for now, I’m in no way expecting or suggesting this for the near future. But it would be an amazing feature along with other necessary improvements in future versions.
Indeed it does with Deep Profiling, which is an important part of Profiling. The regular profiling mode is good for a quick identification of problem areas, and then generally you switch on Deep Profiling if it’s not yet clear where the issue is.
I still really doubt it’s easy to understand and find the exact graph and node, especially when I use only 1 script machine for all my project’s code for better performance, but thanks for the info. I might give it ago one day if I’m desperate with performance problems again.
I’ve simply heard it somewhere from a guy that knew a lot about UVS. So I’m just doing it as it’s not a trouble for me. Plus having all the code in one machine has it’s advantages too. You never need to remember which object has what machine—the code is just nicely grouped and nested in one script machine.
If anyone knows more and whether that’s true—
I would love to hear more.