# Block saving during a fight

> Stop the player from saving while saving would let them cheat or break the game, such as during a boss fight or a cutscene, and let the game know when saving...

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

## Add and remove a block

1. In the boss's Begin Play, or when the fight starts, call **Add Save Block** with **Reason** `BossFight`. Object is Self when left unconnected.
2. When the fight ends, call **Remove Save Block** with the same Reason. Reason None removes every block of that object.

While any block is on, **Save Game to Rolly Slot**, **Rolly Quick Save**, the quick save key, part saves, memory saves and rewind points fail with Blocked and save nothing. Loads, copies and deletes go ahead.

- An actor's blocks go at its End Play, so a boss destroyed or a level unloaded never leaves saving blocked. Another object's blocks go when garbage collection removes it.
- Adding a block that is on already changes nothing. Several objects, or one object with several reasons, block until each is removed.
- Add Save Block without an object or a reason, or with an object being destroyed, returns false with a setup message. On a client it returns false and blocks nothing: the server saves.

## Show that saving is blocked

**Is Save Blocked** is true while a block is on, such as to grey out a Save button; **Reasons** lists each block as `<object>: <reason>` for your logs. On a node's Failure with Status Blocked, **Get Save Status Text** gives "You cannot save right now."

## From C++

```cpp
Save->AddSaveBlock(this, TEXT("BossFight"));
Save->RemoveSaveBlock(this, TEXT("BossFight"));
TArray<FString> Reasons;
const bool bBlocked = Save->IsSaveBlocked(Reasons);
```
