Game Creator 2 Integration

Game Creator 2 × Time Machine Integration

The Crystal Save Time Machine ships with a deep Game Creator 2 integration so you can orchestrate rewindable gameplay, cinematic replays, and ghost races without leaving visual scripting.


What You Get

  • Unified object instruction – drives recording, scrubbing, and branch management for any tracked GameObject.

  • Global Time Machine control instruction – synchronized recording, playback direction, branching, ghost mode, and more.

  • Properties – expose current branch name and snapshot counts directly in GC2 graphs.

  • Conditions – check recording, playback states, branch membership, and snapshot availability inline with the rest of your logic.

  • Ghost playback tooling – legacy frame-by-frame interpolation and GhostPlaybackComponent workflow, including NavMesh support.


Quick Start

  1. Add TimeMachine Object instruction to a GC2 Action list, set the target to your player, and choose Record Snapshot.

  2. Pair it with Replay To Snapshot or Rewind By Time to restore saved states when needed.

  3. Add TimeMachine Condition to gate UI or input while recording or playing timelines.

  4. Use Global Time Machine instruction to pause/resume all recorders or flip playback direction for dramatic rewinds.

  5. Drop Start Ghost Playback to spawn a playback rig from a recorded branch with looping or NavMesh navigation.


Setup

Requirements

  • Game Creator 2 (Core)

  • Crystal Save (Core)

  • Time Crystal Module

  • Define symbols: GAMECREATOR_CORE, MEMORYPACK, ARAWN_REMEMBERME, CRYSTALSAVE_TIMEMACHINE

Installation Checklist

  1. Import Game Creator 2 core.

  2. Install Crystal Save, enable Time Machine module

  3. Attach the GameObjectTimeMachine to a Gameobject

  4. Verify via Tools ▸ Crystal Save ▸ Time Crystal ▸ Open Time Machine Player.

  5. GC2 integration auto-enables—no manual registration required.


UnitDriverNavmeshGhost

UnitDriverNavmeshGhost is the Time Machine’s dedicated Game Creator 2 NavMesh driver for ghost playback. It translates recorded waypoints into smooth NavMeshAgent motion, keeps collider and facing in sync, and can fall back to normal GC2 navigation when playback stops.

Why Use UnitDriverNavmeshGhost

The UnitDriverNavmeshGhost isn’t just a replay tool — it’s a game mechanic enabler. It gives you full runtime control over ghosts, letting you blend recording, playback, and direct player control in unique ways that go beyond cinematic replays.


What Makes It Different

1. Playable Ghosts, Not Just Replays

Unlike the standard GhostPlaybackComponent, this driver ties ghost motion to a NavMeshAgent, meaning it can accept player input or AI commands mid-replay. That means you can:

  • Take over a ghost at any point and continue playing from its position.

  • Switch control between player and ghost for time-travel or clone mechanics.

  • Blend AI guidance and playback seamlessly (e.g., have the ghost “replay” past you but still react to world changes).

This bridges the line between recording playback and active gameplay entity.


2. NavMesh-Based Movement

The driver uses Unity’s NavMesh system instead of direct transform interpolation. This ensures:

  • Smooth, collision-aware motion.

  • Replays that respect level geometry even when the environment changes.

However, this design choice means:

  • Positions won’t match the original path exactly. The NavMeshAgent may slightly adjust the route or cut corners.

  • Animations are not replayed. The driver only replays position and rotation data; it doesn’t attempt to reconstruct the recorded animation states.

This makes the driver perfect for gameplay proxies, not cinematic recordings.


Use Cases & Game Design Examples

1. Time Trial Ghosts (Racing / Parkour)

Record the player’s best run and spawn a ghost with UnitDriverNavmeshGhost on replay. The ghost will follow roughly the same route but remain physically interactive. You can collide with it, push it, or even possess it mid-run to alter its fate.

Example: Trackmania-style ghost races where you can take over your past self mid-race.


2. Parallel Timeline Gameplay

Use the Time Machine to record multiple runs of the same puzzle. Then, spawn previous versions of the player that follow their old paths while you interact with them.

Example: Like “The Swapper” or “Chronotron,” where you cooperate with your past self.

Here, the driver’s ability to move through NavMesh means your ghost interacts properly with new geometry, avoiding replay desyncs when the scene evolves.


3. Possession Mechanics

Allow the player to transfer consciousness into any recorded ghost. Once inside, the UnitDriverNavmeshGhost becomes a controllable character, inheriting both physics and GC2 movement logic.

