Updated: July 25, 2021.
SceneKit
Apple SceneKit framework handles 3D models for ARKit and 3D apps. SceneKit supports the following 3D assets with corresponding material files:
.dae (with or without animations)
.obj (single-frame) with its .mtl texture
.abc (only single-frame supported)
.usdz (with or without animations)
.scn (native SceneKit's scene format)
RealityKit
Apple's RealityKit framework also handles 3D models for ARKit. You can prototype a content for RealityKit in a standalone app called Reality Composer. RealityKit supports the following 3D assets:
.usdz (with or without animations)
.reality (with or without animations and dynamics) – Made for much faster loading time
.rcproject (with or without animations and dynamics)
Additionally you can use Terminal's usdzconvert command to get .usdz from the following formats:
.obj
.glTF
.fbx
.abc
.usda
.usdc
.usd
And, of course, you can use Reality Converter app (released in 2020) with simple UI.
Google Sceneform handles 3D models for ARCore SDK. Sceneform supports the following 3D assets with their material dependencies:
.obj (with its .mtl dependency)
.glTF (animations not supported)
.fbx (with or without animations)
.sfa (ascii asset definition, deprecated in Sceneform 1.16)
.sfb (binary asset definition, deprecated in Sceneform 1.16)
P.S. It's a pity but since June 2020 Sceneform has been archived and no longer maintained by Google.
SceneKit, RealityKit, Sceneform and Reality Composer support Physically Based Rendering.
ARKit and ARCore
But what's the role of ARKit and ARCore then?
These two modules don't care about importing and rendering of a 3D geometry. They only care about tracking, scene understanding (plane detection, hit-testing and raycasting, precise scene depth perception, light estimation, scene geometry reconstruction, etc).