Price history
Recorded standalone sale prices and the latest available store price, in USD. Historical dots use the sale start date and its recorded offer price. Prices can change during a sale; this is not a daily price log. Bundle prices and upcoming offers are excluded. History covers up to the 100 most recent recorded offers.
Lowest recorded standalone price in this history: $10.99. The latest store price is $10.99, matching the lowest recorded price shown here.
View 1 recorded price
| Sale start / price check | Price | Observation |
|---|---|---|
| $10.99 | Latest store price |
About Language and Profanity Filter
- Tools, Systems & Learning > Development Tools & Automation
Language and Profanity Filter is the ultimate text-moderation toolkit for your Unity project — chat, usernames, user-generated content, anywhere players can type.
Out of the box you get profanity filtering for 33 languages: Arabic, Bengali, Chinese, Czech, Danish, Dutch, English, Esperanto, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Spanish, Swahili, Swedish, Tagalog, Thai, Turkish, Ukrainian, and Vietnamese. Every word can be tagged Mild / Moderate / Severe so you can ship strict in production while logging everything for moderation review.
A full pattern-filter suite ships alongside the wordlists:
• PII / contact info - phone numbers, credit cards (Luhn-validated), IP addresses, crypto wallet addresses, emails, websites
• Off-platform contact - Discord / Telegram / WhatsApp / Signal / Snapchat invites, configurable @ / # social handles, @-mention resolution against a pluggable user directory
• Bypass defeat - Unicode homoglyph normalisation, zero-width strip, Zalgo strip, per-language leet maps with Off / Conservative / Aggressive aggressiveness, context-aware allowlists for false positives like "Scunthorpe"
• Chat hygiene - repeated-character collapsing, all-caps shouting, excessive whitespace, emoji cap (cluster-aware: skin-tones, ZWJ families, and flags count as one)
Compose anything: drop multiple filters into a FilterChain asset and treat them as a single filter. Per-row enable / Solo / Disable-all from a custom reorderable inspector - no code edits needed to A/B a moderation policy.
Structured results: every filter exposes FilterValuesDetailed(string) returning per-match metadata (offset, length, original, replacement, severity, filter name) for moderation queues, audit logs, analytics, undo, and "show the user what got blocked" UIs.
Pluggable wordlist sources: ship a base list bundled, then layer a URL-hosted JSON override on top so you can update slang and trending evasions without re-publishing the game. Ships with EmbeddedLanguageDataSource, RemoteJsonLanguageDataSource (auto-cached to Application.persistentDataPath), and CompositeLanguageDataSource.
Editor tooling
• Test Bench (Tools → Language Filter → Test Bench) — live preview any filter or chain as you type, see per-match severity highlights, copy one-line [TestCase] fixtures straight into NUnit
• Wordlist Importer - ingest TSV / CSV / JSON / TXT with severity, preview the diff, rewrite the language block
• Custom inspectors + opt-in toggles so the raw word list never accidentally lands on screen
Two output styles: replace matches with a placeholder (e.g. ***) or wrap them with a prefix/suffix (e.g. / ) for rich-text strikethrough.
Built for production: ReDoS-safe (every regex has a match timeout + max-input-length guard), thread-safe regex caches, allocation-free no-match path, optional TMP support via a separate LanguageFilter.TMP assembly, comprehensive unit tests + a property-based fuzz suite.
Out of the box you get profanity filtering for 33 languages: Arabic, Bengali, Chinese, Czech, Danish, Dutch, English, Esperanto, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Spanish, Swahili, Swedish, Tagalog, Thai, Turkish, Ukrainian, and Vietnamese. Every word can be tagged Mild / Moderate / Severe so you can ship strict in production while logging everything for moderation review.
A full pattern-filter suite ships alongside the wordlists:
• PII / contact info - phone numbers, credit cards (Luhn-validated), IP addresses, crypto wallet addresses, emails, websites
• Off-platform contact - Discord / Telegram / WhatsApp / Signal / Snapchat invites, configurable @ / # social handles, @-mention resolution against a pluggable user directory
• Bypass defeat - Unicode homoglyph normalisation, zero-width strip, Zalgo strip, per-language leet maps with Off / Conservative / Aggressive aggressiveness, context-aware allowlists for false positives like "Scunthorpe"
• Chat hygiene - repeated-character collapsing, all-caps shouting, excessive whitespace, emoji cap (cluster-aware: skin-tones, ZWJ families, and flags count as one)
Compose anything: drop multiple filters into a FilterChain asset and treat them as a single filter. Per-row enable / Solo / Disable-all from a custom reorderable inspector - no code edits needed to A/B a moderation policy.
Structured results: every filter exposes FilterValuesDetailed(string) returning per-match metadata (offset, length, original, replacement, severity, filter name) for moderation queues, audit logs, analytics, undo, and "show the user what got blocked" UIs.
Pluggable wordlist sources: ship a base list bundled, then layer a URL-hosted JSON override on top so you can update slang and trending evasions without re-publishing the game. Ships with EmbeddedLanguageDataSource, RemoteJsonLanguageDataSource (auto-cached to Application.persistentDataPath), and CompositeLanguageDataSource.
Editor tooling
• Test Bench (Tools → Language Filter → Test Bench) — live preview any filter or chain as you type, see per-match severity highlights, copy one-line [TestCase] fixtures straight into NUnit
• Wordlist Importer - ingest TSV / CSV / JSON / TXT with severity, preview the diff, rewrite the language block
• Custom inspectors + opt-in toggles so the raw word list never accidentally lands on screen
Two output styles: replace matches with a placeholder (e.g. ***) or wrap them with a prefix/suffix (e.g. / ) for rich-text strikethrough.
Built for production: ReDoS-safe (every regex has a match timeout + max-input-length guard), thread-safe regex caches, allocation-free no-match path, optional TMP support via a separate LanguageFilter.TMP assembly, comprehensive unit tests + a property-based fuzz suite.