in the past we have reported a lot of VM related bugs which got fixed over time. Unfortunately, I think we have another one.
Right now we're using 5.0.3 binaries from the launcher.
Now the problem is that whenever we're trying to load the same variant manager file for the second time in a single PIE execution, it crashes in `UPropertyValue::HasValidResolve`.
It's access violation and the debugger says the problem is at line 615 (which may be slightly inaccurate given this is Development Editor target). The line says this: `Container->IsUnreachable()`. Looking at the Container pointer, I can see it contains some trash and not a real valid data, so my guess is that it got GCed but the pointer somehow survived that.
In packaged game, there are now problems. It's just PIE and standalone.
We spawn the actor from C++ using SpawnActor()
We use FActorSpawnParameters to override the level to spawn the variant manager in. The reason is just to tie it's lifetime with that of the level. This is most likely not related, but mentioning it in case it may come in handy.
We hold the isntance in a UPROPERTY attribute, it doesn't get GCed or anything.
It crashes when trying to switch on one particular variant of a one particular set, but right before that it is able to switch several other variants of the same variant sets asset without any problem.
And again, first time the VM asset is created, it works without any problems, but after you destroy it and create a new instance, it's gonna crash for one specific variant.
We had problems like that in the past, but I thought you guys fixed all of them. It was usually fixed by deleting the set and creating it anew. But the difference is that back then it wouldn't work even the first time (which makes more sense).
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-231135 in the post.
0 |
Component | UE - Editor - Content Pipeline - Variants |
---|---|
Target Fix | 5.6 |
Created | Nov 21, 2024 |
---|---|
Updated | Nov 21, 2024 |