Hello can i get some help with math?

What is the info you are wanting that overlap is not providing? Cause it really does sound like you want an overlap.

If the proper overlap function cannot be found, you could just sweep for a very small distance!

Below I use more variables than really necessary to make the Vector math equation clear.



//Just move 0.01 in random direction, you really just want a point test (overlap) though. 
//Make smaller than 0.01 if required for accuracy or game scale.
FVector **Distance** = 0.01;
FVector **Dir** = FMath::VRand(); 

FVector **Start** = BoxLocationWithOffset;  //renamed for clarity of calculating End

FVector End = Start + Dir * Distance;


Have you looked in World.h for an overlap function that returns the info you want?

Is your issue that you need the Hit Normals?

Here’s the definition of the OverlapResult that the Overlap multi is returning



/** Structure containing information about one hit of an overlap test */
USTRUCT()
struct ENGINE_API FOverlapResult
{
	GENERATED_USTRUCT_BODY()

	/** Actor that the check hit. */
	UPROPERTY()
	TWeakObjectPtr<class AActor> Actor;

	/** PrimitiveComponent that the check hit. */
	UPROPERTY()
	TWeakObjectPtr<class UPrimitiveComponent> Component;

	/** This is the index of the overlapping item. 
		For DestructibleComponents, this is the ChunkInfo index. 
		For SkeletalMeshComponents this is the Body index or INDEX_NONE for single body */
	int32 ItemIndex;

	/** Utility to return the Actor that owns the Component that was hit */
	AActor* GetActor() const;

	/** Utility to return the Component that was hit */
	UPrimitiveComponent* GetComponent() const;

	/** Indicates if this hit was requesting a block - if false, was requesting a touch instead */
	UPROPERTY()
	uint32 bBlockingHit:1;

	FOverlapResult()
	{
		FMemory::Memzero(this, sizeof(FOverlapResult));
	}
};



Rama