Skip to content

Environment Data

A directory housing extensive BeatSaber Environment information

Select your environment

First, click on your desired environment from the list.
Then, download the file or view basic environment information below the list.

NOTE: 1.43.0 is the only sampled version for EnvData.

Download EnvData

View EnvData


Supported Components

Most objects will contain a Transform component.

Please note this is a full list of every single component thats included, you will not need 95% of these.

Unity

  • BoxCollider
  • CapsuleCollider
  • MeshCollider
  • SphereCollider
  • Animation
  • Animator
  • ArticulationBody
  • MeshFilter
  • MeshRenderer
  • ParticleSystem
  • RigidBody
  • SpringJoint
  • SpriteRenderer
  • Transform

Light

  • ColorArrayLightWithIds
  • DirectionalLightWithId
  • DirectionalLightWithIds
  • DirectionalLightWithLightGroupIds
  • GlobalShaderColorLightWithIds
  • InstancedMaterialLightWithId
  • LightmapLightsWithIds
  • LightmapLightWithIds
  • MaterialLightWithId
  • MaterialLightWithIds
  • ParticleSystemLightWithId
  • PointLight
  • PointLightWithIds
  • RectangleFakeGlowLightWithLightId
  • SpriteArrayLightWithId
  • SpriteLightWithId
  • TubeBloomPrePassLightWithId
  • LightManager
  • LightWithIdManager
  • DirectionalLight
  • Parametric3SliceSpriteController
  • ParametricBoxController
  • RectangleFakeGlow
  • TubeBloomPrePassLight

BloomFog

  • BloomPrePassBackgroundColorsGradientElementWithLightId
  • BloomPrePassBackgroundColorsGradientTintColorWithLightId
  • BloomPrePassBackgroundColorsGradientTintColorWithLightIds
  • BloomPrePassBackgroundLightWithId
  • BloomPrePassBackgroundColor
  • BloomPrePassBackgroundColorsGradient
  • BloomPrePassBackgroundColorsGradientFromColorSchemeColors
  • BloomPrePassBackgroundGradient
  • BloomPrePassBackgroundNonLightInstancedGroupRenderer
  • BloomPrePassBackgroundNonLightRenderer
  • BloomPrePassBackgroundNonLightRendererCore
  • BloomPrePassBackgroundParticleSystemRenderer
  • BloomPrePassBackgroundSpriteRenderer
  • BloomPrePassNonLightPass

Effects

  • FloatFxGroupEffectManager
  • LightColorGroupEffectManager
  • LightRotationGroupEffectManager
  • LightTranslationGroupEffectManager
  • TriggerFloatFxGroupEffectManager
  • TrackLaneRingsPositionStepEffectSpawner
  • TrackLaneRingsRotationEffectSpawner
  • BurstFireEffect
  • ContinuousFireEffect
  • FloatFxGroupEffect
  • HydraulicCarJumpEffect
  • HydraulicCarSuspensionEffect
  • LightColorGroupEffect
  • LightRotationGroupEffect
  • TrackLaneRingsRotationEffect
  • TriggerFloatFxGroupEffect
  • TubeBloomPrePassLightCollisionEffect
  • TubeBloomPrePassLightReflectionEffect

Event Effects

  • BackgroundTextureGradientSwitchEventEffect
  • ColliderEventEffect
  • GameObjectIntSwitchEventEffect
  • GameObjectSwitchEventEffect
  • LightPairRotationEventEffect
  • LightPairSinMoveEventEffect
  • LightSwitchEventEffect
  • LightRotationEventEffect
  • MeshRendererSwitchEventEffect
  • MovementBeatmapEventEffect
  • ParticleSystemContinuousEventEffect
  • ParticleSystemEmitEventEffect
  • ParticleSystemEventEffect
  • PhysicsPositionsMovementEventEffect
  • SmoothStepPositionEventEffect
  • SmoothStepPositionGroupEventEffect
  • TextureIntSwitchEventEffect

Groups

  • AlphaFloatFxGroupEffectTarget
  • CombineGroupIdToVector4FloatFxGroupEffectTarget
  • FloatArrayMaterialPropertyEffectTarget
  • FloatFxGroupEffectCollectionTarget
  • FloatLocalScaleEffect
  • FloatMaterialPropertyEffectTarget
  • FloatSDFPointScaleEffect
  • FloatTextureProcessor3DMappingFloatEffectTarget
  • FloatTextureProcessor3DMappingVectorEffectTarget
  • FloatTextureProcessor3DMaterialSwitchEffectTarget
  • FloatTextureProcessor3DParameterEffectTarget
  • FloatTextureProcessor3DPresetEffectTarget
  • MoveInDirectionEffect
  • Parametric3SliceSpriteWidthEndFloatFxEffectTarget
  • SpectrogramMultiplierFloatFxEffectTarget
  • StepFloatMaterialPropertyEffectTarget
  • SwitchGameObjectArrayEffectTarget
  • SwitchGameObjectEffectTarget
  • VertexDisplacementFloatFxGroupEffectTarget
  • FloatFxGroup
  • LightColorGroup
  • LightGroupCircularLayouter
  • LightRotationGroup
  • LightTranslationGroup

MaterialPropertyBlock

  • MaterialPropertyBlockColorSetter
  • MaterialPropertyBlockController
  • MaterialPropertyBlockControllerArrayRandomValueSetter
  • MaterialPropertyBlockControllerRandomValueSetter
  • MaterialPropertyBlockPositionUpdater
  • MaterialPropertyBlockRandomValueSetter

Other

  • BakedLightsNormalizer
  • BakedReflectionProbe
  • CopyPosition
  • CustomBoundingBox
  • EnableRendererWithLightId
  • EnvironmentBrandingManager
  • Mirror
  • ObjectMesh
  • SDFArrayManager
  • SDFPoint
  • Spectrogram
  • SpectrogramRowPropertyAnimator
  • TextureProcessor3D
  • TrackLaneRing
  • TrackLaneRingsManager
  • TransformSpectrogram

PAQ

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

WHAT IS THIS?

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

Have you ever wanted the position or rotation of a specific gameobject?


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

Environment Data
: (Environment titles, colorScheme, fog parameters, sizeData, lightTracks, uniqueMaterials, and uniqueMeshes)

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

(Every object also has an instanceId)


EnvironmentData Schema

{
  "environmentData": {
    "environmentTitle": "The First", // The name you see in-game
    "environmentId": "DefaultEnvironment", // The internal / json name
    "colorScheme": {
      "colorLeft": [float,float,float],
      "colorRight": [float,float,float],
      "envColorLeft": [float,float,float],
      "envColorRight": [float,float,float],
      "envColorWhite": [float,float,float],
      "obstacleColor": [float,float,float],
      "envColorLeftBoost": [float,float,float],
      "envColorRightBoost": [float,float,float],
      "envColorWhiteBoost": [float,float,float]
    },
    "fogParams": { // Default fog parameters for the environment
      "offset": float,
      "height": float,
      "startY": float,
      "attenuation": float,
      "autoExposureLimit": float,
    },
    "sizeData": { // Irrelevant
      "floorType": "",
      "ceilingType": "",
      "trackLaneType": ""
    },
    "lightTracks": { // Irrelevant
      "eventTracks": {},
      "groupPages": {}
    },
    "uniqueMaterials": [ // Every material that is found in the environment
      {
        "hash": "",
        "name": "",
        "shader": "",
        "color": [float,float,float,float],
        "enabledShaderKeywords": [string[]], // All enabled shader keywords on the material
        "shaderProperties": {} // Every shader property value specific to the material
      }
    ],
    "uniqueMeshes": [ // Every mesh that is found in the environment
      {
        "name": "",
        "hash": "",
        "boundsSize": [float,float,float],
        "boundsCenter": [float,float,float]
      }
    ]
  },
  "objects": [ // Every GameObject in the environment is listed here
    {
      "name": "GameObject Name",
      "id": "ChromaID",
      "activeSelf": bool, // If the object is active or not
      "layer": "", // The Unity object layer
      "components": {
        "Transform": {
          "position": [float,float,float],
          "localPosition": [float,float,float],
          "rotation": [float,float,float],
          "localRotation": [float,float,float],
          "scale": [float,float,float]
        },
        "OtherComponent": {}
      }
    }
  ]
}

Unfortunately, you will have to develop your own parser for the time being.
An API oroviding clean usage of this data inside of a script is still under development.


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