Find the point on navmesh closest to some FVector (not on navmesh)?

Project Point to Navigation works fine.

				UNavigationSystemV1* NavSys = FNavigationSystem::GetCurrent<UNavigationSystemV1>(GetWorld());
				const FNavAgentProperties& AgentProps = Controller->GetNavAgentPropertiesRef();
				if (NavSys != nullptr)
				{
					FNavLocation ProjectedLocation;
					NavSys->ProjectPointToNavigation(Event.Location, ProjectedLocation, FVector(500.0f, 500.0f, 300.0f), &AgentProps);
					NearestMovableLocation = ProjectedLocation.Location;
				}

Note that the larger the radius you give it, the more impactful this call will be on CPU.

It’s a good idea to build your levels so that you don’t need to use this with a huge radius. 500x500x300 I would think should be more th an enough for most anything.