# Remember levels across travel

> A level the player leaves by travel is kept as it was, so on return its chests stay open and its enemies stay dead, without a save.

Product: Rolly Save 1.0.0 | Sheet: guide | Updated: 2026-10-31 | HTML: https://rolly-docs.pages.dev/save/guides/remember-levels/

## What is kept

When the player leaves a map by **Open Level**, a server travel or seamless travel, Rolly Save keeps what a save would hold of it: its actors' saved state, the placed actors destroyed in play and the Level Blueprint's variables. No file is written. When travel opens that map again, the kept state is set before the map's Begin Play, as a load with Open Saved Map sets it:

- placed actors destroyed there stay destroyed: in a standalone game they run no Begin Play, and on a listen or dedicated server a replicated one runs Begin Play, End Play and Event Destroyed once before it goes, so clients see it go (see [Keep destroyed actors destroyed](https://rolly-docs.pages.dev/save/guides/save-actors/#keep-destroyed-actors-destroyed));
- spawned actors that save come back with their values;
- On Rolly Save Loaded and the Rolly Save components' On Loaded run, and Was Restored by Load is true.

Opening the map the player is in again, as a restart does, also brings it back as the player left it. Every save holds every kept level, and a load replaces the kept levels with those its save holds.

The map's streaming levels, level instances and World Partition cells are kept with it: those visible as the player leaves, and those that unloaded before, as they unloaded. Each streams in again as the player left it (see [Save streamed levels and World Partition worlds](https://rolly-docs.pages.dev/save/guides/streaming-and-world-partition/)).

Leaving runs On Pre Save and On Rolly Save Pre Save, so state copied into variables there is kept; On Saved and On Rolly Save Saved do not run, since nothing is written. The player's pawn is not kept with the level: the Game Mode places it in each map (see [Save the player](https://rolly-docs.pages.dev/save/guides/save-player/)).

## Reset levels

| To | Call |
|---|---|
| Reset one level, such as a dungeon, on its next visit | **Forget Level** with that level. Called for the level the player is in, it takes effect once they leave, so a save made before then still holds the level; called in that level's Begin Play, the level starts as designed on every visit |
| Reset the world and keep progress, as New Game+ does | **Forget All Levels**: forgets every level, the current one as the player leaves it, and keeps registered objects' and the game instance's saved values |
| Start a new game | **Clear Loaded Game**: forgets every level as Forget All Levels does, and everything else the last load or save held |
| Never keep levels | Untick Project Settings > Plugins > Rolly Save > Levels > **Remember Levels**. Travel then opens every level as designed, also one the last save holds; a load still opens its own level as saved |

Forget Level and Forget All Levels do nothing on a client or while a load runs.

## Seamless travel

Actors seamless travel carries into the next map, such as those the Game Mode's Get Seamless Travel Actor List names, are not kept with the level they left, so a return does not make a second copy. A spawned actor carried so keeps its save ID in the next map.

## Limits

- A load's own travel keeps nothing of the map it leaves: the save is what counts.
- Each kept level stays in memory and in every save, so a game with many maps grows its saves with each map visited. Forget levels the player cannot return to, or untick Remember Levels.
- Only the server or a standalone game keeps levels; clients see the result through replication.
- The assets a kept level names, such as the classes of its spawned actors and the data assets its variables point at, start loading when travel names the map. A return by seamless travel, which does not wait for loading, waits for those that are still loading as the map's actors initialize, so a level whose kept state names many assets the map does not load itself can take a moment longer to open.
