Links

Directional Adjacency Connections

Directional connections use the “Directional Adjacency Connector” script. Directional connectables, unlike most connectables, have a distinct front side and back side (ex. modular seats). They can be manually rotated in the editor and game due to this directional nature. Their default rotations are set to ‘north’. These directional shapes are defined below:
Modular couches
O - A variant with no connections.
Lin - An “L” type variant which, according to its design, bends inward.
Lout - An “L” type variant which, according to its design, bends outward.
I - A variant shaped like an “I” but rotated 90°, with 2 connections, 1 to the east and 1 to the west.
Uright - A variant shaped like a “U” but rotated so the only connection is to the east.
Uleft - A variant shaped like a “U” but rotated so the only connection is to the west.

Examples of Directional Connectables

Chapel Pew

Chapel Pews are the basic version of directional connectables as they do not have any corner (“L” shaped) pieces, in theory they could be added though.

Diner Booth

The Diner Booth is an example of a more typical use of a directional connectable for modular seating as they include corner (“L” shaped) pieces.

Sofa

The Sofa is very similar to the Diner Booth, but it’s also a good example of adding style variants.
Style variants are simply a variant with an alternate art style. The Sofa’s example is the addition of armrests.
The armrests by their nature are only required on the end shapes of the sofa (“Uleft” and “Uright”) and on the singular sofa shape (“O”).
Other examples of directional connectables that are not fully realized yet may include things like railings and fences...

How those directional connect to each other?

Number of neighbors

Directionals can't connect to more than two neighbors. Once they are connected, putting any new directionals near them won't update them, unless a neighbor is disconnected.
The Lout shape booth is fully connected and doesn't care about the other neighbors.

Removing a neighbor

When removing a neighbor, a connection is free, and the directional will look for other adjacent directional to form an eventual second connection and change shape.
Booth before removing a neighbor and after.

Configuration priority

When a directional has to change shape and has multiple options (LIn, LOut, I), the directional will choose shape in the following order:
  • I shape
  • Lin shape
  • Lout shape
This order is arbitrary, but it's necessary to define one as some cases are not well defined without it.
Before and after removing the south connection of the LOut shape, see that the I shape takes priority over the LIn shape.