Appearance
Easy Systems RPG is a paid pack available on the marketplace.
Digging voxels
Result
How to
- Add a Position parameter to Game/EasySurvivalRPG/Blueprints/Interfaces/BPI_DiggingActor (note: this might not be needed in future ESRPG releases)

- In Game/EasySurvivalRPG/Blueprints/Characters/Base/BP_Character_Player, in the Complete Digging Server function, add the following (note: this might not be needed in future ESRPG releases)

- Make sure you have the plugin installed: https://free.voxelplugin.com
- Add a new voxel world to your scene

- Add a blueprint to that voxel world

- In the BP class settings add the BPI_DiggingActor interface

- Implement the Try to dig function in 4.26, just double click the function

- Add the following node. Make sure the radius is set to 50 (that's for a voxel size of 20 - for a larger voxel size, you'll want a larger radius)

- Go back to your level. If the voxel world is invisible, try clicking the Toggle button in the voxel world details panel.
- Set the Voxel Size to 20, the generator Color to orange and the Voxel Material to M_VoxelMaterial_Colors

- Go to your voxel world blueprint and do the same. Set the Voxel Size to 20, the generator Color to orange and the Voxel Material to M_VoxelMaterial_Colors
- Grab a shovel, and start digging!
Building on top of voxel worlds
Buy default, you won't be able to build on top of voxel worlds.
Result
How to
- Add the isLandscape tag to your voxel world and voxel world blueprint.

- Enable Simulation Generate Overlaps Events and Generate Overlaps Events

Save support
Result
Initial Voxel World setup
- Make your voxel world blueprint implement the BPI_SaveData interface:

- Add a SaveID variable to your voxel world, of type Integer:

- Implement the Set Save ID function, making sure to tick Success: in 4.26, just double click the function to implement it

- Implement Get Save ID: in 4.26, just double click the function to implement it

- Implement Init Save ID: in 4.26, just double click the function to implement it

Setting up the GameSave interface
- Open /Game/EasySurvivalRPG/Blueprints/Interfaces/BPI_GameSave
- Add a new SetVoxelSaveData_BPI function, with the following settings (SaveData has type Compressed Voxel World Save):

- Add a new GetVoxelSaveData_BPI function, with the following settings (SaveData has type Compressed Voxel World Save):

- Make sure to compile and save the interface
Setting up STR_SaveData_Level
- Open /Game/EasySurvivalRPG/Blueprints/Structures/SaveData/STR_SaveData_Level
- Add a new variable named Voxels of type Map from Integer to Voxel Compressed World Save:

Setting up the GameSave Session
- Open /Game/EasySurvivalRPG/Blueprints/Game/GameSaves/BP_GameSave_Session
- Duplicate SavedMinesData and rename it SavedVoxelsData

- Change its type to be a map of Integer -> Compressed Voxel World Save

- Open the Save Current Level Data function, and connect the Voxels pin:

- Do the following in ClearTemporaryLevelData:

- In LoadTemporaryLevelData:

Set Voxel Data
- Implement the Set Voxel Save Data BPI function: in 4.26, just double click the function to implement it

- Add the following nodes, making sure to tick Success:

Get Voxel Data
- Implement the Get Voxel Save Data BPI function: in 4.26, just double click the function to implement it

- Add the following nodes:

Finalizing the Voxel World setup
- Open your voxel world blueprint again
- Add the following nodes to Save Data BPI:

- Add the following nodes to Load Data BPI:

Wrapping up
The edits you make to your voxel world are now saved!
You will get the following errors:

These will be fixed in the next plugin release - nothing to worry about!
Falling through the world
- Open /Game/EasySurvivalRPG/Blueprints/Characters/Base/BP_Character_Player
- Add a Voxel No Clipping component

- Place it near the feet of the player (but not below!)
