======================= Features plugin offers your =======================
1. Highly performant as more than 95% of it is written in C++ rest is Blueprints as its needed for a visual element & easy user configuration.(This Includes UI as well as its logic is almost a 100% written in C++ too)
2. Uses FFastArraySerilaizer which helps in efficient & performant serialization & replication of persistent data. Also, have in general optimized the data structures for Replication & RPCs. All this amounts to the plugin being quite fast & reduced the bandwidth consumption over the network.
3. Provides persistence of Buildable Structures needed for Basebuilding & Raw materials need to complete those buildables across player logins & server restarts(or simply across player logins only if your using the plugin for a single player game).
4. Lifetime of these Buildables in the world are fully customizable.
5. The Buildables(whether they are finished or unfinished) are moveable even after being placed.
6. The finished buildables can be removed with an awesome destruction effect & the unfinsihed buildables can simply be removed once placed.
7. Lifetime of these RawMaterials in the world are fully customizable.
8. The counts of each of the RawMaterials required by the buildables as well as which all RawMaterials are required can be configured within the DataDatable for the Buildables.
9. The max counts of raw materials that can be carried by players can also be configured within the Datable for the RawMaterials.
10. Also spliting the RawMaterials present to any desired count is possible in Player & Buildable inventories both using the drop UI.
11. 2 different means to spawn & construct buildables in the world either throught buildID increment/decrement or using the RadialBuildMenu UI.
12. The opening times of the Doors & Windows is customizable.
13. The Plugin creates the save files for RawMaterials & Buildables(with the BuildSave suffix per map) & the PlayerInventory with the (PlayerInvSave suffix per map). So if you ever want to wipe away the world of all the buildables & raw materials you can delete the BuildSave file for that map & if you want to wipe the player inventory for a particular map you can delete the PlayerInvSave file.
14. Persistence via steamID using UE's OnlineSubsystem, OnlineSubsystemSteam & OnlineSubsystemUtils modules or via your own custom PlayerID implementation.