The uint32 fiddling has me puzzled too! From Github what I gathered is that the engine calls GetUniqueID() on a primitive component whenever it is added and uses this unique integer for internal management instead of dealing with the primitive component itself. So no easy way to extract the primitive component back from a collision query, you only deal in the uint32 ids it extracted earlier it seems.
Fortunately there's a simple workaround, we shouldn't have to bother with IgnoreComponents at all.
Try changing this: (DonNavigationManager.cpp - 1238)
to
Fortunately there's a simple workaround, we shouldn't have to bother with IgnoreComponents at all.
Try changing this: (DonNavigationManager.cpp - 1238)
Code:
collisionParams.IgnoreComponents = VoxelCollisionQueryParams.IgnoreComponents;
Code:
collisionParams.AddIgnoredActors(ActorsToIgnoreForCollision); // ActorsToIgnoreForCollision is the same member variable that VoxelCollisionQueryParams also uses, so this should be equivalent.
Comment