Skip to content

Troubleshooting

Placement is red

Click while the preview is red to emit detailed diagnostics. Common results:

Reason Meaning Resolution
FootprintCellMissing One or more footprint cells have no floor Build every required floor cell
EnclosedRoomRequired A room-only object is outside a detected room Seal the region and verify every footprint cell belongs to it
CellOccupied A blocking object already occupies a cell Move the object or select another location
InternalBoundaryConflict A wall crosses a multi-cell footprint Remove/reposition the wall or object
ExistingBoundaryRequired A wall attachment has no wall edge Place the supporting wall first
InvalidPrefab Required grid component is missing Compare the prefab with a supplied wrapper

A sealed room is not detected

Check:

  1. every intended coordinate has a StationGridCell;
  2. floor and logical ceiling flags are enabled;
  3. every exterior edge has a Wall, closed Door, or closed Airlock;
  4. no duplicate cells occupy the same coordinate;
  5. no duplicate boundaries occupy the same shared edge;
  6. Rebuild Detected Rooms reports the expected room cells.

An opening anywhere in one connected region prevents the whole region from becoming a room.

The room type stays Generic

  • Select each placeable and verify its StationPlaceable.Definition.
  • Inspect the StationObjectDefinition.Room Tags contributions.
  • Verify the RoomTypeDefinition.Required Tags thresholds.
  • Add the room type to StationRoomGrid.Available Room Types.
  • Check whether a higher-priority candidate wins instead.

Bed cannot be placed in a visible room

Use the placement log. If floor cells report room=false while the room list contains those coordinates, verify the room was rebuilt after the final boundary and confirm the selected footprint coordinates are the same story and region.

Life Support says Operational without a worker

The supplied Oxygen Generator needs WorkerRequirement and a Work interaction slot. Recreate or compare the device wrapper if those components are missing. A powered but unstaffed room should report Understaffed; an unpowered device should report Unpowered.

Vent does not transfer oxygen

Check:

  • the vent is a WallAttachment, not a replacement boundary;
  • it is on the shared edge of two different detected rooms;
  • both rooms are enclosed;
  • AtmosphereVent.VentEnabled is true;
  • the device has power;
  • StationAtmosphereNetwork exists under the station simulation hierarchy;
  • the room inspector reports a connected and active vent.

A vent cannot connect a room to itself and does not create a room where none exists.

Worker cannot reach a work slot

The Console reports start and target coordinates with floor availability.

  • Both cells must exist on the same story.
  • A continuous floor-cell route must connect them.
  • Any boundary crossed by the route must be a Door or Airlock, not Wall.
  • Move an interaction slot back inside the target room if its authored pose is outside.

The pathfinder tries to avoid furniture first, then uses a connected floor fallback for compact furnished rooms. It never falls back through a wall.

Worker walks through a closed door visual

Door and Airlock boundaries are currently implicit worker portals. Room sealing uses the portal state, while worker travel treats the portal location as usable. Add a project-specific door interaction/animation before traversal when visual opening is required.

Worker floats above the floor

Workers are projected to the current story floor when they spawn or leave an interaction pose. If the root is correct but the mesh still floats, open the worker prefab and lower the model child under Visual Root. That corrects a model-pivot offset without changing gameplay coordinates.

Walking does not loop

Loop settings belong to the animation FBX, not the Animator state. Select the current Walk clip's FBX, enable Loop Time and Loop Pose, then Apply. Confirm the Walk state actually references that clip.

Copied Avatar reports Hips not found

Set the animation FBX to Humanoid > Create From This Model. Do not copy a target Avatar when transform names or hierarchy differ. See Character Animation Setup.

Construction menu appears twice

Use only one menu instance. The clean demo builder instantiates ConstructionMenu.prefab under its generated Canvas. Remove a manually added duplicate or avoid running a custom scene bootstrap that creates another copy.

Existing ConstructionMenu hierarchy is unsupported

An older generated menu may not match the current builder layout. Preserve custom styling if needed, remove or rename the unsupported prefab, and run Create Construction UI Prefab to generate the current hierarchy.

MaterialPropertyBlock constructor exception

Unity objects such as MaterialPropertyBlock must not be created in a MonoBehaviour field initializer or constructor. The package initializes runtime-only Unity objects from lifecycle/configuration code. If extending the ghost renderer, follow the same rule.

Save does not restore live simulation values

Version 1 intentionally saves construction only. It reconstructs rooms and crew after load; it does not persist live oxygen, pressure, fatigue, assignments, durability, or other simulation state.