After loading a player’s inventory with the Save Point device, players are unable to build if they have Simple Build enabled.
Please select what you are reporting on:
Unreal Editor for Fortnite
What Type of Bug are you experiencing?
Stability
Steps to Reproduce
Enable Simple Build in your personal settings
Place down a Save Point device, with Save Loadout ON. (for best repro, auto-load off)
Place a button or trigger to load the Save Point device.
Start game, and load the Save Point.
Expected Result
Players with Simple Build enabled can build.
Observed Result
Players with Simple Build enabled can no longer build.
Platform(s)
All
Island Code
6155-1398-4059
Additional Notes
This can also be observed in 1V1 WITH EVERY GUN (6155-1398-4059) when the Save Point is activated by: initial spawn, eliminating an enemy, or entering the rift in the arena.
Hello all, I’ve investigated the cause of this issue using verse scene graph custom items & inventory experimental support to dump the player inventory state.
We know the issue occurs on calling Load() on a save point device (it does not matter if there is any existing save). After loading the save and overwriting the player’s inventory, they can no longer build when using Simple Build.
Dumping the player’s inventory state when they have Simple Build disabled vs enabled, we can see they have proxy items to represent the target build to place.
For “Regular Build” they have BuildingItemData_Wall, BuildingItemData_Floor, BuildingItemData_Stair_W and BuildingItemData_RoofS. For Simple Build they have BID_SimpleBuild_AltBox2 and BID_SimpleBuild_AltWall.
After calling Load() on a save point device, “Regular Build” players will retain all proxy items listed above, *but Simple Build players will have BID_SimpleBuild_AltBox2 and BID_SimpleBuild_AltWallremoved from their inventory.
I assume the current bug behavior is due to save point device not properly restoring these Simple Build proxy items.
Thank you for your attention to this matter.
See attached diffs of inventory states, before and after calling save device Load()