Draw debug line - duration don't refresh after blueprint compile

Hi
Simply put, when I set accidently duration for “draw debug line” as very high number, I have a mess on the scene, because they stay until I close editor.

Reproduction steps:

  • create blueprint, add 2 meshes for example
  • in construction script, draw debug line between these two meshes
  • set long duration, like 999 seconds
  • compile, move BP on the scene, lines will draw and stay
  • change duration to 1 second, compile, move BP on scene
  • previous lines will still render
  • close, open editor - old debug lines are gone

Link to video:

Tested on 4.4

I think this is working as intended, but possibly an oversight. The “draw debug line” node isn’t actor-centric (notice there’s no target input). Instead it’s ran independently within the editor, without a reference from where it was called - hence recompiling the actor doesn’t reset/clear the lines it drew.

Try the console command FLUSHPERSISTENTDEBUGLINES to get rid of the lines.

Hi hamsterPL

I’m following up to see if you are continuing to experience an issue with the draw debug line duration. If so, have you tried updating to the 4.6 version of the engine? This latest release contains a lot of fixes to reported bugs as well as a lot of great new features.

If you are not able to update or are still encountering the same problem after updating, please let us know by responding to this post and we will investigate the matter further.

Thanks

Hi Steve
I checked it on 4.6 today, and it’s still occurring.

Hi hamsterPL,

As shmit suggested, this is expected behavior. When you set the debug lines for 999, they will remain on screen for that duration even after you create a second instance of the lines where you changed their duration to 1 second, as you did in your example. When you close the level that ends the duration and it is expected that the lines be gone when you reopen the level. If you were to reopened the level and the lines were still there, that would be a bug.

As a test I set multiple instances with various durations 1, 10, 20, 30 seconds and they all stayed on screen for the appropriate amount of time.