I hope there is a simple solution, but I just can't seem to find it.
Problem: I want to create a large map of several rooms and hallways, utilizing level streaming per room. I intend to have doors be either locked or unlocked, as you progress, stored in the "bp_DoorActor" as a simple boolean variable ("locked" = true). Obviously this doesn't work as simply as changing the values, because the moment a door actor is unloaded and reloaded, it would return to it's default values. E.g. the door is initially locked, the player finds a key, unlocks the door, travels down a hallway (unloading the door), then returns to find the door is once again at it's default value- locked = true.
One possible solution I have thought of would be to put all of the doors into the persistent level, but I would assume there is a more elegant solution. It seems like a problem that many games, from rpgs to almost anything with open world exploration has already tackled, but for the life of me I cannot come up with a means for doing this.
Perhaps storing them in an array in the game instance, and calling their values through their indexes?
Any help would be great.
Problem: I want to create a large map of several rooms and hallways, utilizing level streaming per room. I intend to have doors be either locked or unlocked, as you progress, stored in the "bp_DoorActor" as a simple boolean variable ("locked" = true). Obviously this doesn't work as simply as changing the values, because the moment a door actor is unloaded and reloaded, it would return to it's default values. E.g. the door is initially locked, the player finds a key, unlocks the door, travels down a hallway (unloading the door), then returns to find the door is once again at it's default value- locked = true.
One possible solution I have thought of would be to put all of the doors into the persistent level, but I would assume there is a more elegant solution. It seems like a problem that many games, from rpgs to almost anything with open world exploration has already tackled, but for the life of me I cannot come up with a means for doing this.
Perhaps storing them in an array in the game instance, and calling their values through their indexes?
Any help would be great.
Comment