AI Slop Code Risk Monitor

SmartlyDressedGames/U3-SDK

SlopCodeMonitor badge for SmartlyDressedGames/U3-SDK Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Source code for Unturned, a free open-world zombie survival sandbox game.

2.0 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for SmartlyDressedGames/U3-SDK, a C# project with 4,006 GitHub stars. SynthScan examined 435,776 lines of code across 1980 source files, recording 784 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 2.0 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

2.0
Adjusted Signal
2.0
Raw Pattern Score
100%
Time Factor
2026-09-21
Last Push
4.0K
Stars
C#
Language
435.8K
Lines of Code
2.0K
Files
784
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 8.1/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 772 finding(s).

Hallucinated Dependency & Supply Chain Risk 1.4/100 · LOW

Are imports declared and package/API names verified? 12 finding(s).

Agent Over-Engineering Ratio 0.0/100 · LOW

Are wrappers, guards, and repeated structures necessary? 1 finding(s).

PR Review Velocity Impact 10.0/100 · LOW

Which changes need focused human review? 784 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 12HIGH 2MEDIUM 9LOW 761

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 784 distinct pattern matches across 6 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Over-Commented Block760 hits · 694 pts
SeverityFileLineSnippetContext
LOWAssets/Runtime/Assembly-CSharp/ItemStore/ItemStore.cs261#endif // !DEDICATED_SERVERCOMMENT
LOW…/Runtime/Assembly-CSharp/NetMessaging/ClientMessage.cs21 /// </summary>COMMENT
LOW…/Runtime/Assembly-CSharp/NetMessaging/ClientMessage.cs41 /// </summary>COMMENT
LOW…/Runtime/Assembly-CSharp/NetMessaging/ClientMessage.cs61 /// </summary>COMMENT
LOW…/Runtime/Assembly-CSharp/NetMessaging/ClientMessage.cs81 /// </summary>COMMENT
LOW…/Runtime/Assembly-CSharp/NetMessaging/ServerMessage.cs1////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOW…/Runtime/Assembly-CSharp/NetMessaging/ServerMessage.cs21 /// Client has loaded the level.COMMENT
LOW…/Runtime/Assembly-CSharp/NetMessaging/ServerMessage.cs41COMMENT
LOW…ts/Runtime/Assembly-CSharp/NetMessaging/NetMessages.cs1////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOW…O/FormattedFiles/KeyValueTables/KeyValueTableReader.cs421 UnturnedLog.info(element + " @" + scope.Count);COMMENT
LOW…ntime/Assembly-CSharp/Framework/Utilities/IPoolable.cs1////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOW…e/Assembly-CSharp/Framework/Foliage/IFoliageStorage.cs1////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOW…e/Assembly-CSharp/Framework/Foliage/IFoliageStorage.cs21 /// Called prior to destroying instance.COMMENT
LOW…/Assembly-CSharp/Framework/Foliage/FoliageStorageV2.cs1////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOW…/Assembly-CSharp/Framework/Foliage/FoliageStorageV2.cs721 /// </summary>COMMENT
LOW…/Assembly-CSharp/Framework/Foliage/FoliageStorageV2.cs741 /// </summary>COMMENT
LOW…ime/Assembly-CSharp/Framework/Foliage/FoliageSystem.cs641 new FoliageCoord(-1, -4),COMMENT
LOW…ime/Assembly-CSharp/Framework/Devkit/AmbianceVolume.cs161 public bool overrideAtmosphericFog;COMMENT
LOW…ime/Assembly-CSharp/Framework/Devkit/AmbianceVolume.cs181 /// </summary>COMMENT
LOW…time/Assembly-CSharp/Framework/Modules/ModuleConfig.cs1////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOW…time/Assembly-CSharp/Framework/Modules/IModuleNexus.cs1////////////////////////////////////////////////////////////////////////////////////////COMMENT
LOW…CSharp/Unturned/UI/Edit/EditorEnvironmentLightingUI.cs21 private static ISleekBox[] infoBoxes;COMMENT
LOW…CSharp/Unturned/UI/Edit/EditorEnvironmentLightingUI.cs41COMMENT
LOW…CSharp/Unturned/UI/Edit/EditorEnvironmentLightingUI.cs61COMMENT
LOW…CSharp/Unturned/UI/Edit/EditorEnvironmentLightingUI.cs81COMMENT
LOW…untime/Assembly-CSharp/Unturned/UI/Menu/MenuTitleUI.cs341 //infoButton.positionScale_X = 0.5f;COMMENT
LOW…bly-CSharp/Unturned/UI/Menu/Workshop/MenuWorkshopUI.cs121COMMENT
LOW…bly-CSharp/Unturned/UI/Menu/Workshop/MenuWorkshopUI.cs141 //COMMENT
LOW…turned/UI/Menu/Survivors/MenuSurvivorsClothingBoxUI.cs21 /// </summary>COMMENT
LOW…y-CSharp/Unturned/UI/Menu/Survivors/MenuSurvivorsUI.cs21 {COMMENT
LOW…y-CSharp/Unturned/UI/Menu/Survivors/MenuSurvivorsUI.cs41 // else if(MenuSurvivorsGroupUI.active)COMMENT
LOW…y-CSharp/Unturned/UI/Menu/Survivors/MenuSurvivorsUI.cs61 return;COMMENT
LOW…y-CSharp/Unturned/UI/Menu/Survivors/MenuSurvivorsUI.cs81 // {COMMENT
LOW…y-CSharp/Unturned/UI/Menu/Survivors/MenuSurvivorsUI.cs101 //COMMENT
LOW…y-CSharp/Unturned/UI/Menu/Survivors/MenuSurvivorsUI.cs121 //COMMENT
LOW…y-CSharp/Unturned/UI/Menu/Survivors/MenuSurvivorsUI.cs141 // if(MenuSurvivorsGroupUI.active)COMMENT
LOW…mbly-CSharp/Unturned/UI/Menu/Play/MenuPlayServersUI.cs1081 // openIcon1.SizeOffset_Y = 16;COMMENT
LOW…mbly-CSharp/Unturned/UI/Menu/Play/MenuPlayServersUI.cs1121 // closeIcon1.PositionOffset_X = -8;COMMENT
LOW…Sharp/Unturned/UI/Player/PlayerDashboardInventoryUI.cs1981 // {COMMENT
LOW…Sharp/Unturned/UI/Player/PlayerDashboardInventoryUI.cs2001 // return;COMMENT
LOW…Sharp/Unturned/UI/Player/PlayerDashboardInventoryUI.cs2021 //{COMMENT
LOW…Sharp/Unturned/UI/Player/PlayerDashboardInventoryUI.cs2041 // SleekItem item = items[0].items[index];COMMENT
LOW…Sharp/Unturned/UI/Player/PlayerDashboardInventoryUI.cs2941 //selectionQualityBox.sizeScale_X = 1;COMMENT
LOW…embly-CSharp/Unturned/UI/Player/PlayerNPCDialogueUI.cs41 /// <summary>COMMENT
LOW…embly-CSharp/Unturned/UI/Player/PlayerNPCDialogueUI.cs61COMMENT
LOW…embly-CSharp/Unturned/UI/Player/PlayerNPCDialogueUI.cs81 /// </summary>COMMENT
LOW…arp/Unturned/UI/Player/PlayerDashboardInformationUI.cs861 //{COMMENT
LOW…Assembly-CSharp/Unturned/UI/Player/PlayerNPCQuestUI.cs461 }COMMENT
LOW…e/Assembly-CSharp/Unturned/Settings/OptionsSettings.cs361 ///COMMENT
LOW…e/Assembly-CSharp/Unturned/Settings/OptionsSettings.cs401COMMENT
LOW…e/Assembly-CSharp/Unturned/Settings/OptionsSettings.cs421COMMENT
LOW…me/Assembly-CSharp/Unturned/Settings/PlayConfigData.cs101 /// URL of a 32x32 image shown in the server list.COMMENT
LOW…me/Assembly-CSharp/Unturned/Settings/PlayConfigData.cs121 /// Documentation: https://docs.smartlydressedgames.com/en/stable/servers/game-server-login-tokens.htmlCOMMENT
LOW…me/Assembly-CSharp/Unturned/Settings/PlayConfigData.cs221 {COMMENT
LOW…me/Assembly-CSharp/Unturned/Settings/PlayConfigData.cs241COMMENT
LOW…me/Assembly-CSharp/Unturned/Settings/PlayConfigData.cs261 /// </summary>COMMENT
LOW…me/Assembly-CSharp/Unturned/Settings/PlayConfigData.cs281 /// <summary>COMMENT
LOW…me/Assembly-CSharp/Unturned/Settings/PlayConfigData.cs301 /// PvP damage multiplier while under fake lag penalty.COMMENT
LOW…me/Assembly-CSharp/Unturned/Settings/PlayConfigData.cs321 /// When the server should shutdown if Enable_Scheduled_Shutdown is true.COMMENT
LOW…me/Assembly-CSharp/Unturned/Settings/PlayConfigData.cs381 public bool Chat_Always_Use_Rich_Text;COMMENT
700 more matches not shown…
Hallucination Indicators12 hits · 120 pts
SeverityFileLineSnippetContext
CRITICAL…untime/Assembly-CSharp/Framework/Modules/ModuleHook.cs164 SDG.Framework.IO.IOUtility.jsonSerializer.serialize(module.config, config.FilePath, true);CODE
CRITICAL…Runtime/Assembly-CSharp/Unturned/Edit/TerrainEditor.cs633 SDG.Framework.Devkit.Transactions.DevkitTransactionManager.beginTransaction("Heightmap");CODE
CRITICAL…Runtime/Assembly-CSharp/Unturned/Edit/TerrainEditor.cs665 SDG.Framework.Devkit.Transactions.DevkitTransactionManager.beginTransaction("Heightmap");CODE
CRITICAL…Runtime/Assembly-CSharp/Unturned/Edit/TerrainEditor.cs767 SDG.Framework.Devkit.Transactions.DevkitTransactionManager.beginTransaction("Splatmap");CODE
CRITICAL…Runtime/Assembly-CSharp/Unturned/Edit/TerrainEditor.cs862 SDG.Framework.Devkit.Transactions.DevkitTransactionManager.endTransaction();CODE
CRITICAL…untime/Assembly-CSharp/Unturned/Edit/EditorInteract.cs136 SDG.Framework.Devkit.Transactions.DevkitTransactionManager.redo();CODE
CRITICAL…untime/Assembly-CSharp/Unturned/Edit/EditorInteract.cs140 SDG.Framework.Devkit.Transactions.DevkitTransactionManager.undo();CODE
CRITICALAssets/Runtime/Assembly-CSharp/Unturned/Level/Level.cs683 SDG.Framework.Devkit.Transactions.DevkitTransactionManager.resetTransactions();CODE
CRITICALAssets/Runtime/Assembly-CSharp/Unturned/Level/Level.cs793 SDG.Framework.Devkit.Transactions.DevkitTransactionManager.resetTransactions();CODE
CRITICALAssets/Runtime/Assembly-CSharp/Unturned/Level/Level.cs1737 SDG.Framework.Devkit.Transactions.DevkitTransactionManager.resetTransactions();CODE
CRITICALAssets/Runtime/Assembly-CSharp/Unturned/Level/Level.cs1877 yield return SDG.Framework.Landscapes.Landscape.instance.AutoConvertLegacyTerrain();CODE
CRITICAL…bly-CSharp/Provider/Services/TempSteamworksWorkshop.cs348 SDG.Unturned.Provider.provider.workshopService.open(publishedFileID);CODE
AI Slop Vocabulary9 hits · 26 pts
SeverityFileLineSnippetContext
MEDIUM…/Runtime/Assembly-CSharp/Unturned/Provider/Provider.cs4630 catch (Exception e) // Probably a casting exception. Ideally we make this more robust.CODE
MEDIUM…ly-CSharp/Unturned/Interactable/InteractableVehicle.cs170 /// Asset ID. Essentially obsolete at this point.COMMENT
MEDIUM…me/Assembly-CSharp/Unturned/Command/CommandGameMode.cs10 /// Essentially deprecated for now.COMMENT
MEDIUM…untime/Assembly-CSharp/Unturned/Level/LevelLighting.cs193 // Essentially which angle is shorter around the 0-1 circle: direct or looping around.COMMENT
MEDIUMAssets/Runtime/Assembly-CSharp/Unturned/Level/Level.cs1693 // Essentially bilinear sampling by averaging four points inside the pixel.COMMENT
MEDIUM…embly-CSharp/Unturned/Bundles/MasterBundleReference.cs12 /// Essentially identical to ContentReference, but MasterBundle is more convenient.COMMENT
MEDIUM…t/Runtime/autogen/isteamgameservernetworkingsockets.cs715 /// <para>/ here. The reason is to make reconnection to a gameserver robust, even if the client computer loses</para>COMMENT
MEDIUM…amworks.net/Runtime/autogen/isteamnetworkingsockets.cs715 /// <para>/ here. The reason is to make reconnection to a gameserver robust, even if the client computer loses</para>COMMENT
MEDIUM…labrecque.steamworks.net/Runtime/autogen/SteamEnums.cs2048 /// read it back. Typically this is not a problem, as application protocols that utilizeCOMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…/Runtime/Assembly-CSharp/Unturned/Provider/Provider.cs741 // Server advertised map is not the same as requested map.COMMENT
AI Response Leakage1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…ime/Assembly-CSharp/Unturned/Player/PlayerEquipment.cs122 // for turrets to set the item quality to 100, so now I've added this special case to always reportCOMMENT
Hyper-Verbose Identifiers1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…verListCuration/ServerListCurationWebRequestHandler.cs11 internal class ServerListCurationWebRequestHandler : MonoBehaviourCODE