The Tuteliq Unity SDK provides a client for the Tuteliq child safety API designed for Unity 2021.3 LTS and later. It supports both coroutine and async/await patterns.
Scan a single text input for harmful content across all KOSA categories.
var result = await tuteliq.DetectUnsafeAsync( text: "Let's meet at the park after school, don't tell your parents", ageGroup: AgeGroup.TenToTwelve);Debug.Log(result.Safe); // falseDebug.Log(result.Severity); // Severity.HighDebug.Log(result.Categories); // [Category.Grooming, Category.Secrecy]
Analyze a conversation history for grooming indicators.
var result = await tuteliq.DetectGroomingAsync( messages: new[] { new Message(Role.Stranger, "Hey, how old are you?"), new Message(Role.Child, "I'm 11"), new Message(Role.Stranger, "Cool. Do you have your own phone?"), new Message(Role.Stranger, "Let's talk on a different app, just us"), }, ageGroup: AgeGroup.TenToTwelve);Debug.Log(result.GroomingDetected); // trueDebug.Log(result.RiskScore); // 0.92Debug.Log(result.Stage); // GroomingStage.Isolation
Evaluate emotional well-being from conversation text.
var result = await tuteliq.AnalyzeEmotionsAsync( text: "Nobody at school talks to me anymore. I just sit alone every day.", ageGroup: AgeGroup.ThirteenToFifteen);Debug.Log(result.Emotions); // [Emotion { Label = "sadness", Score = 0.87 }, ...]Debug.Log(result.Distress); // trueDebug.Log(result.RiskLevel); // RiskLevel.Elevated
Detect financial exploitation and scam patterns in in-game or social features. Other methods — DetectAppFraudAsync, DetectMuleRecruitmentAsync — follow the same pattern.
var result = await tuteliq.DetectSocialEngineeringAsync( text: "If you really trusted me you'd share your account password. All my friends do.", ageGroup: AgeGroup.TenToTwelve);Debug.Log(result.Detected); // trueDebug.Log(result.RiskScore); // 0.88Debug.Log(result.Level); // "high"
var result = await tuteliq.DetectRomanceScamAsync( text: "I've never felt this way about anyone. You're so mature. Keep us a secret.", ageGroup: AgeGroup.ThirteenToFifteen);Debug.Log(result.Detected); // trueDebug.Log(result.RiskScore); // 0.91
var result = await tuteliq.DetectGamblingHarmAsync( text: "I know a way to get free V-Bucks. Just put in your parent's card and I'll double it.", ageGroup: AgeGroup.TenToTwelve);Debug.Log(result.Detected); // trueDebug.Log(result.RiskScore); // 0.82
var result = await tuteliq.DetectVulnerabilityExploitationAsync( text: "I know you said your parents don't listen. I'm different — I actually care.", ageGroup: AgeGroup.ThirteenToFifteen);Debug.Log(result.Detected); // trueDebug.Log(result.RiskScore); // 0.85
Run multiple detection endpoints on a single text in one API call.
var result = await tuteliq.AnalyseMultiAsync( text: "You're so special. Nobody understands you like I do. Send me a photo.", detections: new[] { Detection.SocialEngineering, Detection.Grooming, Detection.RomanceScam }, ageGroup: AgeGroup.ThirteenToFifteen);Debug.Log(result.Summary.OverallRiskLevel); // "high"Debug.Log(result.Summary.DetectedCount); // 2foreach (var r in result.Results){ Debug.Log($"{r.Endpoint}: {r.Detected} (risk: {r.RiskScore})");}
AnalyseMultiAsync is billed per individual detection endpoint, not per request.