Time Crystal Settings

Time Machine Configuration

RememberMe Settings – TimeMachine Save Configuration

Crystal Save exposes all TimeMachine persistence options inside the Crystal Save Settings window. Open it from Tools → Crystal Save → Settings → Crystal Save Settings; the window surfaces the underlying SaveSettings asset so you can version control every change. The sections below explain what each field controls, how the shipped presets behave, and when you should keep (or avoid disabling) specific features.

Persisting recorded history

TimeMachine Max Save Duration

  • What it does: Caps how many seconds of timeline snapshots are serialized when you save. A value of 0 disables persistence entirely, while -1 keeps the full recording, which can balloon file sizes.

  • Enable/high values when: You need long-form replays, want to rewind far into the past, or rely on time-travel mechanics that inspect earlier decisions.

  • Reduce/disable when: Storage or upload budgets are tight (e.g., cloud saves, consoles) or you only need the most recent moments. Even then, avoid disabling persistence (0) if any gameplay system expects rewind-on-load—doing so means the timeline always restarts empty.

TimeMachine Max Memory Budget (MB)

  • What it does: Sets a global memory ceiling for all snapshots kept in RAM. Hitting the limit automatically prunes the oldest data; 0 means “no limit,” which risks runaway memory growth.

  • Raise when: You run complex simulations, track many objects, or require uninterrupted ghost histories.

  • Lower when: Shipping to mobile/VR or other constrained platforms. Do not disable the safety net (0) unless you have a custom memory watchdog.

Recording defaults per object

These defaults apply to every SaveableComponent unless you override them in component settings.

Record Using Interval

  • What it does: When enabled the TimeMachine samples at fixed intervals instead of every frame. This throttles snapshot creation and keeps file sizes predictable.

  • Leave enabled when: Most scenes tolerate 0.1s granularity (default) and you value smaller saves.

  • Turn off when: You need frame-perfect inputs (e.g., rhythm or precision combat). If you disable it, make sure the memory budget above can accommodate the extra snapshots.

Snapshot Interval (Seconds)

  • What it does: Interval spacing for the throttle above; lower values capture more detail, higher values reduce noise.

  • Decrease when: Recording fast-moving actors, short combos, or bullets.

  • Increase when: You only need coarse story beats. Never pair a very large interval with aggressive pruning if designers expect smooth replays. Even at 0.1s or higher, playback will interpolate between samples, so you won’t end up with a stop-motion ghost unless you also disable interpolation in your ghost animation settings.

Max Snapshots per GameObject

  • What it does: Limits how many snapshots any single object can retain before the oldest are dropped.【F:Assets/Plugins/CrystalSave/Runtime/ScriptableObjects/SaveSettings.cs†L358-L360】

  • Raise when: Objects have long lifespans or high-frequency recording.

  • Lower when: You have thousands of tracked actors. Avoid setting values so low that rewinds skip meaningful states.

TimeMachine Configuration Preset

The preset picker bundles resume, branching, and ghost mode policies. Selecting a preset applies its configuration automatically; switching back to Custom lets you fine-tune the advanced fields below.

Preset
Best for
Key behaviors
Example games & genres
When to pick something else

🏎️ Ghost Racing

Time-trial ghosts, racing games

Auto-branches endlessly, accumulative history, ghost mode on, continuous timeline.

Arcade racers that lean on ghost rivals such as Trackmania or Hot Wheels Unleashed, plus simcade lap-attack modes.

Skip if memory is scarce or simultaneous record+playback would overwhelm gameplay.

🎮 Speedrunning

Leaderboards, comparing PB vs. current run

Unlimited branches, clean (per-run) copies, ghost mode on.

Community challenge hubs like Celeste, Neon White, or roguelites with seeded dailies.

Use Puzzle Solver if you need attempts to accumulate context, or Linear Replay if you only track the last run.

🧩 Puzzle Solver

Iterating on logic puzzles

Unlimited branches, accumulative copies, ghost mode on; ideal when past attempts inform the solution.

Circuit puzzles, contraption builders, or Sokoban-like games where designers expect players to “rewind to reason,” e.g., The Talos Principle puzzle rooms.

Choose Experimental Divergence if every branch must start clean to save memory.

Time Travel

Two-timeline stories, paradox management

Auto-branch with max two branches, ghost mode on, clean copies for tidy paradox resolution.

Narrative adventures juggling one “prime” and one “alternate” timeline such as Life Is Strange rewind sequences or Oxenfree-style dialogue webs.

Switch to Branching Story when you need more than one alternate future.

🌿 Branching Story

Narrative adventures with many choices

Unlimited branches, accumulative history, ghost mode off to avoid conflicting simultaneous realities.

Choice-driven RPGs or interactive fiction akin to Detroit: Become Human, Disco Elysium, or Telltale adventures.

Pick Story Archaeology if players must inspect entire decision trees while paused.

📹 Linear Replay

Simple record → playback loops

Overwrite resume, single branch, ghost mode off—minimal overhead.

Cutscene capture, stunt replays in titles like Tony Hawk's Pro Skater or Skate, sports highlight reels.

Not suited for branching choices; use Loop Debugger for developer-centric loops.

🎓 Training Mode

Follow-the-expert tutorials

Unlimited branches, clean copies, ghost mode on so players can practice alongside the reference.

Fighting-game dojo lessons (think Street Fighter VI combo trials), rhythm-game tutorials, driving schools.

Swap to Combo Training if you need accumulative ghosts to visualize all attempts at once.

🔄 Loop Debugger

Rapid developer iteration, roguelike loops

Overwrite resume and branch, ghost mode off; keeps only latest loop for clarity.

Internal dev builds, roguelike prototyping loops similar to Hades room tests or Returnal cycle tuning.

Avoid for player-facing branching because overwrites discard alternate runs.

🧪 Experimental Divergence

Memory-conscious experimentation

Unlimited branches, empty copies (no inherited history), ghost mode off to minimize overhead.

Systems-heavy sandboxes or science games (e.g., Kerbal Space Program-style experiments) where each branch tests a new configuration.

Use Puzzle Solver if players need to review the path that led to each branch.

🎯 Combo Training

Fighting-game or rhythm drills

Unlimited branches, accumulative copies, ghost mode on; lets users watch every prior attempt.

Arcade fighters that show layered ghosts like Guilty Gear Strive, precision rhythm trainers, or character-action practice arenas.

Stick with Training Mode when multiple ghosts would distract the player.

📚 Story Archaeology

Detective stories, timeline explorers

Unlimited branches, accumulative history, resume-from-end to inspect before extending, ghost mode off.

Forensic adventures where players replay scenes—Disco Elysium tribunal reconstructions or Outer Wilds log reviews—before advancing.

Prefer Branching Story if you never need to “play back” while paused for investigation.

⚙️ Custom

Full manual control

Leaves your advanced settings untouched; nothing is applied automatically.

Hybrid designs that mix elements of the above presets, such as sandbox RPG editors or internal toolchains.

Use only when you understand the advanced options below or need a hybrid configuration.

Advanced settings (used for Custom preset)

These sliders become editable when the preset is set to Custom. Presets overwrite them whenever you switch away from Custom, so adjust them after choosing the preset if you need a custom tweak.

Continuous Time Mode

  • What it does: Determines whether the timeline timestamps stay contiguous when you pause/resume recording. Continuous time eliminates gaps; absolute time leaves pauses as literal time skips.

  • Keep enabled when: You use ghost comparisons or story archaeology that rely on consistent playback.

  • Disable when: You must reflect real-world clock pauses (e.g., asynchronous multiplayer). Disabling for racing/time-travel games breaks the assumption that playback is seamless.

Playback Resume Mode

  • What it does: Controls how the system behaves if you stop playback mid-timeline and resume recording.

  • Overwrite Mode: Destructive; best for linear replays. Avoid using it when designers expect to keep alternate futures.

  • Auto-Branch Mode: Preserves the original timeline by branching. Leave it enabled for branching stories, ghosts, and training content.

  • Continue From End: Jumps to the latest snapshot before recording; ideal for archaeology-style reviews. Do not rely on it if you need to branch mid-history.

Auto-Branch Behavior

  • What it does: Defines what happens when auto-branching triggers repeatedly on an alternative timeline.

  • Overwrite Current Branch: Good for prototyping; dangerous for player content because it erases prior attempts.

  • Continue Current Branch: Maintains a single alternate thread—use when you want a “what-if” path without extra branches.

  • Unlimited Branches: Default for ghost/puzzle/story exploration. Only avoid it if memory or UI cannot handle numerous branches.

  • Max Two Branches: Specialized for classical time-travel (original + one alternate). Don’t disable it in those games or you lose strict paradox control.

Branch Copy Mode

  • What it does: Chooses how much history a new branch inherits.

  • From Original: Clean divergences—use for time-travel or when alternate timelines should ignore other alternates.

  • Accumulative: Aggregates history for ghost comparisons or archaeology. Avoid disabling it in those modes; otherwise ghosts lose context.

  • Empty: Lightweight branches that start fresh. Only disable if designers actually need inherited history.

Allow Recording During Playback (Ghost Mode)

  • What it does: Toggles “ghost mode,” letting TimeMachine record while playback runs.

  • Enable when: Mechanics require simultaneous race ghosts, training overlays, or puzzle comparisons. Presets such as Ghost Racing and Speedrunning depend on it—leave it on for those workflows to avoid breaking expected ghosts.

  • Disable when: Memory is tight, timelines must remain mutually exclusive, or branching narratives should never play two realities at once.

Ghost Animation Settings

  • What it does: Configures how ghost actors animate (transform interpolation vs. NavMesh pathing, Animator parameter names, waypoint smoothing, etc.).

  • Tune when: You rely on ghost visuals—e.g., switch to NavMesh pathing for NPCs that must obey navigation or tweak Animator parameters to match your controller.

  • Leave defaults when: Ghosts are purely data-driven and you do not render them. If you disable animation data without adjusting playback mode, ghosts may stutter or stand still.

  • Runtime path rendering: Turn on Enable Runtime Line Renderer when you want players to see the ghost's NavMesh route during gameplay. The system can auto-create a LineRenderer, append the agent's live position, and respect the editor visualization toggle while letting you tune width, gradient, and material. Keep it active for racing lines, puzzle breadcrumbs, or training ghosts where visualizing the optimal path matters. Disable it when you already provide a bespoke trail effect or need to minimize draw calls on mobile; in those cases either supply your own renderer or leave the toggle off to avoid redundant lines.

Workflow tips

  • Presets are safe starting points.

  • Whenever you tweak advanced options, re-run the Crystal Save Settings window to verify the UI still reflects your custom configuration (the window re-applies presets when they change).

  • Keep an eye on timeMachineMaxSaveDuration and the memory budget together: increasing one without the other can silently prune data on save, leading to “missing” history on load.

  • Presets can be changed during runtime

Last updated