Production-ready text-moderation toolkit: 33-language profanity filtering with severity tiers, 12 pattern filters (PII, links, emoji, mentions), composable chains, structured per-match results.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, websitesOff-platform contact - Discord / Telegram / WhatsApp / Signal / Snapchat invites, configurable @ / # social handles, @-mention resolution against a pluggable user directoryBypass 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 toolingTest 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 NUnitWordlist Importer - ingest TSV / CSV / JSON / TXT with severity, preview the diff, rewrite the language blockCustom 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.


