I’ve tried this out on two of my computers using Entities 0.2 preview18 and Unity 2019.3.0b12, and the import durations are painfully long. When I created a brand new project and just created a simple subscene containing a single gameobject, I could get away with 1-2 second import durations, but in our large-scale project it’s really slow. In 0.1 the rebuilding of the entity cache took maybe 7-8 seconds, but now it’s very common to see 90+ seconds.
For some context on what we’re planning on using it for. We’ve been working with setting up tools and workflows for a team that will work on world-building. We have split up the world into chunks where we are working using subscenes for each chunk. We might have hundreds of subscenes, and right now we’re looking at ~15000 entities with a couple of thousand gameobjects for each subscene, the vast majority of them using the StaticOptimize functionality. We are working on upgrading to Entities 0.2, but I’m afraid that we won’t be able to upgrade for now with these slow subscene import durations.
This has proved really hard to debug in 0.2, as I believe that Unity has moved out the importing to a separate process (I’ve begun seeing multiple Unity processes). I haven’t managed to attach the debugger to the subscene conversion, and I can’t seem to find where logs are output for it either.
I haven’t seen any other threads on this subject, so I’m contemplating whether we’re the only ones with it, and if we’re potentially doing something wrong somewhere. Are there any known issues related to this subject, or anything known that one should avoid?
And this is why I simply refuse to work with gameobjects, ‘coversion workflow’ or not. Anyone who’s ever worked on a huge project knows how painful this is.
Well if you insist on going ahead with it, I suggest you further subdivide your subscenes so that they don’t contain thousands of gameobjects, rather only hundreds. That might help. Otherwise, if you only experienced this problem in 0.2 but not 0.1, it’s most likely a bug. I’ve seen a thread by Tertle where he also reportedly ran into issues with performance downgrade from 0.1 to 0.2
We are working on reducing the sub scene conversion time.
Most of it is due to initial burst compilation and should be cached on the second import. So its only the first import that is slow.
Log file at the moment is in Library/AssetImportWorker0.log
Thanks! I just tried out doing some modifications after each other and it seems like it works like you said. After the first import, I’m down to the ~8 sec conversion again. I never realized that this was the case, I guess I’m modifying my code constantly so I never noticed that it was only the first import that was slow. I hope our artists can work with that for now then.
I have contemplated subdividing them. I wonder if it’s enough to subdivide the Scene by using SceneSections though, so we don’t have to keep track of thousands of small scenes.