Adding new resources to the Foliage System

THIS GUIDE IS FOR THE OLD 1.0 VERSION, IF YOU ARE USING THE FOLIAGE SYSTEM 1.2 THEN USE THIS GUIDE:

Adding new resources to the Foliage System 1.2

 

 

 

 

 

Create a Child Blueprint Class of the BP_MasterResource

Open DT_Resources Data Table and add a New Row, set “ResourceToSpawn” to your new Child Blueprint Class that you just created.

Inside DT_Resources, make sure you set ResourceMesh to EXACTLY the same as your foliage mesh.

Open up your Child Blueprint Class, change it’s FoliageSettings to “MyNewTree”.

IMPORTANT! When painting your terrain with foliage, MAKE SURE that you set the foliage to Block All.

And that’s it!

Integrating the Foliage System with the Survival Template (MSGT)

Begin by migrating the FoliageSystem to your MSGT Content folder

 

 

Add the C-Foliage component to your SurvivalController

 

 

SurvivalController > GetActionType() function

 

 

Copy all the Events and variables from GS_FoliageGameState Blueprint
Paste them into the SurvivalGameState Blueprint.

 

 

You'll also have to re-create the 2 missing
functions inside the SurvivalGameState

 

 

Open the Str_Resources struct file inside /FoliageSystem
change the RewardWhenHarvested struct type to "Str_SGT_Inventory_Entry"

 

 

Change the Struct type inside BPI_Foliage, see image below.

 

 

Open the BP_MasterResource Blueprint, re-connect the
missing link inside GetRewardFromFoliageActor() function.

 

 

Replace the old Blueprint nodes with the 
ones you see below inside C-Foliage Component

 

 

 

Open the function ReplaceInstanceWithActor inside C-Foliage Component
replace GS_FoliageGameState with SurvivalGameState.

 

 

Edit DT_Resources, change the Reward settings to whatever you
 want this Tree to reward the player with.

 

 

Make sure the ResourceMesh is EXACTLY the same as
the Mesh you are "planting" with your Foliage Placement tool.

 

 

SurvivalController > BeginPlay, it should look like this: