RekognitionGuard

Moderate player images - avatars, sprays, screenshots, user-generated content - with Amazon Rekognition from Blueprints and C++: one node to an Allowed / Review / Blocke…

Malware-scannedSigned licence keyInstant downloadUpdates included
RekognitionGuard β€” screenshot 1
RekognitionGuard β€” screenshot 2
RekognitionGuard β€” screenshot 3
RekognitionGuard β€” screenshot 4
RekognitionGuard β€” screenshot 5
RekognitionGuard β€” screenshot 6
RekognitionGuard β€” screenshot 7
RekognitionGuard β€” screenshot 8
RekognitionGuard β€” screenshot 9
RekognitionGuard β€” screenshot 10
RekognitionGuard β€” screenshot 11
RekognitionGuard β€” screenshot 12
RekognitionGuard β€” screenshot 13
RekognitionGuard β€” screenshot 14
RekognitionGuard β€” screenshot 15
RekognitionGuard β€” screenshot 16
RekognitionGuard β€” screenshot 17
RekognitionGuard β€” screenshot 18
1 / 18
Is Image Safe, Moderate Texture, Moderate Render Target, Moderate Screenshot: On…
Moderation policies with category rules and thresholds, All Ages / Teen / Mature…
Evaluate Moderation, Evaluate Video Moderation, Combine Verdicts, Verdict To Text,…
Image input from bytes, files, UTexture2D (also compressed / streamed), render…
JPEG encoding with the engine ImageWrapper and automatic downscaling under the 5 MB limit
Detect Labels (boxes, dominant colours, image quality, filters), Detect Text, Detect…
$46.99

RekognitionGuard keeps unsafe player content out of your game. Give it a texture, a render target, a screenshot, a file, image bytes or an object in Amazon S3, and it answers with On Allowed, On Review or On Blocked - with the labels that decided it. The image it returns is exactly what was checked, already encoded as JPEG and under the 5 MB limit, ready to upload.

Moderation policies describe what your game accepts: rules per Rekognition category (Explicit, Violence, Weapons, Drugs & Tobacco, Hate Symbols, Swimwear and more) with thresholds and an action - Ignore, Review or Block. The most specific rule wins, so "Weapons: Review" can relax "Violence: Block" for a shooter while graphic violence stays blocked. Start from the All Ages, Teen or Mature preset, treat drawings and sprays more leniently, combine the verdicts of several images and judge whole videos with timestamps of the offending frames.

Images come from anywhere: Moderate Texture reads editor source art, CPU-readable runtime textures and - drawn through a temporary render target - compressed and streamed textures. Render targets are read on the game thread and encoded on a worker. Screenshots are taken in memory without writing a file. Files in any format the engine decodes are converted and downscaled automatically.

The same plugin brings the rest of Rekognition to Blueprints: Detect Labels with boxes, dominant colours and image quality; Detect Text for words in sprays and signs; Detect Faces with age range, emotions, eyes open and sunglasses, and Check Profile Photo for avatar rules; Compare Faces; Detect Protective Equipment; Recognize Celebrities to stop impersonation. Face collections and users find duplicate accounts and banned players, and stored-video jobs moderate uploaded clips with Wait For nodes that poll and collect every page.

Players get credentials from an Amazon Cognito identity pool, as guests or signed in through Set Login Token. Static keys and the default AWS credential chain are available for development, dedicated servers and tools. Requests and image encoding run on background worker threads with automatic retries, and every result arrives on the game thread.

RekognitionGuard is part of the Alpha XP AWS collection for Unreal Engine 4.27 and 5.8. It includes the AWS SDK for C++ prebuilt for Win64, Linux and Android and ships with styled HTML documentation.

36Blueprint nodes
5Events
22Project settings
2Engine builds

