Environment Data
A directory housing extensive BeatSaber Environment information
Select your environment
- Select your version of BeatSaber
- Click on the environment you are using to download the JSON file (Alphabetical)
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