For more information, screenshots, documentation, and examples, visit the official PNG page and documentation:
https://hllink-hub.web.app/
https://hllink-hub.web.app/name-generator
https://hllink-hub.web.app/name-generator/documentation
Generate procedural names for characters, creatures, locations, factions, items, or invented languages — all based on your own datasets.
Procedural Name Generator constructs names by extracting short syllable fragments from example lists and recombining them using simple frequency analysis and weighted transitions.
This approach allows you to reproduce the “style” of your input data without using predefined name pools or hand-crafted lists.
Core Workflow
The system is entirely data-driven:
• You load one or multiple datasets
• Each example line is split into tokens (by spaces, dashes, and underscores)
• The first token of each line is treated as the “base” part of the name
• Middle short tokens (typically very short words) are treated as candidates for “linking” or “preposition-like” parts
• Remaining tokens are treated as generic modifiers and used only as patterns for compound names
• Syllables of 2–3 letters are collected from all datasets
• Frequency maps and adjacency weights are built from real occurrences
• Names are generated by combining syllables according to these weights
This produces names that statistically resemble the structure of the examples you provide, while avoiding repetitive or invalid patterns.
Syllable Extraction & Combination
The generator builds syllables by scanning all input text:
• Start syllables, mid syllables, and end syllables extracted separately
• Frequency-based scoring to choose the most relevant fragments
• Weighted adjacency combinations learned directly from your input
• Optional descriptor syllables to give a more “constructed language” feel
• Automatic prevention of common issues such as:
– repeated micro-patterns
– excessive trailing consonant clusters
– overuse of identical fragments in sequence
This ensures outputs remain readable and stylistically close to the dataset.
Compound Name Generation
The plugin optionally generates compound names using structures derived from your examples:
• Base only
• Base + Adjective
• Base + Preposition + Adjective
• Base + Secondary Base (fallback mode)
• Optional swap of compound order when appropriate
Compound probabilities are inferred from the dataset itself (how often your examples include additional tokens).
Dataset Flexibility
You can load any type of list:
• personal names
• creature names
• region or settlement names
• item or weapon names
• cultural/linguistic word lists
• invented languages
• mixed or multi-category datasets
Because everything is driven by your examples, the generator adapts to whatever naming style you provide.
Blueprint & C++ Integration
The entire system is accessible from both Blueprints and C++:
• Load datasets from file or string
• Generate single names or batches
• Enable or disable descriptor syllables
• Enable or disable compound names
• Control capitalization and word order
• Retrieve full generator statistics (counts, probabilities, syllable availability, etc.)
A dedicated stats struct is included for diagnostics and integration with procedural pipelines.
Output Stability & Safety
• Deterministic generation when using explicit seeds
• Supports runtime and editor-time usage
• Pure logic layer with no rendering dependencies
• Safe to call repeatedly for mass name creation (NPCs, factions, settlements, items, etc.)
Included Examples
The plugin includes small example datasets demonstrating:
• personal names
• creature names
• adjectives and short descriptors
• preposition-like tokens
• combined lists for testing compound structures
These are provided purely as references — the intended workflow is for you to supply your own datasets.
Designed for Modern Unreal Engine
Procedural Name Generator is built for Unreal Engine 5.x with a clean, compact architecture and minimal overhead.
It fits naturally into procedural world generation, RPG systems, strategy layers, simulation games, and tool/editor extensions.