Key features

  • Is Image Safe, Moderate Texture, Moderate Render Target, Moderate Screenshot: On
  • Moderation policies with category rules and thresholds, All Ages / Teen / Mature
  • Evaluate Moderation, Evaluate Video Moderation, Combine Verdicts, Verdict To Text,
  • Image input from bytes, files, UTexture2D (also compressed / streamed), render
  • JPEG encoding with the engine ImageWrapper and automatic downscaling under the 5 MB limit
  • Detect Labels (boxes, dominant colours, image quality, filters), Detect Text, Detect
  • Detect Protective Equipment, Recognize Celebrities, Get Celebrity Info
  • Check Profile Photo, Count Objects, Find Label, Get Text Lines, Bounding Box To Pixels
  • Face collections and users: create, describe, list, index, search, delete, associate
  • Stored video: content moderation and label detection jobs with Wait For nodes
  • Amazon Cognito identity pools, static keys and the default AWS credential chain
  • 75 Blueprint nodes, cancellable latent nodes, results on the game thread

Blueprint & C++ API

Every call is reachable from more than one place β€” pick the entry point that fits your project:

ClassTypeNodesUse it for
RekognitionGuardLibraryFunction library24Configuration, identity, image and vision helpers for RekognitionGuard.
RekognitionGuardModerationLibraryFunction library10UGC moderation policies and verdicts: local, instant, no AWS call.
Async action nodesLatent Blueprint nodes2Latent node with success / failure output pins.

Callable runs when executed Β· Pure no exec pin, returns a value Β· LatentAsync finishes later and fires its outputs

RekognitionGuard 2

NodeTypeAvailable onDescription
CancelAsyncAsyncStops waiting for this request: none of its output pins fire any more. The request itself may still complete on AWS.
Is FinishedAsyncAsyncTrue after Cancel was called or the node finished.

Config 3

NodeTypeAvailable onDescription
Set Region(Region: String)CallableStaticSwitches the AWS region used by every following request.
Set Credential Mode(Mode: Rekognition Guard Credential Mode)CallableStaticOverrides the credential mode from the project settings at runtime.
Is Configured() β†’ Boolean, ProblemPureStaticChecks the settings and returns false with a reason when requests cannot work yet.

Identity 5

NodeTypeAvailable onDescription
Set Login Token(Provider: String, Token: String)CallableStaticSigns the player in to the Cognito identity pool with a token from an identity provider.
Clear Login TokensCallableStaticForgets all login tokens and the cached identity (the player becomes a guest again).
Set Static Credentials(Access Key Id: String, Secret Access Key: String, Session Token: String)CallableStaticUses these credentials from now on (Static Keys mode), for example temporary keys handed out by your own backend.
Get Identity Id() β†’ StringPureStaticThe Cognito identity id of this player, empty until credentials were resolved once.
Make User Pool Provider Name(Region: String, User Pool Id: String) β†’ StringPureStaticBuilds the identity-pool login key of a Cognito user pool: cognito-idp.<region>.amazonaws.com/<user pool id>.

Images 5

