Skip to content

SkateBIRD scene scripts

UnityGameplay dataApplies toSkateBIRD

SkateBIRD’s Assembly-CSharp.dll (947 type definitions, not obfuscated) holds the game’s rules; its scenes carry them as MonoBehaviours whose field bytes have no type tree (script fields). Observed · SkateBIRD The namespaces are Skatebirb.Gameplay, Skatebirb.Managers, Skatebirb.Menus, Skatebirb.FX, Skatebirb.Camera, Skatebirb.Platforms, Skatebirb.Birbs, Skatebirb.SkateControl, Skatebirb.Timeline, Skatebirb.Animation, Skatebirb.Util, plus third-party code: Rewired, I2 Localization, DOTween, Cinemachine, TextMeshPro, ProBuilder, Odin Inspector attributes, Facepunch.Steamworks, SimpleJSON, DynamicBone and MidiJack. Observed · SkateBIRD

Every playable scene is self-contained: the player bird, the skateboard, cameras, post-processing, a dialogue manager and the mission set are in it. The playground (level12, 18 roots) has Rewired Initializer, Reflection Probes, Grass plane, Level Elements, Missions - Playground, Non-Static Level Elements, Skatebirb Dialogue Manager, Directional Light, Reset Positions, Player Birb, Cinemachine SkateCam 2.0, Skateboard For Skating, Main Camera, Skatebirb Default Postprocessing, Birb Factory and Important Stuff. Skate heaven (level13, 15 roots) has Reset Limiters, Mission - Skate Heaven, Level Contents, Core Elements and Reset Points. The rooftop adds Start Positions, Partially Static Level Elements and Unlocks; bedroom 1 adds Sticky Notes and Partially Dynamic Level Elements. Observed · SkateBIRD A Level Elements/Bounds object holds a city skyline and clouds at up to 5.7 km. Observed · SkateBIRD

All of the player’s renderers sit under the root Skateboard For Skating. Observed · SkateBIRD

A ResetPosition script marks a point the player is put back at. One flag, startingPosition, marks where the level starts (layout). The game’s ResetPosition.ResetToStart, called from ControlBoard on the first play frame, teleports to the active ResetPosition whose flag is true; with no flag set it does nothing and the serialized Player Birb placement is the spawn. Observed · SkateBIRD Each scene stores at most one starting point; flashback (level7) has none, and its Player Birb stands at (0, 1.189, 0). 134 ResetPosition scripts occur in all, in the scenes 1 to 5, 7, 12 and 13. Proven · SkateBIRD

Scene Start (x, y, z), Unity metres Yaw Confidence
level1 bedroom 1 (45.40, 16.80, 55.77) −54.82° Observed · SkateBIRD
level2 rooftop (−18.70, 1.19, 84.80) 172.93° Observed · SkateBIRD
level3 office (−34.03, 11.98, −78.36) 0.00° Observed · SkateBIRD
level4 server room (28.36, −1.00, −16.86) −58.66° Observed · SkateBIRD
level5 bedroom 2 (−26.68, 15.20, 10.05) −54.95° Observed · SkateBIRD
level7 flashback none; Player Birb at (0, 1.19, 0) 172.93° Observed · SkateBIRD
level12 playground (−59.09, 1.10, 62.76) 106.15° Observed · SkateBIRD
level13 skate heaven (30.70, 0.20, −23.60) −14.09° Observed · SkateBIRD

The yaw is atan2(forward.x, forward.z) of the object’s forward (Unity +Z), in degrees. Observed · SkateBIRD

A MissionGiver script marks a bird that gives a mission; the title is its first field. Missions live under roots named Missions - <Level> and Unlocks; the managers are MissionManager, SaveToDiskManager and SpawnPools, and the data types MissionDef, MissionGoalDef and MissionGoalTypes. Observed · SkateBIRD Root names can be stale copies: the office scene carries a root named Missions - Server Room, and the flashback scene one named Missions - TEST. Observed · SkateBIRD

What a mission shows or hides while it runs is also stored in the scene, by these script roles over a GameObject and everything beneath it:

Script Role Confidence
SkateCollectible a mission’s collectible, shown while its mission runs Observed · SkateBIRD
EnableOneAtRandom its children are candidates; the game shows one, picked at random Observed · SkateBIRD
MissionGiver a bird that gives a mission Observed · SkateBIRD
BirbDecorator a bird’s dressing (hats, accessories) Observed · SkateBIRD
PermanentUnlockingCollectible an unlock (a deck, wheels, clothes), shown until collected Observed · SkateBIRD
SkateboardGateway the player’s own board, placed in every level scene Observed · SkateBIRD
a Camera component what hangs under a scene camera moves with the view, e.g. the HUD’s mission arrow Observed · SkateBIRD

World state that missions switch (MissionToggled) is stored as the scene has it. Observed · SkateBIRD A static render of a scene shows every mission prop at once: every random candidate stacked, every giver bird, every unlock. Inferred

Skating surfaces are authored with marker objects: GrindableRail, GrindableElementProgression, RampZone, VertZone, FanZone, AreaDenialZone, BasicGapGate, GapGateZone, TrickGapGate, LippableNubbin, SkateboardGateway and TrickableElement. Observed · SkateBIRD Scenes hold generated GameObjects named Generated_Rail_Node*, Generated_Ramp_Zone* and Generated_Vert_Zone*; the rail, ramp and vert volumes come from these. Observed · SkateBIRD A rail is a chain of GrindableRail nodes (layout); level1 has 540 nodes. Observed · SkateBIRD

Minimap/Mission Marker spheres on layer 28 are visible only to the escape menu’s map camera, see layers and cameras. Proven · SkateBIRD

ReflexCLI (13 types plus ReflexCLI.UI) is compiled into the game. Observed · SkateBIRD The only command found that moves the player to a level is MissionManager.LoadLevel; there is no teleport or camera command. Observed · SkateBIRD

The playable extents of each level are 100 to 300 m across by collider bounds (colliders wider than 100 m on any axis, such as skylines and building sides, are left out): bedroom 1 is 137 × 50 × 118 m, the rooftop 175 × 97 × 179 m, the office 194 × 76 × 169 m, the server room 76 × 44 × 76 m, the playground 140 × 42 × 130 m and skate heaven 196 × 148 × 296 m. Observed · SkateBIRD