Example: “Dishonored”-style possession, but through time — jump into a past self to alter future events.


4. Multi-Agent Coordination

Create cooperative or competitive gameplay between live players and recorded ghosts:

  • Ghosts replay old strategies.

  • Live players counter or assist them.

  • All paths stay NavMesh-valid, preventing teleport collisions.

Example: Tactical stealth games where previous replays act as automated allies.


Pros and Cons Summary

Aspect
Advantage
Limitation

Replay Type

Real NavMesh motion — physically valid, collision-safe.

Path may deviate slightly from original.

Control

Ghost can be taken over or directed via GC2 Actions.

Doesn’t replicate animation states.

Performance

Efficient — reuses GC2 Character systems and agents.

Many ghosts may stress NavMesh avoidance (if enabled - default is disabled).

Use Case

Ideal for interactive or branching mechanics.

Not ideal for 1:1 cinematic replays.


Design Philosophy

The driver isn’t about visual perfection — it’s about interactive storytelling. Instead of showing the past like a film, it simulates it inside the same physics rules as the present. That’s what makes UnitDriverNavmeshGhost special: it keeps ghosts as living agents that exist inside your timeline logic, not outside it.


Overview

  • Purpose: Drive ghosts over NavMesh using recorded paths (no transform snapping).

  • Key Dependencies (auto-provisioned): NavMeshAgent, CapsuleCollider, GhostNavMeshController.

  • Why this driver: It preserves GC2 movement/animation semantics while consuming Time Machine snapshots, avoiding jitter and physics drift.


Responsibilities

  • Read ghost waypoints/rotations from the active GhostPlaybackComponent.

  • Update agent destination per frame, respecting Agent radius, height, and avoidance.

  • Synchronize Character facing and Animator playback speed with ghost velocity.

  • Support looping, runtime path line rendering, and off-mesh traversal.


Lifecycle

  1. Provisioning – On first use the driver ensures NavMeshAgent, CapsuleCollider, and GhostNavMeshController exist and are configured.

  2. InitializeGhost(source) – Binds to the source recorder/branch and prepares the waypoint stream.

  3. Playback Tick – Each update, the driver advances the waypoint cursor, blends speed, rotates to face motion, and drives the agent rather than teleporting.

  4. Tear-down / Stop – Halts agent movement, clears bindings, and optionally hides path visuals.

Playback uses NavMeshAgent movement instead of transform writes to avoid collider desync and micro-jitter.


Inspector Parameters

Recording Thinning & Smoothing

  • Waypoint Skip Count – Skip every Nth recorded point to thin dense paths.

  • Minimum Spacing – Enforce a minimum distance between waypoints.

  • Smoothing – Interpolate noisy corners for cleaner agent steering. 【F:.../UnitDriverNavmeshGhost.cs†L34-L101】

Playback & Presentation

  • Loop – Restart from the first waypoint on completion.

  • Animation Mode – Animator-driven vs. rigid transform blending.

  • Line Rendering – Draw a runtime path line for debugging/polish.

Motion & Physics

  • Dynamic Speed Blending – Use velocity-aware speed scaling for natural stride.

  • Off-Mesh Traversal – Honor agent’s off-mesh links (jumps, ladders).

  • Collision Sync – Keep capsule aligned with agent and floor probes.

These options are exposed on the Character asset for designer control.


Dual-Mode Behavior

When ghost playback is inactive, the driver falls back to standard GC2 navigation, so the same Character prefab works for live gameplay and for replays—no duplicate prefabs required.


Optimization Tips

  • Prefer thinning for long recordings (skip count / min spacing) to cut memory and agent micro-turns.

  • Disable Line Rendering in production to save CPU.

  • Pool ghost prefabs to amortize NavMeshAgent setup costs.

  • Use Ghost Mode (Global) to separate live recording from concurrent playback cleanly.


Troubleshooting

Symptom
Likely Cause
Fix

Ghost stutters or clips

Transform being set elsewhere

Remove external transform writes; let the driver control the agent.

Doesn’t move at all

No baked NavMesh

Bake NavMesh; verify agent area/obstacle settings.

Overshoots corners

Waypoints too sparse

Lower skip count or spacing; enable smoothing.

Animator desync

Sparse snapshots or extreme speed variance

Increase snapshot density for motion segments; enable dynamic speed blending.

Collider misaligned

Capsule/agent mismatch

Let the driver provision collider; avoid manual collider scale changes mid-playback.


