DevGFxUI logging is frustratingly broad

DevGFxUI logging in DefaultEngine.ini covers such a ridiculous breadth of notices, warnings and full-on type errors.

I don’t want to suppress this logging on my production build, as it logs real type errors in my scaleform apps. So if a player is having problems and sends me their log, I want to see these errors:


DevGFxUI: TypeError: Error #1009

However, it also logs every single time a UI path binding occurs (so everytime I load a UI widget):



[0042.34] DevGFxUI: Found path binding for path: root1.OptionsPanel
[0042.35] DevGFxUI: Found path binding for path: root1.MultiplayerPanel


So as the player navigates the menu, it pollutes the logs with these useless messages about path bindings.

Does anyone know if there’s a way to mute these path binding logs (without source access). Or perhaps a way for scaleform to pass runtime errors to Unrealscript, so I can suppress these logs and capture the actual errors elsewhere?

I don’t know why anyone would group notices, warnings and errors into the same classification… :mad:

Yeah, totally.

Oh, um, maybe not.

Scaleform has been a big frustration to me for almost the entire life of my project. I’d estimate that 90% of my crashes can be traced back to Scaleform, and the logs almost never tell me what went wrong. To tell you the truth, I don’t even know how to get these errors to pop up in my logs. I think I missed a step in my self-taught Scaleform adventures, and I put all of my interactivity directly into the timeline of my movies. On the plus side, it means that if my movie builds and plays in Animate then I know at least I won’t have type errors in-game.

I remembered discussing Scaleform errors with you earlier (https://forums.unrealengine.com/lega…t-logs-in-game). My Pokemon exception handler allows for very detailed custom logging, but I think it would only work with my approach, where all functionality happens in the movie. I don’t know if that’s feasible for you at this point.

Wow that post was a long time ago. My project has certainly been a journey (actually 6 1/2 years now).

Yes this is mostly the same for me. And they are the hardest to track down. All of mine have been with dangling references to resources that have been removed. So if a US gfx widget is bound to an AS3 object which has since been removed, then attempting to call the AS3 object will crash the entire game.

I’ve mostly learnt (the hard way) to avoid these errors now though.

Another weird one that nearly killed me, was dynamically rendering images within scrolling list item renderers (that used 9-slice scaling) would crash the movie (and game) if scrolling too fast. Which I detailed on this thread.

Regarding the Pokemon approach; this is great when you know where a problem area is, but is not something I want t litter all over my code.