Hi,
I’m having a similar issue with Trans buffer when stopping a PIE.
I’m still on UE 4.5, but looked quickly through code changes on github and I don’t think this behavior changed since.
I’m working on the c++ side, and changing properties on more than 1 actor spawned dynamically from code triggers the issue.
Here is my repro:
- start PIE
- from C++ code, spawn several actors
- change a bool property value on at least 2 of the actors through the UE editor property window
(Note: it doesn’t complain in EndPlayMap() if only 1 actor is modified) - stop PIE
=> GC warning / crash
I tried spawning the actors without ‘RF_Transactional’ flag,
or marking the bool UProperty with ‘NonTransactional’ flag,
but it doesn’t fix the issue.
Looking at source code, in SPropertyEditorBool::OnCheckStateChanged(), it doesn’t pass down the property transactional flag.
Maybe it should pass down PropertyHandle->GetProperty()->HasAllPropertyFlags(CPF_NonTransactional) to PropertyHandle->SetValue() ?
If this is the way to solve the issue, this change might have to be mirrored to other types of properties.
Cheers,
Max