SafeSave: Source Control Traffic Light (Git / Perforce) (Released)

Hi there, just released this tool here. It addresses a longtime pain point for so many of us. It’s my 1st release on Fab, don’t go hard on it please. :shushing_face: Thanks.

Stop screaming, 'Who locked the map?!' SafeSave adds a real-time Traffic Light to your toolbar that warns you of conflicts before you save.

Feature List:

  • Blue Light: "Auto-detects when teammates push updates."

  • Red Light: "Prevents merge conflicts with a Safe-Update protocol."

  • No Jargon: "Replaces command lines with simple 'Push/Pull' buttons."

Documentation & Guide: SafeSave @ GitBook

1 Like

Hey! This tool looks like something that we were looking for! Could you tell me whether you tried to launch it on 5.5? I can see that in compatibility section you stated that it works only with 5.7 but I wonder whether this is out of the scope or you simply haven’t tested it there :slight_smile:

1 Like

Hey there, thanks for your interest. In fact I first submitted it as 5.5 plugin, but Fab told me that it needs to be a 5.7 plugin to show up. So I went back, an now it’s basically fully compatible with 5.5, 5.6 and 5.7.

1 Like

FWIW, this is free.

The launcher unfortunately won’t allow users to download the plugin unless we have 5.7 installed currently. I haven’t published anything to fab yet, but it should be possible to mark it as compatible with multiple engine versions. I have 5.3, 5.5, and 5.6 installed and I see this when I try to download the plugin:

Personally I haven’t really had many issues with merge conflicts so far when working with a small team through perforce, but I would like to have this plugin for is to have a ‘sync all’ button in the editor. I’m not sure why there isn’t already one natively. The editor seems to track which files need to be updated, but forces you to navigate to the individual assets in the content browser and right click each one to sync, only offering you a multi-file sync option if the first asset you sync has dependencies that are also out of date.

The alternative is to close the entire editor, sync all, and re-open, which slows my workflow unnecessarily since the editor has built-in features for syncing files at runtime.

Also, the github issues link you provided seems to be set to private as it just displays as a 404 page for me.

1 Like

Hi there, thanks for the message. I first submitted as a 5.5 plugin specifically, but Fab said that it needs to be a 5.7 plugin.
Edit: I submitted a 5.6 version today, hopefully it’ll go live soon.

GitHub link was on private for some reason indeed, fixed now.

Thank you, Andras

Done.

2 Likes

You’ll also want a 5.5 version of this, 5.6 is still considered pretty new.

2 Likes

Hey all, v0.6 was just released as a radically new version. I’ll just copy the current description and the changelog here. Have fun with SafeSave! :hugs: :repeat_button:

SafeSave — Source Control Safety for Unreal Engine

SafeSave is a compact UE editor toolbar that keeps your source control status and unsaved assets impossible to ignore. It reduces risky syncs, prevents lost work, and keeps teams aligned with clear, always‑on signals.

USP & Benefits

  • :shield: Always‑On Safety Signals — The toolbar label shows branch/workspace | state at a glance.
  • :eye: Clear Risk Visibility — Conflicts, Diverged, Behind, Changes, Unsaved, and Login Required are color‑coded.
  • :compass: Provider‑Aware Actions — Git: Fetch / Pull (Rebase) / Push. Plastic: Update Workspace.
  • :locked: Safety Gates — Pull/Push/Update are disabled unless the workspace is clean and assets are saved.
  • :repeat_button: Auto‑Fetch (Git‑Only) — Optional background fetch keeps refs fresh without touching local files.
  • :bell: Toast Feedback — Optional status‑change toasts keep you informed in full‑screen viewports.

What You Get

  • :white_check_mark: Git + Plastic SCM Support — Uses the active UE Source Control provider.
  • :white_check_mark: Non‑Intrusive Workflow — No forced staging or commits. SafeSave surfaces risk only.
  • :white_check_mark: Fast Polling Controls — Tune refresh intervals in Editor Preferences.

Requirements

  • :toolbox: Git: git.exe on PATH.
  • :key: Plastic SCM: cm CLI installed and logged in via UE Source Control.

SafeSave keeps your pipeline safe, visible, and low‑risk — without changing how you already work.

February 4, 2026

  • Replaced the old status widget with a new Git-focused toolbar widget that shows branch | state, with color and icon cues.

  • Added a unified toolbar menu with Save/Refresh/Status actions plus provider-specific source control actions.

  • Added a Source Control-aware flow that supports Git and Plastic SCM (Unity Version Control) with automatic provider detection.

  • Added a Plastic SCM “Login Required” state and messaging when credentials are missing.

  • Added a Plastic SCM Update action when Plastic is active and logged in.

  • Added an auto-fetch toggle and surfaced the auto-fetch interval in the menu (Git-only).

  • Ensured duplicate toolbar entries do not accumulate by removing the existing entry before re-adding.

  • Added a settings panel in Editor Preferences → Plugins → SafeSave.

  • New settings:

  • DirtyCheckIntervalSeconds

  • GitCheckIntervalSeconds (renamed in UI as Status Poll Interval)

  • bAutoFetch

  • AutoFetchIntervalSeconds

  • bToastOnStatusChange

  • StatusToastMinIntervalSeconds

  • Reworded settings descriptions to be source-control agnostic and Git-only where appropriate.

  • Added toast notifications on status label changes (throttled by a minimum interval).

  • Added clear “Login Required” state (orange) for Plastic SCM authentication failures.

  • Updated tooltips and status details to show provider, workspace name, and pending changes for Plastic.

  • Updated label and tooltip wording to remove Git-only assumptions.

  • Git

  • status --porcelain=v2 -b parsing (staged/unstaged/untracked/conflicts/ahead/behind).

  • Fetch, Pull (rebase), Push actions (clean tree + upstream + no unsaved assets).

  • Auto-fetch (Git-only).

  • Replaced plugin-specific icons with known AppStyle icons (Save, Refresh, Info, Warning).