Hoping someone can fill in gap in my knowledge as this has me stumped. I am developing a game with a simple inventory (3 inventory slots in which you can place items which the user can pick up - think a bit like the dizzy games). The items are BP Actors and have some instance variables (like a string for name to show to the screen or to identify the colour of the pickup). For my inventory I used an array of the parent BP_pickup actor I created.
To get this working I intended to use a collision box and a keyboard input to put the overlapped actor into one of the 3 free array slots, show the name to the screen in the HUD (this is persistently there) and then destroy the original actor from the level, then later I could place it back down again by spawning in a new copy and copying the variable data across…or so I thought. However, when I destroy the original, it also (eventually) destroys the one in the array as well, I assumed it would clone it, but alas no…
Originally I used an array of Actor Class references and that worked perfectly, but soon realized that when I dropped(spawned) the object back down I had no instance data to put there with it.
The only other thought I had was to teleport it an insane distance away rather than destroy it, but surely there is a better solution?