Configuring Sockets

Begin by adding your building to the DT_Buildings DataTable

Add a new socket to the CompatibleSocketNames array, here you determine what sockets that this building component can be placed on, in this example, Door is our compatible socket name, every building that has the socket “Door” we will be able to snap our new building to.

Inside /BuildingSystem/Meshes, open up any mesh that require a “Door” (can be anything), in this example, we’ll use “SM_Simple_Cottage

Once the Static Mesh Editor is open, in the lower right corner you’ll find the Sockets editor

Create a new socket and name it “Door

 

In the “Preview Static Mesh” selector, pick the “SM_Simple_Door” mesh as a preview mesh so that we can position it correctly

 

Use the preview window to move the door into the correct position

You can do this for anything you want to “snap” onto a building

Done!

Simple Building System 1.2 Update

Version 1.2 is now available on the UE4 Marketplace!

  • Added a Health system to finished buildings, use Q to apply damage to a finished building
  • Added a damage system
  • Added destruction system to buildings
  • Added socket placement for buildings
  • Added visual sockets for placement locations
  • Major changes in the C-Foliage component, a lot of improvements

Configuring Sockets

You can get the building system here: https://www.unrealengine.com/marketplace/simple-building-system

Simple Building System Sockets

The socket system is an easy way to determine the location of a new building that you want to place in the world.

There is a new array in the DT_Buildings DataTable that allows you to specify what sockets that this building is compatible with, for example: The door building is compatible with a Door socket

Visual Sockets

You have the option to toggle the creation of visible placement sockets in the world (DT_Buildings)

Farming System 1.1 Update

The Farming System 1.1 Update contains a lot of fixes and improvements

Max Harvesting Distance

Making the player unable to harvest and water plants when exceeding the set range.

Removed several blueprint interface functions
Replaced with a single Struct instead (PlantState)

Cleaned up a lot of the variables and functions in the BP_FarmActor
Replaced with PlantState Struct instead

Close Plant Selection Widget

This option will close The Plant Selection Widget when you’ve planted a new seed.

Farm Actor To Spawn

You can now choose which farm actor to spawn (2 versions are available, the one placed on the ground, and one with legs)

Alot of other fixes and improvements as well.

Farming System + MSGT (Multiplayer Survival Game Template)

HOW TO INTEGRATE THE FARMING SYSTEM WITH THE MULTIPLAYER SURVIVAL GAME TEMPALTE (MSGT)

  • Begin by Migrating the Farming System to your MSGT installation

  • Add the FarmingSystem component to the MSGT’s SurvivalController

  • Copy the Events from the BP_PlayerController (inside the FarmingSystem folder) to your SurvivalController, EXCEPT the last event (Input: E), we’ll add this to the MSGT’s own interaction system.

  • Inside the SurvivalController, open the “GetActionType” function, modify it as such:

  • Open the C-FarmingSystem component (Inside /FarmingSystem), below is an example to get the reward when harvesting a plant

  • The reward when harvesting a plant is simply a “Row Name” that you define in your own DT_SGT_ITEMS DataTable, whatever you type into Rewards (on the right screen) is what you will get when harvesting a plant.

That’s it!