Way to turn off infinite loop detection?

Does anyone know if there is a way within unreal 4 to turn off the infinite loop detected error messages which terminate the game? I’ve had a google but can’t find it.

I have a bug with unreal that it detects an infinite loop even though there definitely isn’t, proven as by simulating through it step by step with break points it is 12 steps before getting passed the point it terminates. I’ll post that on the bug forum later, but having spent 8 frustrating hair removing hours trying to find workarounds I’m right now just wanting to find a way to turn this warning off and trust myself not to introduce infinite loops so I can make some progress.

Thanks all.

I believe UE4 gives that infinite loop error when it ascertains that a BP is going to execute over (at default settings) one million instructions. If you to Project Settings -> General Settings -> Blueprints you can set the maximum loop iterations to something much higher and see if that resolves your problem.

I think there’s some other variable related to this but its not exposed in the settings so you’d have to rebuild the engine from source to change it.

Sadly it is sometimes overzealous, like when I was trying to check if a stream level was loaded on the client (no OnLoad event there) so I was calling a check every second until it finished loading. Apparently when the instance reference was removed it thought the code will keep on running forever and thus tripped the alarm. Best to just do frequent things on a PerTick basis. Just open/close a gate, maybe add a doOnce with a delayed reset or whatnot. That way it won’t be considered infinite loop.

(Blame Google search for bringing this as the first result for me.)

The infinity exception can come from 2 place.

  1. if(BpET.Runaway > GMaximumScriptLoopIterations )
  2. if (++BpET.Recurse == GScriptRecurseLimit)

GMaximumScriptLoopIterations is 1000000, it can be changed in the project settings.

GScriptRecurseLimit is 120, it can be changed; it can be changed with
the console variable bp.ScriptRecurseLimit