A simple yet powerful solution for collecting user feedback in Unity games via Google Forms 📊
Watch the video on this repository here
- 🚀 Easy integration into any Unity project
- 📤 Submit text data and numerical ratings
- 🛠️ Fully customizable form fields
- ⚡ Asynchronous data submission
- 📚 Ready-to-use examples
- 🔒 Works with Unitask, but only for example
- Create a new form at Google Forms
- Add your desired fields (questions)
- Get the form ID from URL:
https://docs.google.com/forms/u/0/d/e/FORM_ID/formResponseor simply replace the link after the form response - Obtain
entry.IDfor each field (see "How to Get entry.ID" below)
Add the Service folder (Assets/Project/Scripts/Service) to your project. Add the Model folder (Assets/Project/Scripts/Model) to your project.
using Cysharp.Threading.Tasks;
using Project.Scripts.Model;
using UnityEngine;
using UnityEngine.Networking;
namespace Project.Scripts.Service
{
public class GoogleFormFeedbackService : IFeedbackService
{
private const string FormUrl = "https://docs.google.com/forms/u/0/d/e/1FAIpQLSehZvUwuIwbBne24YLoxULlk4L6ctbd9LNt6VS9M5oxcGsmjA/formResponse";
public async UniTask<bool> SubmitFeedback(FeedbackData feedbackData)
{
WWWForm form = new WWWForm();
form.AddField("entry.485273778", feedbackData.Message);
using UnityWebRequest www = UnityWebRequest.Post(FormUrl, form);
await www.SendWebRequest().ToUniTask();
return www.result == UnityWebRequest.Result.Success;
}
}
}FeedbackData feedbackData = new FeedbackData("Description from google forms");
bool isSuccess = await _feedbackService.SubmitFeedback(feedbackData);- Open your Google Form
- Open developer tools (F12 or Ctrl+U or ...)
- Submit the completed form to be able to get links
- Search for entry. in the HTML
- The numbers after entry. are your field IDs (e.g., entry.123456789)
// Add device information
form.AddField("entry.555555555", SystemInfo.deviceModel);
// Add game version
form.AddField("entry.666666666", Application.version);
// Add timestamp
form.AddField("entry.777777777", System.DateTime.Now.ToString());- (entry.111111) Rating (1-5 scale) ⭐⭐⭐⭐⭐
- (entry.222222) Feedback comments ✏️
- (entry.333333) Email (optional) 📧
- (entry.444444) Feedback type (Bug/Feature Request/Other) 🐞💡
MIT License - Feel free to use and modify! See LICENSE for details.
Love this tool? Support its development: