Closed gabrieldechichi closed 1 year ago
Yeah. Support for subscenes is super sketchy in 0.5.x and Entities 0.51.
I never used Subscenes personally because they would often lead to Unity crashing and/or corrupting the project. Some of these issues seem to be specific to a minority of machines, of which mine happens to be a member of. In Entities 1.0 experimental, the merged baking world provides a workaround to the cause of the crash, and the corruption issue is no longer present. So while I tried to follow the limited documentation available for making the Latios Framework compatible with subscenes, I was mostly developing in the dark.
Now having worked with Bakers, some of my gaps in understanding have been filled. I've come to learn there are fundamental flaws in Smart Blobber's API that prevent them from ever working correctly with incremental conversion. I would still expect them to work correctly for non-incremental conversion (once the little bugs get ironed out), but the useful editor integration will never work.
Another massive challenge is that in Latios Framework 0.5.x, Kinemation only works correctly if it is executed from within a LatiosWorld. The Editor World is not, and I have not found a way to override that behavior in Entities 0.51. Latios Framework 0.6 removes this limitation (and makes a lot more systems run in Burst).
If you are set on using subscenes, I strongly encourage you to consider moving to Entities 1.0 and Latios Framework 0.6 when it is released. 0.6 still uses Transforms V1, so it is mostly the conversion -> baking changes that will need to be addressed. However, 0.7 will likely use a different transform system. Whether that is Unity's Transforms V2 or something custom (but similar) remains to be seen. What I do know is that the new system will provide significantly better performance for Kinemation's internal systems and make IK much easier to develop.
I realize this probably isn't the answer you are hoping for. Sorry about that.
Not at all! This was a very useful answer. I'm glad to know that baking will be fully supported on v0.6, and removing the LatiosWorld requirement is also good change.
At this transition stage that DOTS is in I don't think supporting 0.5/0.51 is a must. I'll just voice that DMotion won't support it either until it is moved to DOTS 1.0.
Thanks!
In general, Kinemation (or perhaps the SmartBlobber workflow) doesn't seem to support subscenes at all. Specifically, if I place a GameObject with an Animator in a subscene, the following happens:
Runtime State in Scene View
Setting Conversion Settings to
Authoring State in Scene View
and avoiding changing the object in Play Mode are possible workarounds, but not ideal.