What you doing is actually pure memory leak, you dynamicly creating structure then copy it to staticly declered struct (non-pointer) and and right away throw away what you allocated. Statically declared objects and structs varables don’t need initiation, they are ready to go right away when you declere them, so you don’t need use “new” as all, just set varables in struct that you want or call constructor without “new” FHitResult(ForceInit), same as you do with FVector(X,Y,Z), compiler simply gonna execute constructor on static varable