Skip to content

Environment Data

A directory housing extensive BeatSaber Environment information

Select your environment

  1. Select your version of BeatSaber
  2. Click on the environment you are using to download the JSON file (Alphabetical)
No file downloaded yet.

Supported Components

99% of components will have a Transform component, but some may have more to help out with specific cases.

The following components will be listed with selected properties:

  • Transform
    • position
    • localPosition
    • rotation
    • localRotation
    • localScale
  • TrackLaneRingsManager
    • ringCount
    • ringPositionZStep
  • MeshFilter
    • boundCenter
    • boundSize
  • TubeBloomPrePassLight
    • colorAlphaMultiplier
    • bloomFogIntensityMultiplier
    • length
    • width
  • TubeBloomPrePassLightWithId
    • tubeLightId
  • DirectionalLightWithId
    • lightId
  • Animator
    • animatorParameters
    • animatorLayerNames
  • LightManager
    • directionalLightDirections
    • directionalLightPositions
  • DirectionalLight
    • lightIntensity
    • lightRadius
    • lightRotation
  • BakedReflectionProbe
    • probeSize
    • probePosition
  • SpriteLightWithId
    • spriteLightId
    • intensity
  • RectangleFakeGlow
    • rectangleSize
  • RectangleFakeGlowWithLightId
    • rectangleLightId
  • EnvironmentBrandingManager
    • brandingObjects
  • ParticleSystemWithLightId
    • particleLightId
    • particleLightIntensity
  • InstancedMaterialLightWithId
    • materialLightId
    • materialLightIntensity
  • MeshCollider
    • meshBoundsCenter
    • meshBoundsSize
  • CloudsMeshGenerator (1.37.1+ Only)
    • cloudsBoundSize
    • cloudsBoundCenter
  • CustomBoundingBox
    • customBoundCenter
    • customBoundSize
  • Animation
    • clipFrameRate
    • clipLength
  • SmoothStepPositionEventEffect
    • minY
    • maxY
    • stepSize
    • startPos
    • easing
  • LightGroupCircularLayouter
    • circularRadius
    • circularAngle
    • groupId
  • SmoothStepPositionGroupEventEffect
    • groupMinY
    • groupMaxY
    • groupStepSize
    • groupStartPos
    • groupEasing

The following components will be listed without any properties listed:

  • BloomFogEnvironment
  • EnvironmentSceneSetup
  • LightWithIdManager
  • Canvas
  • ParticleSystem
  • Spectrogram
  • BloomPrePassBackgroundColorsGradient
  • Mirror
  • SaberBurnMarkArea
  • TrackLaneRing
  • LightColorGroupEffectManager
  • LightRotationGroupEffectManager
  • LightGroup
  • LightGroupLinearLayouter
  • LightRotationGroup
  • ContinuousFireEffect
  • BurstFireEffect
  • LightmapLightWithIdsGroupEntry
  • FloatingTransformEffect
  • LightTranslationGroup
  • TransformSpectrogram
  • ColorArrayLightWithIds
  • LevelFailedTextOverride
  • MoveInDirectionEffect
  • TubeBloomPrePassLightCollisionEffect
  • TubeBloomPrePassLightReflectionEffect
  • MaterialLightWithId
  • BTSCharacterSpawnController
  • RigidBody
  • LightmapLightWithIds
  • ParticleSystemLightWithIds
  • GameObjectSwitchEventEffect
  • FloorLightTilesGrid
  • LightColorGroup
  • LightColorGroupParent
  • SpectrogramRow
  • VideoPlayer
  • TransformLayouter

PAQ

Lets call this one "Potentially-Asked-Questions" because this like just came public..

WHAT IS THIS?

"Environment Data" (Pending revolutionary rebranding) is a JSON file similar to chroma logs, but contains significantly more information.

Ever want the position or rotation of an object? Ever want the collider bounds of an object? You will probably love this.


Each environment here is represented as a JSON file.
It consists of:

Environment Data
: (Environment titles, colorScheme, and default fog parameters)

Object Data
: (Name, Chroma ID, and a select-list of components)


EnvironmentData Example

{
  "environmentData": {
    "environmentTitle": "The First",
    "environmentId": "DefaultEnvironment",
    "colorScheme": {
      "colorLeft": [float,float,float],
      "colorRight": [float,float,float],
      "envColorLeft": [float,float,float],
      "envColorRight": [float,float,float],
      "obstacleColor": [float,float,float],
      "envColorLeftBoost": [float,float,float],
      "envColorRightBoost": [float,float,float]
    },
    "fogParams": {
      "offset": float,
      "height": float,
      "startY": float,
      "attenuation": float
    }
  },
  "objects": [
    {
      "name": "GameObject Name",
      "id": "ChromaID",
      "components": {
        "Transform": {
          "position": [float,float,float],
          "localPosition": [float,float,float],
          "rotation": [float,float,float],
          "localRotation": [float,float,float],
          "scale": [float,float,float]
        },
        "OtherComponent": {}
      }
    }
  ]
}

In the future, there will be an API that allows you to access this data from your scripts with a fully functional, easy-to-use class interface. Is this cool? plsbecoolthistookmesolongtocreate

Which versions of BeatSaber are sampled?

The following versions are currently sampled:

  • 1.29.1 (Coming soon)
  • 1.34.2 (Legacy)
  • 1.37.1
  • 1.39.1
  • 1.40.0

Download buttons dont work?

If the download button doesn't work for you, please refer to the chroodle repository on github where the files are sourced from