Very Simple Rating System

About Very Simple Rating System – Unity Editor Tool & Plugin

Very Simple Rating System Unity Asset Overview

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.

Native Bridge Architecture & Fallbacks

The execution pipeline differentiates between native platform review APIs and fallback custom UI dialogs:

Inspector Configuration & Workflow

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.

Core Inspector Parameters

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:

Quick-Start Unity Integration Guide

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.

Implementation Code Example

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.");
    }
}

Performance & Native Overhead Profile

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.

Asset Details & Specifications

CategoryTools / Integration
Latest Versionv1.1.0
File Size9.96 MB
Added to PlatformFebruary 5, 2026
Views0 views
Downloads0 downloads
Favourites0 favourites
Issue with Package?Report Broken Link →

Related Unity Tools Assets