Skip to main content

Splat File Formats

PlayCanvas supports four formats for 3D Gaussian Splat data:

PLY Format - Source & Interchange

The industry standard for Gaussian splat data. Uncompressed, full precision, and universally compatible.

  • Use for: Training, editing, archival storage
  • File size: Large (anything up to several GB)
  • Quality: Lossless

SOG Format - Runtime & Delivery

Compressed format optimized for web delivery. 15-20× smaller than PLY with lossy compression.

  • Use for: Web apps, real-time rendering, CDN delivery
  • File size: Small (compressed)
  • Quality: Visually optimized

Streamed SOG Format - Large-Scene Streaming

SOG chunks organized into a spatial tree with multiple levels of detail. Viewers stream in only the chunks and detail levels needed for the current camera.

  • Use for: Very large scenes (tens of millions of Gaussians), progressive loading
  • File size: Small per chunk, loaded on demand
  • Quality: Visually optimized, view-dependent detail

GLB Format - Standards-Based Interchange

Binary glTF with the Khronos KHR_gaussian_splatting extension. Splats travel through standard glTF pipelines and can be combined with regular mesh content.

  • Use for: Interoperability, standard glTF tooling and pipelines
  • File size: Large (uncompressed, similar to PLY)
  • Quality: Lossless

Quick Comparison

PLYSOGStreamed SOGGLB
SizeLargeSmall (15-20× compression)Small (SOG chunks, loaded on demand)Large
QualityLosslessLossyLossy, view-dependent detailLossless
UseSource/editingRuntime/deliveryVery large scenesglTF interchange
SpeedSlow loadingFast loadingProgressive streamingFast loading

Workflow

  1. Train and edit with PLY
  2. Convert to SOG for production using SplatTransform
  3. For very large scenes, convert to Streamed SOG instead
  4. Use GLB when splats need to flow through standard glTF pipelines
  5. Deploy for optimal performance