🔍Introduction
The Ultimate Building System is a modular framework that allows for easy customization of its default functionality. You can either use the system with its current behavior or create your own custom behavior by mixing and matching the functionalities you need.
This system is fully replicated, so users can focus on designing how the system should work without worrying about replication details.
Buildable Definition
This is a data asset where you set up all the data and functionality for the
buildable,proxy behavior, placement and destroyed visual effects and sounds.
Buildable Proxy
The
Buildable Proxyis aProxy Actorwhich acts as a temporary visualization for theBuildableitself. It contains the logic for snapping to anotherbuildable, as well as when it can and cannot be placed.
Proxy Behavior
This class functions as a "Template" for you to create different kinds of
proxy behaviorswhich can quickly be assigned to abuildable definitionreducing the time it takes to set up a new definition.
Trace Behavior
This class is meant to contain for determining where the
Buildable Proxyshould appear on a per frame basis.Here you can reuse or create new logic for how and where a proxy should be placed at.
Placement Condition
This class acts as a modular and easy way to reuse or create new logic for when a
buildablecan be placed.
Buildable
This actor is the physical representation of an object which has been placed.
Actions
Actionsare applied to abuildableupon being placed.Actionsis a modular way to reuse and create new logic for anyactionsthebuildableshould have, for example a door could have a “open/close” action to allow opening as well as a lock action-
Tag Qualifier Conditions
This allows you to create custom logic for assigning specific tags to
Buildables. For example, aPillarcould receive theStructure.Type.Foundationtag when attached to the ground. This class simplifies setting up such conditions.
Dependencies
Dependenciesdefine conditions for when aBuildableshould be destroyed based on external factors. For example, a range-basedDependencycould ensure that aceilingmust be within a certain range of afoundation. If this condition is not met, theceilingwill be destroyed.
Sockets
Socketsare objects created based on theSocket Namesetting in thedeveloper settings. Whenbuildableobjects are placed,socketsare automatically created for them, allowingproxiestosnapto thesesockets.Each socket contains:
A Tag entry that defines the type of socket.
An Outbound Connection Tag that specifies what this socket can connect to.
A Connection entry, which allows for multi-inbound connection capabilities.
Socket Connections
Socket Connections are part of a Socket, they allow for multiple buildables to be attached to the same socket with different rotational offset properties.
Post Build Events
The
Post Build Eventclass is useful foractionsthat need to occur after abuildablehas been placed. If you require a feature that isn't part of the default framework then this class provides the flexibility to implement it.
UBS_Component
This
componenthandlessocket management,snapping, andconnections. It's fully compatible with theBuildableActor included in the plugin. This is added to a character which allows enables that character to be able place buildables.
Last updated