diff --git a/osu.Game/Localisation/NotificationsStrings.cs b/osu.Game/Localisation/NotificationsStrings.cs
index f4965e4ebe..5328bcd066 100644
--- a/osu.Game/Localisation/NotificationsStrings.cs
+++ b/osu.Game/Localisation/NotificationsStrings.cs
@@ -125,6 +125,11 @@ Click to see what's new!", version);
///
public static LocalisableString UpdateReadyToInstall => new TranslatableString(getKey(@"update_ready_to_install"), @"Update ready to install. Click to restart!");
+ ///
+ /// "This is not an official build of the game and scores will not be submitted."
+ ///
+ public static LocalisableString NotOfficialBuild => new TranslatableString(getKey(@"not_official_build"), @"This is not an official build of the game and scores will not be submitted.");
+
///
/// "Downloading update..."
///
diff --git a/osu.Game/Updater/UpdateManager.cs b/osu.Game/Updater/UpdateManager.cs
index 8f13e0f42a..bcb28d8b14 100644
--- a/osu.Game/Updater/UpdateManager.cs
+++ b/osu.Game/Updater/UpdateManager.cs
@@ -1,7 +1,9 @@
// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
+using System.Reflection;
using System.Threading.Tasks;
+using osu.Framework;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
@@ -11,6 +13,7 @@ using osu.Game.Graphics;
using osu.Game.Localisation;
using osu.Game.Overlays;
using osu.Game.Overlays.Notifications;
+using osu.Game.Utils;
using osuTK;
namespace osu.Game.Updater
@@ -51,6 +54,9 @@ namespace osu.Game.Updater
// only show a notification if we've previously saved a version to the config file (ie. not the first run).
if (!string.IsNullOrEmpty(lastVersion))
Notifications.Post(new UpdateCompleteNotification(version));
+
+ if (RuntimeInfo.EntryAssembly.GetCustomAttribute() == null)
+ Notifications.Post(new SimpleNotification { Text = NotificationsStrings.NotOfficialBuild });
}
// debug / local compilations will reset to a non-release string.
diff --git a/osu.Game/Utils/OfficialBuildAttribute.cs b/osu.Game/Utils/OfficialBuildAttribute.cs
new file mode 100644
index 0000000000..66c1ef5591
--- /dev/null
+++ b/osu.Game/Utils/OfficialBuildAttribute.cs
@@ -0,0 +1,12 @@
+// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence.
+// See the LICENCE file in the repository root for full licence text.
+
+using System;
+using JetBrains.Annotations;
+
+namespace osu.Game.Utils
+{
+ [UsedImplicitly]
+ [AttributeUsage(AttributeTargets.Assembly)]
+ public class OfficialBuildAttribute : Attribute;
+}