Recompilation of blueprint with array property take ages

Have a blueprint with some properties, one of them is array of references (empty by default)
Placed some amount of actors on scene - 80 in test project.
Every time I hit recompile it take about 10 seconds to update on my computer.
If remove array property recompile take less then a second.

test project

Please check test project. Test scene have 80 of New Blueprint objects.
New Blueprint have one property array of references, press recompile and it should take considerable amount of time. If property removed than recompile is fast.

Oh no, it’s even worse, field with actor reference slows down recompilation of blueprint.

Hmmm. Every time I press compile button in opened blueprint it takes about 10 seconds to compile. First compile take 15 seconds maybe.

Sean, maybe your computer is much faster than mine. Try adding more objects. At some point you maybe notice considerable difference in compilation time for blueprint with actor reference and without it.

Hey Yata,

I’ve definitely seen the long compile time in your project, and I’ve reproduced it in a clean project but only for the initial compile.

Are you able to reproduce it in a clean project and have it continue to take a few seconds to compile each time? I’m curious to see what you’re doing differently if that’s the case because if I recreate your setup in a clean project I’m not experiencing the long compile time past the first compile.

I’ve been able to reproduce it in the project you’ve provided, but when I tried to recreate it I could not do so in a clean project.

Do me a favor:

  • Create a new blank project
  • Create an actor blueprint
  • Add an actor reference array variable
  • Place 80+ in the scene
  • Compile

Let me know if after the first compile it still runs slow for you.

Also, please provide your DxDiag. Thanks!

Hello,

I am marking this topic as resolved for tracking purposes, as we have not heard from you in a few days. If this issue persists, feel free to respond to this thread. For any new issues, please create a new Answerhub topic.

Have a great day

Hi Sean, sorry for late reply. Try to add some code to blueprints and than compile.

Best Regards, Igor

Hey Yata,

Unfortunately, even with over 100 actors in the scene that contain an actor reference array variable, I’m still not seeing long compile times after the initial compilation. This leads me to believe that it could be some limitation of your hardware. I’d recommend spawning the actors dynamically to avoid having so many in the viewport at once if this is something that you can do.

If you are able to provide a 100% repro case in a clean project, feel free to reopen this thread with a comment and I’ll be glad to continue looking into it.

Have a great day

Hi, Sean,

It looks like you need to set field reference type to the same type as blueprint you are modifying. If setting just to Actor reference than I see no performance hit.

Hey Yata,

Thanks for the clarification. With this in mind, I’ve been able to reproduce the issue and have entered a bug report which you can track here: Unreal Engine Issues and Bug Tracker (UE-37153)

Have a great day!

Hey Sean,

Can you explina why the issue was marked Won’t Fix? From explanation on the page I feel that developer think that the problem is in number of actors, and the missed the fact that reinstantiation of large amount of actors actually work fast, if only they don’t have references to other actors. So there is definitely some regression in that case and it have room for optimization.

At this time we do not have plans for development for the issue described in UE-37153. This was decided because the slower compile times are not necessarily preventing anything from functioning properly, they are just slowing the workflow down. As was suggested, working in smaller test levels will help when it comes to keeping blueprint compile times down.

Please keep in mind that with source code access, a programmer on your project can implement your own solution, and you are welcome to share that result with Epic for possible integration.

As the only developer on our project I maybe will check this later, but think this bug can be part of some bigger problem with asset management in UE. So hope Epic will someday manage to fix this.
Heard that you are planning to move some assets to text form, that would be great, and I expect many current asset bugs will be fixed.
For now behavior is quite manageable.
Thanks for support, Sean.