GC2 Graph Patterns

  1. Instruction: Start Ghost Playback (targets Character with UnitDriverNavmeshGhost).

  2. Params: Branch name to replay, Loop on/off, optional path line.

  3. Guard: Is Ghost Playback Active condition to toggle UI/input during runs.

Stop/Destroy

  • Stop: Freeze ghost in place (keeps agent/components).

  • Destroy: Optional delay then teardown and destroy ghost GameObject.

See GC2 instructions: InstructionGhostPlayerStart, InstructionGhostPlayerStop, InstructionGhostPlayerDestroy.


Example: Ghost Challenge Loop

On Lap Complete →
  Global: Create Branch "Lap_01"
  Global: Record All Snapshots
Next Lap Start →
  Start Ghost Playback (branch "Lap_01", loop=On)
  While Is Ghost Playback Active →
    Compare player vs ghost time
On Finish →
  Stop Ghost Playback (or Destroy after delay)

Object Instructions

Use TimeMachine Object instruction to control a single recorder or prefab.

Operation
Description
Parameters

Record Snapshot

Captures current state.

Auto-name toggle

Replay To Snapshot

Restores a named snapshot.

Snapshot name

Rewind By Time

Seeks backwards by seconds.

Time value

Switch Branch

Jumps to a different timeline.

Branch name

Play / Reverse / Stop

Plays forward or backward.

Speed

Timeline Play / Pause

Bridges Unity Timeline.

Director target

Set Playback Speed

Adjusts playback rate.

Multiplier

Set Looping

Toggles looping.

Boolean

Clear Branch

Clears snapshots without deleting branch.

Branch

Delete Branch

Removes branch entirely.

Branch

Tips: override branch string for custom timelines; all operations guard against missing targets.


Global Controls

Global instructions orchestrate every recorder simultaneously.

Recording

  • Pause/Resume All Recording

  • Record All Snapshots

  • Clear All History

Playback

  • Play / Reverse / Stop All

  • Jump To Start / End

  • Set/Adjust Global Speed

  • Flip Direction

  • Toggle Interpolation

Branching

  • Switch / Create / Delete Branch

  • Merge Timelines

Resume Modes

  • Overwrite / Auto-Branch / Continue-From-End

  • Auto-Branch Strategy (Overwrite, Continue, Unlimited)

  • Copy Modes (Clean, Accumulative, Empty)

Ghost Racing

  • Enable/Disable Ghost Mode


Properties

Object-Level

Property
Returns
Usage

Current Branch

Active branch name

UI indicators

Snapshot Count

Snapshot count

Checkpoint display

Global

Property
Returns

Global Current Branch

Active branch name

Next/Previous Branch

Carousel navigation

Is Recording

Boolean flag

Recorded Objects Count

Integer total


Conditions

Conditions let you branch logic based on Time Machine state.

Object Checks

  • Is Recording

  • Is Playing / Paused

  • Has Snapshot Named

  • Is On Branch (Original/Alternative)

  • Safe null handling

Global Checks

  • Global recording/playback state

  • Playback direction and speed

  • Snapshot counts and object totals

  • Branch membership and ghost mode

Ghost Guard

  • Is Ghost Playback Active – detects live ghosts to disable inputs.


Ghost Playback

Two playback systems are available:

Component Workflow

  • Start / Stop / Destroy Ghost Playback

  • Manages NavMesh, animation blending, runtime line rendering.

  • Recommended for production.

NavMesh Ghost Agent Driver: Automatically provisions NavMeshAgent and collider; syncs motion and facing.

Legacy Interpolation

Frame-by-frame playback for prototypes. Requires manual time progression.


Example Workflows

Checkpoint System

  • Record Snapshot at trigger

  • Display Snapshot Count

  • Rewind only if snapshot exists

Pause Menu Safety

  • Pause All Recording when menu opens

  • Resume after closing

Branch-Driven Puzzle

  • Switch Branch on lever activation

  • Use branch checks to gate dialogue

  • Global reset to Original

Ghost Challenge

  • Create Branch after each lap

  • Start Ghost Playback next lap

  • Reward if player beats ghost


Best Practices & Troubleshooting

Tips

  • Name snapshots clearly.

  • Record at meaningful beats.

  • Clear obsolete branches.

  • Guard graphs with conditions.

  • Use branches for 'what-if' timelines.

Common Issues

Problem
Fix

GC2 actions missing

Confirm defines and reimport integration folder.

Null target

Ensure valid GameObject or use Self.

Snapshot replay fails

Check snapshot name and branch.

Enable verbose logging in Time Machine settings to trace missing branches or identifiers.

Last updated