Fields with Maximum resolution are not affecting all leaves of a Geometry Collection on 5.4 and onwards.
When calling GetRelevantParticleHandles() a Maximum Resolution field does return all particles, but the disabled ones are later discarded on FillExecutionDatas(), what makes the Resolution behave the same as Minimum.
To verify this we make a GC with 2 levels go thru a Maximum Resolution Field setting it's CollisionGroup to 1 and later go thru a Field that breaks it apart. When hitting a GC with CollisionGroup 2, the leaves still have their CollisionGroup=0 and hit the bottom GC.
I've verified this against all UE5 versions and the issue is present on 5.0, 5.4, 5.5, and 5.6.
It's a regression because it worked as expected on 5.1, 5.2, and 5.3.
I suggest using the provided repro project as the setup is lengthy.
Without the repro:
Our objective is to demonstrate that a Maximum Resolution field is not selecting all the leaves that are defined by a Geometry Collection (GC), so we will create a 2 level GC, set their collision group to 1 with a Maximum Resolution, break it, and check it it collides with another GC with collision group 2 (it shouldn't).
Create a blank project
On a basic scene create a cube and scale it (ex: 1,8,1) to make it easier to see the fractures
Duplicate it in the scene
Select one to be the bottom Geometry Collection (GC) and go to Fracture mode
Create a new GC and save
Back to Selection Mode, select the Bottom GC and set it's collision group to 2
Also set this GC as Static so it does not move during the simulation
Select the other cube to the the breaking GC with two Levels
Go to Fracture mode, create New GC, and save
Still on Fracture mode, select Slice, than on Slicing do Slices X = 0, Y = 1, Z = 0
Press Fracture, this will split the elongated cube into 2
On CommonFracture>GroupFracture, set it to false, otherwise the second fracture does not work
With both sides of the GC selected, press Fracture again, thus creating a second level of breakage
Back to SelectMode, select the falling GC and make it's DamageThreshold to be all 1's, to guarantee it breaks upon collision
Now we need a Field that will set the Collision Group of the colliding GC to 1 while the Resolution is Maximum - this should alter all the GC up to the leaves to Collision Group 1
A second field should apply enough ExternalStrain to break the falling GC into it's smallest constituents
Now we position the falling/breaking GC so that it goes thru the CollisionGroup field, the ExternalStrain field, and finally hit the bottom GC with CollisionGroup 2
Simulate
Using the repro project:
Simply open the project and simulate the level.
Expected result: the CollisionGroup field with Maximum Resolution should change all particles up to the leaves of the GC. This would make the falling GC to go thru the bottom GC that has a different CollisionGroup even after being fractured.
Actual result: the field with Maximum Resolution is unable to reach all the leaves of the GC, it ignores the inactive ones, so only the current particle has it's Collision Group set. Once the GC is broken, their leaves still present the original CollisionGroup 0 and collide with the bottom GC that has it's CollisionGroup set to 2.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-274410 in the post.