The Very Simple Rating System package provides a lightweight, event-driven framework designed to prompt users for store ratings and in-app feedback at optimal engagement points. Architecturally, the system decouples trigger logic from platform-specific SDK implementations, allowing developers to execute rating flows on Android, iOS, and standalone platforms using a unified C# API surface.
At the C# source level, the framework utilizes an event-driven design pattern to minimize poll-based checking in the main thread loop. Rating logic relies on static event channels and C# System.Action delegates rather than heavy MonoBehaviour update loops. State parameters—such as session counts, level completion thresholds, and delay timers—are managed through decoupled ScriptableObject data containers, ensuring configuration logic remains detached from runtime UI elements.
The execution pipeline differentiates between native platform review APIs and fallback custom UI dialogs:
SKStoreReviewController calls to invoke native system popups without forcing users out of the active application.The package integrates directly into the Unity Editor using custom property drawers and custom Inspector layouts. Configuration is centralized within a core ScriptableObject asset, preventing scene-level prefab clutter and simplifying cross-scene state retention.
Developers configure triggering criteria directly within the inspector without editing code. The primary workflow involves setting up specific thresholds that must evaluate to true before a review request executes:
To integrate the system, place the manager prefab into your bootstrapping scene or access the static API from your existing game logic controllers. Persistence parameters are written to PlayerPrefs or encrypted persistent storage paths using standard binary or JSON serialization depending on project flags.
The following example demonstrates how to initialize the rating manager, register event callbacks, and increment progress metrics upon completing a gameplay event:
using UnityEngine;
using VerySimpleRatingSystem;
public class GameProgressTracker : MonoBehaviour
{
[SerializeField] private string levelCompletionEventKey = "LevelsCompleted";
private void OnEnable()
{
// Subscribe to system callbacks
RatingManager.OnRatingCompleted += HandleRatingFinished;
RatingManager.OnRatingDismissed += HandleRatingDismissed;
}
private void OnDisable()
{
// Unsubscribe to maintain clean garbage collection references
RatingManager.OnRatingCompleted -= HandleRatingFinished;
RatingManager.OnRatingDismissed -= HandleRatingDismissed;
}
public void OnLevelComplete()
{
// Increment tracked event metric
RatingManager.IncrementCustomEvent(levelCompletionEventKey);
// Evaluate conditions and display prompt if criteria are met
if (RatingManager.CanShowRatingPrompt())
{
RatingManager.ShowRatingDialog();
}
}
private void HandleRatingFinished(RatingResult result)
{
Debug.Log($"[Rating System] User submitted score: {result.Score}");
}
private void HandleRatingDismissed()
{
Debug.Log("[Rating System] User deferred or dismissed the prompt.");
}
}
The Very Simple Rating System maintains a near-zero runtime execution footprint, making it suitable for memory-constrained mobile projects or high-frame-rate titles.
| Category | Tools / Integration |
|---|---|
| Latest Version | v1.1.0 |
| File Size | 9.96 MB |
| Added to Platform | February 5, 2026 |
| Views | 0 views |
| Downloads | 0 downloads |
| Favourites | 0 favourites |
| Issue with Package? | Report Broken Link → |