> For the complete documentation index, see [llms.txt](https://hiveminddocs.gitbook.io/hivemind/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hiveminddocs.gitbook.io/hivemind/code-systems/ultimate-building-system-framework-ubs/ultimate-building-system-component-ubs.md).

# Ultimate Building System Component (UBS)

The `Building System Component` manages everything related to the placement of buildables. It should be added to the player pawn to enable the ability to place buildables in the game.

<figure><img src="/files/8bw0iV0lZf7dlG9zcSLq" alt=""><figcaption><p>UBS Component's Detail Panel</p></figcaption></figure>

{% hint style="info" %}
You can change the Min Max values of the Proxy Location Offset values by simply changing the Min/Max values on the UBS Components Detail Panel.
{% endhint %}

***

## Properties

* `DebugTraceType`:\
  Determines the type of debug trace to use.
* `ProxyLocationOffset`:\
  A vector that sets the offset for the proxy location.
* MinProxyLocationOffset:\
  Defines the minimum vector offset for proxy placement.
* MaxProxyLocationOffset:\
  Defines the maximum vector offset for proxy placement.

***

## Functions

* `IsBuildModeEnabled()`:\
  Returns whether build mode is currently enabled.
* `GetClosestMatchingProxySocket()`:\
  Finds the closest matching proxy socket for a given buildable actor and socket.
* `GetProxyActor()`:\
  Returns the current `ProxyActor` being used.
* `PerformTrace()`:\
  Executes a trace and outputs the result.
* `SearchForBuildable()`:\
  Searches for a buildable object within a specific radius of a given location.
* `YawProxyBy()`:\
  Rotates the proxy by a specified yaw value.
* `PitchProxyBy()`:\
  Rotates the proxy by a specified pitch value.
* `TryEnableBuildMode()`:\
  Attempts to enable build mode with the provided buildable definition and proxy class.
* `TryDisableBuildMode()`:\
  Disables build mode.
* `TryBuild()`:\
  Attempts to build the object and optionally disables build mode on success.
* `MoveToNextConnection()`:\
  Moves the proxy to the next available connection point.
* `AddVectorOffset()`:\
  Adds an offset to the vector, with an option to ignore minimum and maximum constraints.
* `AddUpOffset()`:\
  Adds an upward offset to the proxy.
* `AddForwardOffset()`:\
  Adds a forward offset to the proxy.
* `AddRightOffset()`:\
  Adds a rightward offset to the proxy.
* `OnBuildModeStateChange()`:\
  Delegate/Event that triggers when the build mode state changes.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hiveminddocs.gitbook.io/hivemind/code-systems/ultimate-building-system-framework-ubs/ultimate-building-system-component-ubs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
