Endplay is called on Actors and Actor Components for various reasons.
App Exit/Quit
It all starts from UEngine::PreExit, then (we are talking about the world UGameEngine here) it will iterator all worlds inside WorldList, and call various “end” functions.
In order of execution, for each world:
- World
BeginTearingDown ShutdownWorldNetDriverFlushLevelStreamingRouteEndPlayon all actors- Game Instance
Shutdown CleanupWorld