You can use async trace using following APIs : AsyncLineTrace, AsyncSweep, AsyncOverlap When you use those APIs, it will be saved toAsyncTraceDataFWorldAsyncTraceStatecontains two buffers to rotate each frame as you might need the result in the next frame However, if you do not get the result by next frame, the result will be discarded. Use Delegate if you would like to get the result right away when available.