FKawaiiPhysicsEditMode::InputKey()の実装ですが、
else if (InKey == EKeys::Delete && IsValidSelectCollision())
{
switch (SelectCollisionType)
{
case ECollisionLimitType::Spherical:
RuntimeNode->SphericalLimits.RemoveAt(SelectCollisionIndex);
GraphNode->Node.SphericalLimits.RemoveAt(SelectCollisionIndex);
break;
case ECollisionLimitType::Capsule:
RuntimeNode->CapsuleLimits.RemoveAt(SelectCollisionIndex);
GraphNode->Node.CapsuleLimits.RemoveAt(SelectCollisionIndex);
break;
case ECollisionLimitType::Planar:
RuntimeNode->PlanarLimits.RemoveAt(SelectCollisionIndex);
GraphNode->Node.PlanarLimits.RemoveAt(SelectCollisionIndex);
break;
case ECollisionLimitType::None: break;
default: ;
}
}
となっていますが、SelectCollisionIsFromDataAsset による分岐をしていないため、
SphericalLimitsDataの方にLimitがあって、そちらを選択してるときにDeleteボタンを押すと
空のSphericalLimitsに対してRemoveAt()が走り、クラッシュする、ということが起きそうです。
こちらでもSelectCollisionIsFromDataAssetによる分岐をすれば解決すると思います。
FKawaiiPhysicsEditMode::InputKey()の実装ですが、
となっていますが、SelectCollisionIsFromDataAsset による分岐をしていないため、
SphericalLimitsDataの方にLimitがあって、そちらを選択してるときにDeleteボタンを押すと
空のSphericalLimitsに対してRemoveAt()が走り、クラッシュする、ということが起きそうです。
こちらでもSelectCollisionIsFromDataAssetによる分岐をすれば解決すると思います。