We seem to have stumbled across an issue in FGeometryCollectionPhysicsProxy::FieldParameterUpdateCallback(), where the FieldData.Commands buffer is not being cleared, leading to severe performance issues over time. This seems to happen when we apply a LinearForce command to a geometry collection. This causes the IsParameterFieldValid(FieldCommand) check to fail since Field_LinearForce is not listed as a valid PhysicsType for EFieldType::EField_FVector. Due to this failure, the command is not removed from the buffer and the buffer will accumulate commands indefinitely.
This was easy to test with an empty level where a blueprint containing a RadialForce Component was placed next to a geometry collection.
We are using Unreal 5.4 at the moment, but it appears that the issue will still be present in 5.6.
Either adding Field_LinearForce to the list of allowed PhysicsTypes in IsParameterFieldValid() (FieldSystemProxyHelper.h) or moving the CommandsToRemove.Add() logic outside of the the IsParameterFieldValid() check will resolve the issue, but we are not sure which is the correct approach.
Steps to Reproduce
In an empty level, place a blueprint with a RadialForce Component next to a geometry collection. During runtime, a LinearForce command will be applied to the geo collection and not removed, accumulating indefinitely.
Hello [mention removed]
Thank you for reaching out and bringing this issue to our attention.
I’m trying to reproduce the reported behavior.
I’ve set up my scene like so:[Image Removed]Can you elaborate a bit on how you are debugging this?
I look forward to hearing from you soon.
All the best,
[mention removed]
Hello [mention removed]
Thank you again for catching this bug, providing your analysis, and suggesting some solutions.
I made a bug report and made sure to include both.
I was also able to reproduce the behavior on the latest Perforce version of the engine, so there is still no implemented fix.
I’ve made a JIRA report at: Unreal Engine Issues and Bug Tracker (UE\-316307)
Please note that it can take some time to be made publicly accessible.
We don’t provide updates on EPS, but if you would like to track the resolution, check the link for the status.
You also asked what the correct approach to solving this issue is.
I’m not sure about all the implications of applying either, so, if you want, I can escalate the case, and a specialist from Epic can recommend a course of action.
Let me know.
All the best,
@Rafael Pinheiro