Break off a single chunk from a destructible mesh

I am trying to break off chunks one at a time in a very clean way. Lets say you were doing an retro astroids game and when a bullet hits the asteroid you want ONE chunk to fly off while the remaining chunks staying perfectly intact. No variability in how it behaves…

So far I have tried the following, trying to be very specific with damaging particular chunks:

nvidia::apex::DestructibleActor* ApexActor = DestructibleComponent->ApexDestructibleActor;
int32 chunkIndex = DestructibleComponent->ChunkInfos[x].ChunkIndex;
physx::PxBounds3 ChunkT = ApexActor->getChunkBounds(chunkIndex);
ApexActor->applyDamage(1, 2000, ChunkT.getCenter(), PxVec3(0, 0, 1), chunkIndex);

But it does not behave how I want. I expect it to apply damage to ONE chunk, and everything else is undamaged and sticks together… but it is very inconsistent and seems to apply damage to multiple chunks. I have been stuck on this issue for a few days and Im about to abandon it entirely because of how long its taking (which is frustrating because I think should be relatively simple…)

As far as my destructible mesh asset goes, I have a support depth of 1 and a damage spread of 0. Ive read that support depth of 1 is what you want when you dont want it to completely break after being damaged, but I don’t really understand what it is or what its doing. So if anyone could explain support depths, that might help as well. If I have to use PhysXLab I am willing to do that, though I’d rather not because the tutorials and documentation seem a bit iffy.

I may actually just store the locations of each chunk and manually set their locations in tick such that they stay in their proper spot until I damage them, but this seems super hacky and not ideal at all!! Any help appreciated!

So I resorted to manually setting the position of chunks so they are locked in place… however the chunks dont get updated immediately. Theres like a full second delay before their positions get set. Im guessing theres something I need to do to make it update immediately (markTransformDirty? I dont know what it would be called. whatever forces it to update the position i have given it)