> 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-gathering-system-ugs/quickstart.md).

# Quickstart

To get started with using the Ultimate Building System we'll need to set up a few settings.

## <mark style="color:blue;">Creating Gathering Settings</mark>

First we want to create a new Resource Gathering Rates Data Asset. To do so, right click in the content browser head to miscellaneous and then click the Data Asset button.

<figure><img src="/files/cHoBhdVlRxCLHVZ175yo" alt=""><figcaption></figcaption></figure>

This will present you with a new window with a bunch of options. Search for `PDA_ResourceGahteringRateSettings`, click on it and then click the select button.

<figure><img src="/files/n3fvPuh1KNJUbh2SB85N" alt=""><figcaption></figcaption></figure>

You should now have a new asset created, name it whatever you want, for demonstration purposes I'll be naming it DA\_MyRateSettings.

Next you need to open the Settings Data Asset which you've just created, and then you need to add a few tags.

We'll start by filling in the Default Values.

<figure><img src="/files/TIH3tZ6bk5wLl3cpAeDg" alt=""><figcaption><p>Example of Default Values</p></figcaption></figure>

This is required for the system to know about what an item is, and what a resource is when defined through tags.

Now we need to fill in the Base Rates.

<figure><img src="/files/HdQWtulN9E7KLZSnn20X" alt=""><figcaption><p>Example of Base Resource Rates.</p></figcaption></figure>

The Base Resource Rates allows us to set a base value for how rate calculation is handled. We'll be covering more on gathering rates later in on this page.

The system uses a Resource Type Tag to determine gathering rates for specific tools. Example Resource Type: Ore Pickaxe Tool Rate: 1.2 Calculation: Base rate (0.8) × Tool Rate (1.2) = Final Rate: 0.96 Axe Tool Rate: 0.4 Calculation: Base rate (0.8) × Tool Rate (0.4) = Final Rate: 0.32 In this example, using a pickaxe results in a higher gathering rate (0.96) compared to using an axe (0.32) for the ore resource type.

We can now set up the Item Gathering Rate Modifiers.

<figure><img src="/files/iXqRGTo3DcJbdHigX8YT" alt=""><figcaption><p>Example of Item Gathering Rate Modifiers</p></figcaption></figure>

The system uses a **Resource Type Tag** to determine gathering rates for specific tools. If we have the resource rate calculation type set to multiply then we'll end up with the results in the example below.

#### <mark style="color:blue;">Example</mark>

* <mark style="color:yellow;">**Resource Type**</mark>**:** Ore
* <mark style="color:yellow;">**Pickaxe Tool Rate**</mark>**:** 1.2
  * <mark style="color:yellow;">**Calculation**</mark>**:**\
    Base Rate (0.8) × Tool Rate (1.2) = **Final Rate: 0.96**
* <mark style="color:yellow;">**Axe Tool Rate**</mark>**:** 0.4
  * <mark style="color:yellow;">**Calculation**</mark>**:**\
    Base Rate (0.8) × Tool Rate (0.4) = **Final Rate: 0.32**

Using a pickaxe results in a higher gathering rate (**0.96**) compared to using an axe (**0.32**) for the ore resource type.

## <mark style="color:blue;">Setting up the Resource Node Blueprint</mark>

Now that we've set up the setting we'll want to create a new Resource Node Blueprint.\
Right Click in the Content Browser and Select the Blueprint Class button

<figure><img src="/files/SHn6eBLhG748IakjUDex" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Note: It is strongly advised to use this class we're creating as your base for all future resource nodes, ensuring that the settings we've created earlier become the standard.
{% endhint %}

Then search for `Resource Node`, for the purpose of this example I'll be using the `BP_UGS_ResourceNode_HarvestCount` for this. This class allows us to easily create a resource node which will be depleted after it has been harvested within a certain amount of times. You can name this whatever suits your needs.

Next open up the newly created blueprint and make sure the Class Defaults is selected, and then set the Gathering Settings to the Settings we created earlier.

<figure><img src="/files/h3JlbgovdRPQzzkyMFMi" alt=""><figcaption></figcaption></figure>

I am leaving Min Harvest Count, Max Harvest Count, and Gathering Rate Calculation Type at their default values, but you can change these and play around with them if you want to do so.\
Under `Lootable Items` I am adding the `DA_Ore_Def` to the list of items I want to be looted by the player when the player successfully harvest this resource node.

## <mark style="color:blue;">Harvesting a Resource Node</mark>

To set up your character to harvest a resource node, we simply need to utilize the Try Gather interface function.

<figure><img src="/files/4bCrXuG9QGnSK7qegkDp" alt=""><figcaption><p>Example of how to gather resources from a resource node from a character class</p></figcaption></figure>

Simply send a trace out to hit a resource node, and then use the Try Gather function.\
The Gatherer tags are used for determining if a tool can harvest a specific node as well as being used for calculating the gathering rates.

{% hint style="warning" %}
Note: The blueprint code above is not meant for replication - Take a look in the `BP_UGS_Character` class to see how you can make your character have gathering replication working in tandem with using the Animation Replication Component
{% endhint %}


---

# 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-gathering-system-ugs/quickstart.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.