NodeTypeAvailable onDescription
Make Image From Bytes(Bytes: Array of Byte) β†’ Rekognition Guard ImagePureStaticWraps encoded image bytes (for example a file the player picked or an HTTP download). Width / Height are read from a JPEG / PNG header.
Make S 3 Image(Bucket: String, Key: String, Version: String) β†’ Rekognition Guard ImagePureStaticAn image stored in Amazon S3 (the bucket must be in the Rekognition region and readable by the caller's role).
Get Image Format(Image: Rekognition Guard Image) β†’ Rekognition Guard Image FormatPureStaticThe container of the image bytes: JPEG, PNG, Other (converted before sending) or Unknown. S3 images return Unknown.
Is Image Valid(Image: Rekognition Guard Image) β†’ Boolean, ProblemPureStaticTrue when the image can be sent: S3 bucket + key, or bytes of a format the engine can decode. Problem says why not.
Bounding Box To Pixels(Box: Rekognition Guard Bounding Box, Image Width: Integer, Image Height: Integer) β†’ Top Left, SizePureStaticConverts a normalized box (0..1) to pixels of an image or widget of the given size (origin top left).

Faces 1

NodeTypeAvailable onDescription
Make Safe Id(Text: String) β†’ StringPureStaticMakes a valid Rekognition id (collection, user or external image id) from any text, for example a player name: [A-Za-z0-9_.-], max 128.

Vision 10

NodeTypeAvailable onDescription
Get Top Label(Labels: Array of Rekognition Guard Label) β†’ Boolean, LabelPureStaticThe label with the highest confidence. False when the array is empty.
Filter Labels By Confidence(Labels: Array of Rekognition Guard Label, Min Confidence: Float) β†’ Array of Rekognition Guard LabelPureStaticLabels at or above Min Confidence, highest first.
Find Label(Labels: Array of Rekognition Guard Label, Name: String, Include Related: Boolean) β†’ Boolean, LabelPureStaticFinds a label by name (case-insensitive). With Include Related a label whose parents or aliases contain the name also matches ("Vehicle" finds "Car").
Get Labels In Category(Labels: Array of Rekognition Guard Label, Category: String) β†’ Array of Rekognition Guard LabelPureStaticLabels of one label category, for example "Animals and Pets" or "Weapons and Military".
Count Objects(Labels: Array of Rekognition Guard Label, Name: String, Min Confidence: Float) β†’ IntegerPureStaticNumber of located instances of an object, for example how many "Person" are in a screenshot.
Get Text Lines(Detections: Array of Rekognition Guard Text Detection, Min Confidence: Float, Words: Boolean) β†’ Array of String, Full TextPureStaticThe lines (or words) of Detect Text in reading order, plus all of it as one string.
Get Dominant Emotion(Face: Rekognition Guard Face Detail) β†’ Boolean, Emotion, ConfidencePureStaticThe strongest emotion of a face (needs the Emotions attribute). False when none was returned.
Get Largest Face(Faces: Array of Rekognition Guard Face Detail) β†’ Boolean, Face, IndexPureStaticThe face with the biggest bounding box (the person closest to the camera). Index is -1 when there are no faces.
Check Profile Photo(Faces: Array of Rekognition Guard Face Detail, Requirements: Rekognition Guard Photo Requirements) β†’ Boolean, ProblemsPureStaticChecks Detect Faces results against avatar / profile photo rules: one clear, frontal, sharp, bright face without sunglasses or occlusion.
Check Required Equipment(Person: Rekognition Guard Person, Required: Array of Rekognition Guard Equipment, Min Confidence: Float) β†’ Boolean, MissingPureStaticTrue when the person wears (covers the body part with) every required item. Missing lists the items that were not found.

Moderation 10

NodeTypeAvailable onDescription
Get Moderation Categories(Parent: String) β†’ Array of StringPureStaticThe moderation label taxonomy (version 7): with Parent empty the 10 top-level categories, otherwise the level-2 labels of that category. Use the names in policy rules.
Make Moderation Policy(Preset: Rekognition Guard Policy Preset) β†’ Rekognition Guard Moderation PolicyPureStaticA ready-made policy (All Ages, Teen, Mature) to use directly or to tweak.
Evaluate Moderation(Labels: Array of Rekognition Guard Moderation Label, Policy: Rekognition Guard Moderation Policy, Content Types: Array of Rekognition Guard Content Type) β†’ Rekognition Guard VerdictPureStaticTurns moderation labels into Allowed / Review / Blocked with reasons.
Evaluate Video Moderation(Labels: Array of Rekognition Guard Timed Moderation Label, Policy: Rekognition Guard Moderation Policy) β†’ Rekognition Guard VerdictPureStaticVerdict for a whole video: every timestamp is judged on its own, reasons carry the timestamps of the offending frames.
Combine Verdicts(Verdicts: Array of Rekognition Guard Verdict) β†’ Rekognition Guard VerdictPureStaticThe strictest of several verdicts (for example all images of a gallery or the frames of an animated spray), reasons merged.
Verdict To Text(Verdict: Rekognition Guard Verdict) β†’ StringPureStaticA one-line summary for logs and moderator tools, for example "Blocked: Explicit Nudity 97%, Weapons 88%".
Get Top Level Category(Label: Rekognition Guard Moderation Label, All Labels: Array of Rekognition Guard Moderation Label) β†’ StringPureStaticTop-level category of a label, using the other labels of the same result and the built-in taxonomy ("Weapons" -> "Violence").
Filter Moderation Labels(Labels: Array of Rekognition Guard Moderation Label, Max Taxonomy Level: Integer, Min Confidence: Float) β†’ Array of Rekognition Guard Moderation LabelPureStaticKeeps labels up to a taxonomy level (1 = categories only, 2 = categories + sub-categories, 3 = all) and at or above Min Confidence.
Set Default Moderation Policy(Policy: Rekognition Guard Moderation Policy)CallableStaticReplaces the default policy (used when a node's Policy has no rules) until the game ends.
Get Default Moderation Policy() β†’ Rekognition Guard Moderation PolicyPureStaticThe policy used when a node's Policy has no rules: Set Default Moderation Policy, else the preset from the settings.

Events & delegates

Bind these in Blueprint (drag off the object β†’ Bind Event) or with AddDynamic in C++.

EventParametersFires on
On SuccessIdentity Id (String), Error (Rekognition Guard Error)RekognitionGuardIdentityAction
On FailureIdentity Id (String), Error (Rekognition Guard Error)RekognitionGuardIdentityAction
On AllowedVerdict (Rekognition Guard Verdict), Image (Rekognition Guard Image), Error (Rekognition Guard Error)RekognitionGuardModerateAction
On ReviewVerdict (Rekognition Guard Verdict), Image (Rekognition Guard Image), Error (Rekognition Guard Error)RekognitionGuardModerateAction
On BlockedVerdict (Rekognition Guard Verdict), Image (Rekognition Guard Image), Error (Rekognition Guard Error)RekognitionGuardModerateAction

Project settings

Configure once under Project Settings β€Ί Plugins β€Ί RekognitionGuard β€” values are saved to the project's config .ini, so they travel with the project and your build.

SettingSectionTypeWhat it does
RegionConnectionStringAWS region of Rekognition, your S3 buckets and your identity pool, for example "us-east-1" or "eu-west-1".
Credential ModeCredentialsCredential ModeWhere request credentials come from.
Identity Pool IdCredentialsStringCognito identity pool, for example "us-east-1:01234567-89ab-cdef-0123-456789abcdef".
Allow Guest AccessCredentialsBooleanAllow unauthenticated (guest) identities before Set Login Token is called. The pool must allow guest access too.
Access Key IdCredentialsStringAccess key for Static Keys mode. Keys saved here end up in DefaultGame.ini - use them for development and servers only.
Secret Access KeyCredentialsStringSecret key for Static Keys mode.
Allow Static Keys In ShippingCredentialsBooleanStatic keys are refused in Shipping builds unless this is enabled (for example on a dedicated server).
Endpoint OverrideConnectionStringCustom endpoint, for example a local emulator such as "http://localhost:4566". Empty = the regional AWS endpoint.
Request Timeout MsConnectionIntegerTotal time a request may take, in milliseconds.
Connect Timeout MsConnectionIntegerTime allowed to open the connection, in milliseconds.
Max RetriesConnectionIntegerAutomatic retries with exponential back-off for throttled and transient failures.
Worker ThreadsConnectionIntegerWorker threads that run requests and image encoding in the background (the game thread never blocks on AWS).
Verify SSLConnectionBooleanVerify TLS certificates. Only disable for a local emulator.
Log Sdk WarningsConnectionBooleanForward SDK warnings and errors to the Output Log (LogRekognitionGuard).
Default Policy PresetModerationPolicy PresetPolicy used by the moderation nodes when their Policy input has no rules (Set Default Moderation Policy overrides it at runtime).
Jpeg QualityImagesIntegerJPEG quality (40..100) for textures, render targets, screenshots and converted images.
Max Image DimensionImagesIntegerCaptured or converted images are downscaled so the longer side is at most this many pixels (smaller uploads, same results).
Screenshot Timeout SecondsImagesFloatSeconds Capture Screenshot / Moderate Screenshot wait for the viewport before failing.
Default Collection IdFacesStringFace collection used when a node's Collection Id is empty, for example "mygame-players".
Default Face Match ThresholdFacesFloatSimilarity (0..100) used when a face search node's threshold is 0 or below.
Video Poll Interval SecondsVideoFloatSeconds between status checks of the Wait For ... video nodes.
Video Wait Timeout SecondsVideoFloatThe Wait For ... video nodes give up after this many seconds (the job keeps running on AWS).

Options & enums

EnumValues
Credential ModeCognito Identity Pool Static Keys Default Credential Chain
VerdictAllowed Review Blocked
Rule ActionIgnore Review Block
Policy PresetAll Ages (Strict) Teen Mature
Image FormatUnknown JPEG PNG Other (converted)
Quality FilterAuto None Low Medium High
Face AttributeDefault All Age Range Beard Emotions Eye Direction Eyeglasses Eyes Open Gender Mouth Open Mustache Face Occluded Smile Sunglasses
EquipmentFace Cover Hand Cover Head Cover
Text TypeLine Word
Job StatusUnknown In Progress Succeeded Failed
Sort ByTimestamp Name

Compatibility

UE 4.27RekognitionGuard 4.27.zipUE 5.8RekognitionGuard 5.8.zip

One ready-made build per engine version is included in the download β€” copy the one that matches your project.

PlatformSupported in
WindowsEditor & packaged
LinuxEditor & packaged
AndroidPackaged builds
ModuleTypeLoading phase
RekognitionGuardRuntimeDefault

Technical details

Code modulesRekognitionGuard (Runtime), RekognitionGuardSdk (External, Source/ThirdParty - prebuilt AWS SDK for C++)
Blueprints0 Β· C++ classes: 26
Network replicatedNo
Development platformsWindows: Yes, Mac: No, Linux: Yes
Target build platformsWin64, Linux, Android
Third-party softwareYes - AWS SDK for C++ 1.11.916 (Apache-2.0), with the AWS Common Runtime libraries, in Source/ThirdParty/RekognitionGuardSdk
Engine versionsUnreal Engine 4.27 Β· 5.8 β€” a build for each is included
C++ classes26 + 44 structs
Blueprint nodes36
Events5
DocumentationDocumentation.html (in the download)
DownloadRekognitionGuard.zip Β· 37.3 MB
Versionv1.0.0

What's in the download

FileWhat it is
RekognitionGuard 4.27.zipPlugin build for Unreal Engine 4.27
RekognitionGuard 5.8.zipPlugin build for Unreal Engine 5.8
Documentation.htmlDocumentation (open in a browser)

Quick start

  1. Unzip the download and pick the build that matches your engine (4.27 Β· 5.8).
  2. Copy the RekognitionGuard folder into your project's Plugins/ folder (create it if needed).
  3. Open the project, enable RekognitionGuard under Edit β€Ί Plugins and restart the editor.
  4. Fill in Project Settings β€Ί Plugins β€Ί RekognitionGuard.
  5. Right-click in any Blueprint graph and search RekognitionGuard β€” or include the public headers from C++.
  6. Package for your target platform (Windows, Linux, Android).

Good to know

Built for Unreal Engine 4.27 and 5.8. Requires an AWS account; Amazon Rekognition usage is billed by AWS per image and per minute of video. Face collections store face vectors that identify people - ask players for consent and delete their faces with their account. On Linux and Android the SDK uses the engine's libcurl and OpenSSL and the engine's certificate store. On Win64 the SDK is one DLL with a plugin-specific name, so RekognitionGuard can be installed next to other AWS-based plugins. Never ship long-term access keys in a game client: use a Cognito identity pool for players. Developed and maintained by Alpha XP.

Everything included

  • Is Image Safe, Moderate Texture, Moderate Render Target, Moderate Screenshot: On…
  • Moderation policies with category rules and thresholds, All Ages / Teen / Mature…
  • Evaluate Moderation, Evaluate Video Moderation, Combine Verdicts, Verdict To Text,…
  • Image input from bytes, files, UTexture2D (also compressed / streamed), render…
  • JPEG encoding with the engine ImageWrapper and automatic downscaling under the 5 MB limit
  • Detect Labels (boxes, dominant colours, image quality, filters), Detect Text, Detect…
  • Detect Protective Equipment, Recognize Celebrities, Get Celebrity Info
  • Check Profile Photo, Count Objects, Find Label, Get Text Lines, Bounding Box To Pixels…
  • Face collections and users: create, describe, list, index, search, delete, associate
  • Stored video: content moderation and label detection jobs with Wait For nodes
  • Amazon Cognito identity pools, static keys and the default AWS credential chain
  • 75 Blueprint nodes, cancellable latent nodes, results on the game thread

Platforms

WindowsLinuxAndroid

Requirements

  • Unreal Engine 4.27 and 5.8
  • Develop on Windows (Win64)
  • Blueprints and C++

In the download

FileRekognitionGuard.zip
FormatZIP
Size37.3 MB
Versionv1.0.0
Licence fileIncluded in the archive
SHA-25624ccb71ed53b3c6c…

Personal

$46.99

One non-commercial project

  • 1 activation seat
  • 1 year of updates
  • One end product
  • Non-commercial use
  • Community support
  • 14-day refund window
Read the Personal terms
β˜… Most popular

Commercial

$140.99

Ship paid products

  • 5 activation seats
  • 1 year of updates
  • One paid end product
  • Unlimited end users
  • Priority support
  • Source files
  • 14-day refund window
Read the Commercial terms

Extended

$444.00

Resell & white-label

  • Unlimited activation seats
  • Lifetime updates
  • Unlimited end products
  • White-label & resell
  • 1-hour SLA
  • Seat-free team use
  • 14-day refund window
Read the Extended terms

One purchase per product, no subscription. Each licence comes with a signed key β€” 1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended. Paid licences can be refunded within 14 days from your order page.

  1. v1.0.0Latest
    • Unreal Engine 4.27 and 5.8
    • Blueprint and C++ API, HTML documentation
β€”
β˜…β˜…β˜…β˜…β˜…
No reviews yet
5β˜…0%
4β˜…0%
3β˜…0%
2β˜…0%
1β˜…0%

Be the first to review RekognitionGuard β€” reviews come from customers who bought it, so every one is a verified purchase.

Reviews are for customers who bought RekognitionGuard.
Email supportsupport@alphaxp.net β€” include your order reference.
What support coversInstallation help, download or activation problems, and questions about documented behaviour, for your licence term.
Keys & downloadsLost a key or a download link? Everything you bought is in My library.
Refunds & terms14-day refunds from your order page. Refund policy Β· Personal terms Β· Commercial terms Β· Extended terms

Frequently asked

How do I get the files after paying?

Straight after checkout you land on your order page with the download button and your licence key. A receipt is emailed to you, and every order stays in My library.

Which licence do I need?

Personal β€” One non-commercial project. Commercial β€” Ship paid products. Extended β€” Resell & white-label. The Licences tab compares them side by side.

On how many devices can I activate it?

1 seat on Personal, 5 seats on Commercial, unlimited seats on Extended.

How long do I get updates?

Personal: 1 year of updates, Commercial: 1 year of updates, Extended: lifetime updates, counted from your purchase.

Can I get a refund?

Yes β€” paid licences can be refunded within 14 days, straight from your order page.

Is the download safe?

The file was scanned with ClamAV when it was published. Its SHA-256 checksum is listed under Features β†’ In the download, so you can verify the file you receive.

Do I need an account?

No. Checkout only needs your email. Signing in keeps all your purchases, keys and downloads together in My library.

More like this

From the same studio
$46.99Personal licence Β· RekognitionGuard
✦ Why TechHarbour

Software you own, from the people who built it.

117 products, one studio. Each ships with a signed licence key, an instant download and 14-day refunds β€” and every file is malware-scanned before it goes on sale.