What is a File Extension?
A file extension is the suffix that appears after the last period in a filename. Extensions tell Windows what type of data a file contains and which application should open it. For Unturned™ mod development at 57 Studios™, recognizing file extensions on sight is essential, because the same project folder typically contains a dozen or more distinct file types, each with its own purpose. This reference explains how extensions work, how Windows uses them, and which extensions appear most often in Unturned mod projects.
This article assumes no prior technical background. It is written for the developer who has just installed Windows for the first time, or who has used Windows for years without ever consciously examining the rules behind filenames. By the end of the article, the reader will be able to identify any file in an Unturned mod project on sight, predict which application Windows will open it with, and avoid the most common mistakes that result in corrupted or unloadable mods.
Prerequisites
- Completion of What is a Folder?
- A Windows computer
- File Explorer accessible from the taskbar or Start menu
What you'll learn
- The exact definition of a file extension and the rules Windows uses to identify it
- How Windows uses extensions to choose default applications
- How to enable visible extensions in File Explorer on every supported version of Windows
- A comprehensive reference table of extensions used in Unturned mod development
- How to safely change a file's extension when needed
- How to recognize and avoid filename-based security threats
- The full lifecycle of a mod asset file from authoring tool to packaged release
Background
The use of short suffixes to identify file types dates to early CP/M and MS-DOS operating systems, where filenames were limited to eight characters plus a three-character extension. This format, known as 8.3, defined the convention of separating the name and the type with a period. Although modern Windows file systems support filenames hundreds of characters long, the period-and-suffix convention has remained.
The persistence of the convention across more than five decades reflects a deeper truth about file management. A short suffix is the fastest possible visual cue for file type. A glance at Icon.png immediately communicates that the file holds a raster image. The same information conveyed through a verbose label, an icon overlay, or a metadata sidecar would be slower to read and harder to scan across a directory listing of several hundred files.
As shown in the flowchart above, the modern extension convention is a direct descendant of the 8.3 filename rules. The technical limitation that originally required short extensions has been gone for thirty years, but the convention has persisted because it is concise, readable, and universally recognized.
Did you know?
The 8.3 filename format imposed by early operating systems is the reason most common file extensions are exactly three characters long. Extensions such as .txt, .exe, and .png reflect the original CP/M heritage. Newer extensions such as .json and .unity3d are unconstrained by that limitation but remain similarly compact for readability.
Did you know?
The first file extension widely adopted across the personal computing industry was .COM, used by MS-DOS for small executable programs. The convention spread to other system types (.EXE, .BAT, .SYS) within the first year of MS-DOS distribution, and from there into every application category that needed to distinguish its files from those of other applications.
The anatomy of a filename
Every filename in Windows is structured into two parts separated by the final period in the name. The portion before the final period is the stem. The portion after the final period is the extension. Windows uses the extension and ignores the stem when deciding which application to use to open the file.
| Component | Example value | Role |
|---|---|---|
| Stem | Eaglefire | Human-readable name chosen by the author |
| Period | . | Separator between stem and extension |
| Extension | dat | Type identifier used by Windows to choose an application |
| Complete filename | Eaglefire.dat | The combined string stored on disk |
The stem can contain almost any character and can be arbitrarily long up to the file system's limit. The extension is conventionally three or four characters but can technically be any length. Windows recognizes the final period in the filename as the separator, which means a filename with multiple periods has only one extension.
Filename parsing example
AccuracyInternational_AWM.scope.dat
\____________________________/\____/
stem ext
Result: Windows treats this as a .dat file.
The intermediate ".scope" is part of the stem.The ASCII diagram above shows how Windows parses a multi-period filename. Only the suffix after the last period is treated as the extension. The intermediate text becomes part of the stem.
Best practice
Avoid placing periods inside the stem of a filename for mod project files. Multi-period names are technically legal but invite confusion: a teammate scanning the directory may misread the file's type at a glance. Reserve the period for its proper role as the extension separator and use underscores or hyphens to organize the stem.
How Windows uses extensions
When a user double-clicks a file in File Explorer, Windows examines the file's extension and consults a registry of file associations to determine which application should handle the file. A file named Eaglefire.dat opens in whatever application is registered to handle .dat files, while Icon.png opens in the default image viewer.
This registry mapping is the reason mod developers must keep extensions correct. A renamed file with the wrong extension may fail to open, may open in the wrong application, or may cause the mod loader to silently skip the file.
The sequence diagram above traces the steps Windows takes when a user opens a file. The extension drives the entire interaction.
What lives inside the Windows file association registry
The file association registry is maintained at two levels. The first level is the system-wide registry hive at HKEY_CLASSES_ROOT, which contains the default associations shipped with Windows itself. The second level is the per-user registry hive at HKEY_CURRENT_USER\Software\Classes, which contains the user's customizations. When a user explicitly selects an application to open a particular file type, Windows writes a record into the per-user hive that overrides the system-wide default.
| Layer | Registry path | Contents |
|---|---|---|
| System default | HKEY_CLASSES_ROOT\.png | The default application for PNG files at Windows install time |
| User override | HKEY_CURRENT_USER\Software\Classes\.png | The user-selected application for PNG files |
| Effective | (merged) | The user override takes precedence; falls back to system default |
The merged result is what File Explorer consults when it opens a file. A user who has never explicitly chosen an application for .png files will get the system default; a user who has clicked "Open with > Choose another app > Always use this app" for a PNG file at any point in the past will get their chosen application.
Did you know?
The Windows file association registry has been continuously extended since Windows 95 introduced the file extension system in its modern form. Modern Windows preserves backward compatibility with three decades of file association decisions, which is part of the reason a Windows installation can recognize hundreds of file types without any user intervention.
Enabling visible extensions in File Explorer
Windows hides file extensions by default. This setting must be changed for mod development work, because identifying file types on sight is essential.
On Windows 11
- Open File Explorer.
- Click the View menu in the toolbar.
- Hover over Show to expand its submenu.
- Click File name extensions to toggle the option on.
On Windows 10
- Open File Explorer.
- Click the View tab in the ribbon at the top of the window.
- In the Show/hide group on the right side of the ribbon, check the File name extensions checkbox.
On older Windows versions
- Open File Explorer (sometimes labeled "Windows Explorer").
- Press Alt to reveal the classic menu bar.
- Click Tools > Folder options.
- Switch to the View tab in the dialog.
- Uncheck the option labeled Hide extensions for known file types.
- Click OK.
The result is identical across all three procedures: extensions become visible after every filename in File Explorer.
Pro tip
Enable visible extensions on every Windows installation used for mod development. The few seconds spent toggling this setting prevent hours of confusion when a file appears with the wrong icon or refuses to open.
Best practice
After enabling visible extensions on a new Windows installation, also enable the display of hidden files and protected system files. Both options live in the same View menu in File Explorer. The combination produces a full picture of the file system, which is what mod development requires.

Common extensions in Unturned mod development
The table below lists the file extensions a mod developer encounters most frequently, the type of data each contains, and the typical application used to work with it.
| Extension | Type | Typical application |
|---|---|---|
.dat | Unturned configuration data | Notepad++ or any text editor |
.json | Structured configuration data | Notepad++ or any text editor |
.png | Raster image | Photoshop, GIMP, image viewer |
.tga | Targa raster image | Photoshop, GIMP |
.jpg | Compressed raster image | Image viewer |
.fbx | 3D model exchange format | Blender, Unity, Maya |
.blend | Blender source file | Blender |
.obj | Simple 3D model | Blender, any 3D viewer |
.unity3d | Compiled Unity asset bundle | Unturned at runtime |
.asset | Unity asset metadata | Unity Editor |
.meta | Unity import settings | Unity Editor (typically not opened manually) |
.prefab | Unity prefab object | Unity Editor |
.cs | C# source code | Visual Studio, Notepad++ |
.dll | Compiled .NET library | (linked at runtime) |
.txt | Plain text | Notepad, Notepad++ |
.md | Markdown formatted text | Notepad++, markdown viewers |
.zip | Compressed archive | File Explorer, 7-Zip |
.rar | Compressed archive | 7-Zip, WinRAR |
The pie chart above approximates the distribution of file extensions found inside a mature mod project that includes both Unity Editor source files and packaged output.
Extensions grouped by mod-project role
The same extensions take on different roles within a mod project depending on the lifecycle stage. A .png file at authoring time is a source asset edited in Photoshop. The same .png file at packaging time is an input to the Unity Editor asset pipeline. After import, Unity emits a corresponding .meta file and ultimately bundles the texture into a .unity3d archive that ships with the mod.
| Lifecycle stage | Source extensions | Output extensions |
|---|---|---|
| Asset authoring | .png, .tga, .blend, .psd | (source files retained) |
| Asset export | (source) | .fbx, .png, .tga |
| Unity import | .fbx, .png, .tga | .meta, .asset |
| Configuration authoring | (text editor) | .dat, .json |
| Code authoring | (text editor or Visual Studio) | .cs |
| Compilation | .cs | .dll |
| Packaging | (Unity Editor) | .unity3d, .zip |
| Distribution | (packaged) | .zip (manual install) or Workshop |
The lifecycle table shows that the same physical file may be referenced under several extensions across the project's evolution. A texture authored as a Photoshop .psd, exported to .png, imported into Unity (gaining a .meta), and bundled into a .unity3d archive is the same image moving through five formats in service of a single visual element in the finished mod.
Did you know?
The Unturned mod loader at runtime parses approximately 17 distinct file extensions during the load of a typical mod. Each extension corresponds to a different subsystem (configuration, asset bundle, localization, dependency manifest, and so on). The mod loader silently skips any file whose extension is not on its recognized list, which is one of the most common causes of "my asset is not loading" support questions.
Comparison of similar-looking extensions
Several extensions look similar but represent distinct file types. Confusing them is a common source of mod development errors.
| Extension | What it is | What it is not |
|---|---|---|
.dat | Unturned configuration text | Generic binary data (the name is misleading) |
.asset | Unity serialized asset | A generic asset of any kind |
.unity3d | Compiled Unity asset bundle | A Unity Editor project file |
.fbx | Portable 3D format | A native Blender file |
.blend | Blender native source | A finished, exported 3D model |
.png | Lossless raster image | A vector image |
.jpg | Lossy raster image | A lossless image suitable for icon work |
.tga | Targa raster image with alpha support | A modern image format |
Common mistake
The .dat extension is famously generic across the software industry. Many unrelated applications use .dat for proprietary data files. In the context of Unturned modding specifically, .dat files are plain text configuration files that can be opened in any text editor. They are not encrypted, not compressed, and not binary.
Common mistake
A .jpg file is unsuitable for any Unturned asset that requires transparency. JPEG compression discards alpha channel information, so an icon authored as a .jpg will arrive in the game engine with no transparency at all. Use .png for any image that requires an alpha channel.
Decision flowchart: how to handle an unknown extension
The decision flowchart above describes the safe process for handling a file with an unfamiliar extension. Inspecting before opening prevents accidental damage to the file or unwanted application launches.
Changing a file's extension
Renaming a file to change its extension is sometimes necessary, but always carries risk. The contents of the file do not change when the extension is renamed; only the label changes. Renaming model.fbx to model.png does not convert the 3D model to an image. It only causes Windows to attempt to open the file as a PNG, which will fail because the contents are still FBX data.
Critical warning
Changing a file's extension does not convert the file's contents. Conversion between formats requires the appropriate application, such as Blender to convert between 3D formats, or Photoshop to convert between image formats. Never assume that renaming an extension is sufficient.
Legitimate reasons to rename an extension
There are a small number of cases where renaming an extension is the correct action. Each requires confidence that the file's underlying format already matches the new extension.
| Scenario | Original extension | New extension | Rationale |
|---|---|---|---|
| Recovering a corrupted download | .tmp or .crdownload | .zip | The download completed but the browser failed to rename the file |
| Examining a custom format | .unityweb | .unity3d | The contents are bundle data with a different label |
| Restoring after accidental rename | .png.bak | .png | Removing a backup-tool suffix |
| Cross-platform compatibility | .MOV (uppercase) | .mov (lowercase) | Linux file systems treat the two as distinct |
Each scenario assumes the file's internal byte content already matches the format implied by the target extension. Renaming alone never changes the file's contents.
The rename procedure in File Explorer
- Ensure visible extensions are enabled.
- Locate the file in File Explorer.
- Right-click the file and choose Rename.
- Modify the suffix after the last period.
- Press Enter.
- Confirm the warning dialog that Windows displays.
Windows displays a confirmation dialog whenever an extension is changed, specifically because the operation has historically been a source of confusion. Read the warning carefully and confirm only when intentional.
Hidden extensions and double extensions
A file named installer.exe is an executable program. A file named photo.png.exe, with extensions hidden by Windows, may display only as photo.png while remaining a fully executable program. This trick has been used by malicious software for decades to disguise dangerous files as harmless images or documents.
This is another reason every mod developer should enable visible extensions: the practice exposes deceptive filenames immediately.
Deceptive filename example
Extensions hidden in File Explorer:
+----------------------+
| photo.png | <-- appears safe
+----------------------+
Extensions visible in File Explorer:
+----------------------+
| photo.png.exe | <-- revealed as executable
+----------------------+
The file content has not changed.
Only the user's awareness of it has.The ASCII diagram above shows how the same file appears with extensions hidden versus visible. Enabling visible extensions is the single most useful security configuration a mod developer can apply to a Windows installation.
Best practice
Treat every file received from an external source with skepticism. Verify the source, verify the extension visibly in File Explorer, and scan unfamiliar files with antivirus software before opening.
Critical warning
A double-extension file such as photo.png.exe is one of the oldest social-engineering techniques in the personal computing industry. Modern malware continues to use it because it continues to work against users who have not enabled visible extensions. Enable visible extensions on every Windows installation, every time, no exceptions.

Advanced considerations
Some applications register their own custom extensions to indicate proprietary file formats. Blender uses .blend, Photoshop uses .psd, and so on. Mod project folders frequently contain a mix of source files in proprietary formats and exported files in portable formats. Maintaining both kinds of files allows the original source to be edited later, while the exported files are what actually ship in the published mod.
The source-versus-output distinction
A mature mod project maintains two parallel file hierarchies: a source hierarchy and an output hierarchy. The source hierarchy contains editable files in their native authoring formats. The output hierarchy contains the same content exported into formats the game engine can load.
| Hierarchy | Example extensions | Purpose | Versioned in source control? |
|---|---|---|---|
| Source | .psd, .blend, .cs, .dat | Editable authoring files | Yes |
| Output | .png, .fbx, .dll, .unity3d | Engine-loadable export | Sometimes (depends on workflow) |
The source-versus-output distinction has practical implications. A developer who only retains output files loses the ability to re-edit them later: a .png cannot be converted back into a fully layered .psd, and a .fbx cannot be converted back into a fully rigged .blend. The source files are the project's long-term value.
Best practice
Retain source files in the project hierarchy alongside their output equivalents. The disk space required for source files is small compared to the cost of re-authoring an asset whose original cannot be recovered. The 57 Studios internal convention places source files in a src/ subfolder parallel to the out/ folder that contains the engine-ready exports.
Compound extensions
A small number of file formats use compound extensions in which two periods are meaningful. The most common in the open-source world is .tar.gz, which denotes a tar archive that has been compressed with gzip. On Windows, compound extensions are unusual but do appear occasionally in cross-platform mod-tooling output.
When Windows encounters a compound extension, it treats only the suffix after the final period as the extension. A .tar.gz file is treated as a .gz file by Windows file association rules, even though the intended interpretation is that the file is a compressed tar archive.
Frequently asked questions
Why does my computer not show file extensions?
Windows hides extensions by default for what Microsoft considers user-friendliness: the operating system assumes that a beginner does not need to see the technical suffix and that hiding it produces a tidier presentation. The choice is contestable. For mod development, visible extensions are essential. Enable them through the View settings in File Explorer as described above.
Can a file have no extension?
Yes. Files without extensions exist, though they are uncommon on Windows. The operating system will prompt the user to select an application when one is double-clicked. On Linux and macOS, extension-less files are far more common because those operating systems do not rely on the extension to choose an application; they inspect the file's internal content instead. Mod files shared from Linux or macOS contributors occasionally arrive without extensions and require the developer to identify the type by inspection.
What happens if I delete the extension from a filename?
The file becomes unassociated with any application. Double-clicking it prompts the user to choose an application. The file's contents are unchanged; only the label has been altered. The fix is to restore the extension by renaming the file back to its proper form.
Are extensions case-sensitive on Windows?
No. Windows treats .PNG and .png identically. Some other operating systems, including Linux, do treat them as distinct, which can cause portability problems when sharing mod files across operating systems. The 57 Studios convention is to use lowercase extensions universally for cross-platform safety.
Why are some extensions three letters and others four or more?
The three-letter convention is a holdover from the original 8.3 filename rules of CP/M and MS-DOS. Extensions invented after the lifting of the 8.3 limit are free to use any length, but most stay short for readability. The four-letter .json and the seven-letter .unity3d are examples of modern extensions that exceed the historical limit.
Can I have two files with the same name but different extensions in the same folder?
Yes. Icon.png and Icon.tga can coexist in the same folder because their full filenames differ. This is a common pattern in mod projects when an asset is maintained in two formats during a format transition.
Does the operating system enforce a maximum extension length?
Windows file systems do not enforce a separate maximum for the extension portion of a filename. The full filename is limited to 255 characters on NTFS, and the extension can occupy any portion of that budget. In practice, extensions longer than 12 characters are vanishingly rare.
What happens when an Unturned mod includes a file with an extension the mod loader does not recognize?
The mod loader silently skips the file. The mod's other content loads normally, but the unrecognized file contributes nothing to the running mod. This is the most common cause of "my asset is not appearing in the game" support questions: a file with an incorrect extension is invisible to the mod loader even though it is present in the mod folder.
Should I write extensions in uppercase or lowercase?
Lowercase. Windows is case-insensitive, so the operating system itself does not care, but Linux contributors and cross-platform tooling occasionally treat case as significant. Lowercase is the safe default for any file that may travel outside a single Windows machine.
Are extensions visible inside an archive such as a ZIP file?
Yes. When File Explorer or a tool such as 7-Zip displays the contents of a ZIP archive, the filenames inside the archive carry their original extensions. The visibility setting in File Explorer applies to the archive contents as well as to files on disk.
What is the relationship between an extension and a MIME type?
A MIME type is a longer, internet-oriented label for file type, such as image/png or application/json. Web browsers and email systems rely on MIME types because they cannot inspect a file's location on a remote system; the MIME type travels alongside the file as a separate header. Windows uses the extension; the web uses the MIME type. The two systems are loosely aligned but not identical. The reference mapping for common Unturned-relevant extensions is below.
| Extension | MIME type |
|---|---|
.png | image/png |
.jpg | image/jpeg |
.json | application/json |
.txt | text/plain |
.zip | application/zip |
.dll | application/x-msdownload |
Why does my Unturned mod fail to load when I rename .dat to .json?
The Unturned mod loader recognizes .dat files as Unturned-format configuration text. The same content saved as .json is, from the loader's perspective, an unrecognized file type that is silently skipped. The internal content of the file is identical, but the loader's extension-based dispatch rejects the unfamiliar suffix.
Do file extensions work the same way on macOS?
Partially. macOS does inspect extensions but also relies on a parallel system of resource forks and embedded type metadata. Files moved from macOS to Windows occasionally arrive with both their extension and a hidden metadata sidecar (.DS_Store, ._filename). The sidecars are macOS artifacts and can be deleted without affecting the mod's functionality on Windows.
Best practices
- Enable visible extensions in File Explorer immediately after installing Windows
- Never rename a file's extension expecting the contents to change
- Verify the source of any file before opening it
- Memorize the extensions used in Unturned mod development
- Use lowercase extensions consistently for cross-platform portability
- Retain source files alongside their exported output equivalents
- Use underscores or hyphens to organize the stem; reserve periods for the extension separator
- Scan archives for double-extension files before extracting their contents
- Re-check the extension after any rename operation, especially after copying files between systems
Appendix: complete extension reference for Unturned modders
The following table is the full reference list of file extensions a 57 Studios developer is likely to encounter across a multi-year career in Unturned modding. It expands the common-extensions table earlier in this article with rarer extensions and the contexts in which they appear.
| Extension | Category | Source or output | Notes |
|---|---|---|---|
.dat | Configuration | Source | Plain text; opens in any editor |
.json | Configuration | Source | Structured data; used by newer tools |
.localization | Configuration | Source | Translation strings |
.txt | Text | Source | General-purpose documentation |
.md | Text | Source | Markdown-formatted documentation |
.png | Image | Both | Lossless raster; supports alpha |
.jpg | Image | Both | Lossy raster; no alpha |
.tga | Image | Source | Targa; common for textures |
.psd | Image | Source | Photoshop layered source |
.tiff | Image | Source | Rare; high-fidelity raster |
.fbx | Model | Both | Portable 3D model |
.obj | Model | Both | Simple text-based 3D model |
.blend | Model | Source | Blender layered source |
.dae | Model | Source | Collada interchange format |
.unity3d | Bundle | Output | Compiled asset bundle |
.asset | Bundle | Source | Unity serialized asset metadata |
.meta | Bundle | Source | Unity import settings |
.prefab | Bundle | Source | Unity prefab instance |
.unity | Scene | Source | Unity scene file |
.cs | Code | Source | C# source |
.dll | Code | Output | Compiled .NET library |
.pdb | Code | Output | Debug symbol database |
.csproj | Project | Source | Visual Studio C# project |
.sln | Project | Source | Visual Studio solution |
.zip | Archive | Output | Standard cross-platform archive |
.rar | Archive | Output | Older archive format |
.7z | Archive | Output | High-compression archive |
.exe | Executable | Output | Windows program |
.bat | Script | Source | Windows batch script |
.ps1 | Script | Source | PowerShell script |
The appendix table is not exhaustive but covers the great majority of files a working Unturned modder will encounter. Specialized projects (custom GUI mods, audio-heavy content, server-side automation) may introduce additional extensions outside this list.
Appendix: extension-by-application matrix
The matrix below cross-references the applications most often used in Unturned mod development against the extensions each application reads and writes. Reading the matrix vertically identifies which applications a file type can be opened in; reading horizontally identifies which file types an application can handle.
| Application | Reads | Writes |
|---|---|---|
| Notepad++ | .dat, .json, .txt, .md, .cs, .ps1, .bat | Same |
| Photoshop | .png, .jpg, .tga, .psd, .tiff | Same |
| GIMP | .png, .jpg, .tga, .xcf | Same |
| Blender | .blend, .fbx, .obj, .dae | Same |
| Unity Editor | .fbx, .obj, .png, .tga, .cs, .asset, .prefab, .unity, .meta | Same plus .unity3d |
| Visual Studio | .cs, .csproj, .sln, .dll, .pdb | Same |
| 7-Zip | .zip, .rar, .7z, .tar, .gz | Same |
| File Explorer | .zip (browse only) | None |
The matrix is the reference for the question "which application should I open this file in?" In practice, a single mod project session may cycle through five or six applications across the matrix as different file types are edited.
Appendix: extension changes across Unturned versions
Unturned has evolved significantly since its initial release in 2014, and the mod-relevant extension set has changed alongside the game. The table below summarizes the principal changes.
| Era | Configuration extensions | Asset bundle extensions | Notes |
|---|---|---|---|
| Unturned 2.x (2014-2015) | .dat only | (no bundles; raw files) | Single-file mods |
| Unturned 3.x early (2016-2017) | .dat, .localization | .unity3d introduced | Asset bundling formalized |
| Unturned 3.x current (2018-present) | .dat, .json, .localization | .unity3d, with multi-bundle support | Modern tooling |
| Forward (upcoming) | .json increasingly preferred | (continued evolution) | Direction signaled by 2024 dev updates |
The historical evolution explains why modern mod projects sometimes contain a mix of .dat and .json configuration files: older configurations were authored before .json support arrived, and the migration to .json has been gradual. Both formats remain supported by the mod loader.
Appendix: extension troubleshooting reference
The table below maps common symptoms a mod developer reports to the extension-related cause and the recommended fix. The reference is the consolidated 57 Studios support team triage list, refined across several years of beginner mod-developer onboarding.
| Symptom | Likely cause | Recommended fix |
|---|---|---|
| File opens in the wrong application | Default application has been changed for the extension | Right-click the file, choose Open with > Choose another app, set the correct application as default |
| File will not open at all | Extension is missing or unrecognized | Restore the extension by renaming; if unknown, inspect contents in a text editor |
| Mod loader skips a configuration file | Extension is .json when the loader expects .dat, or vice versa | Rename to the loader-expected extension after confirming the file's format is correct |
| Texture loads but has no transparency | Source authored as .jpg; alpha channel discarded | Re-author the texture as .png |
| 3D model appears as flat solid color | Texture path inside the model file references a missing image | Verify image extension and location relative to model file |
| Archive cannot be extracted | Extension is .rar but no RAR-capable tool is installed | Install 7-Zip; rename to .zip only if confident the underlying content is ZIP-formatted |
Compiled .dll is not recognized by Unturned | Built against the wrong .NET version | Rebuild against the Unturned-compatible .NET target |
| Configuration changes have no effect in game | File has double extension such as Item.dat.txt | Remove the trailing .txt and ensure visible extensions are enabled in File Explorer |
| Mod folder shows files with strange icons | Extensions hidden; double extensions disguised | Enable visible extensions and re-inspect filenames |
| Asset reference broken after rename | Reference inside another file still points to the old extension | Update the reference; do not rely on the rename alone |
The troubleshooting reference is intended for quick lookup during active development. Each row corresponds to a documented support thread in the 57 Studios community archive.
Appendix: command-line inspection of file extensions
Mod developers who prefer the command line can inspect extensions through PowerShell. The reference commands below are non-destructive and safe to run on any file.
# List all unique extensions in the current folder and its subfolders
Get-ChildItem -Recurse -File | Group-Object Extension | Sort-Object Count -Descending
# Count files of a specific extension across a project
(Get-ChildItem -Recurse -File -Filter '*.cs').Count
# Find every file with no extension at all
Get-ChildItem -Recurse -File | Where-Object { $_.Extension -eq '' }
# Find files with double extensions (rough heuristic)
Get-ChildItem -Recurse -File | Where-Object { $_.BaseName -match '\.' }The four commands above produce a summary of extension usage across a mod project. The first command is the most useful for a new project: it produces a count of files per extension, which highlights anything unexpected at the top or bottom of the list.
Pro tip
Run the unique-extensions command on every mod project at least monthly. The output reveals whether unintended files (backups, temporary files, editor swap files) have accumulated inside the project hierarchy. Cleaning up the long tail of one-off extensions keeps the project legible and reduces packaging surprises.
Appendix: filename character rules
The extension is only one part of the filename. The stem and the extension together follow a small set of character rules that Windows enforces. Violating these rules produces an error from File Explorer at rename time.
| Character | Allowed in filename? | Notes |
|---|---|---|
| Letters A-Z, a-z | Yes | Case-insensitive on Windows |
| Digits 0-9 | Yes | Allowed in any position |
Underscore _ | Yes | Common in mod project naming |
Hyphen - | Yes | Common in mod project naming |
Period . | Yes | Reserved as the extension separator; avoid elsewhere |
| Space | Yes | Allowed but awkward in cross-platform tools |
Less-than <, greater-than > | No | Reserved by Windows |
Colon : | No | Reserved by Windows |
Double-quote " | No | Reserved by Windows |
Forward-slash /, back-slash \ | No | Path separators |
| Pipe ` | ` | No |
Question mark ? | No | Reserved by Windows |
Asterisk * | No | Reserved by Windows |
The reserved characters are enforced at the file system level. An attempt to rename a file to include any of them produces an immediate Windows error.
Best practice
Use only letters, digits, underscores, and hyphens in mod project filenames. The conservative character set ensures the project survives transfer to Linux servers, archive extraction on macOS, and processing by command-line tools that may not handle spaces or other punctuation gracefully.
Appendix: how the operating system displays icons by extension
Windows associates an icon with each registered file extension. The icon is what File Explorer displays in the file's row. The icon is purely visual; it has no effect on the file's contents and no effect on which application opens the file.
The icon-to-extension mapping is maintained alongside the application association in the registry. Changing the default application for an extension typically changes the icon as well, because the application registers its own icon when it is installed. This is why a fresh Windows installation shows generic icons for unfamiliar extensions, and why icons may change when an application is installed or uninstalled.
The flowchart above traces the icon resolution path. The icon a user sees in File Explorer is the result of an automatic lookup that begins with the file's extension and ends with a graphic file shipped by the registered application.
Appendix: extension policies in 57 Studios projects
The 57 Studios internal style guide for mod projects standardizes a small number of extension-related conventions across every project the studio ships. The conventions are not unique to 57 Studios and align broadly with industry practice in Unturned modding, but they are documented here as a concrete reference for new contributors.
| Policy | Rule | Rationale |
|---|---|---|
| Case | Lowercase only | Cross-platform portability with Linux contributors |
| Configuration format | .dat for legacy, .json for new | Aligns with Unturned tooling direction |
| Image format | .png preferred, .tga allowed | Lossless raster with alpha support |
| Source retention | Source files retained alongside output | Long-term editability of project assets |
| Stem characters | Letters, digits, underscores, hyphens | Conservative cross-platform character set |
| Period usage | Reserved for the extension separator | Reduces filename parsing ambiguity |
| Archive format | .zip for distribution | Cross-platform extraction without third-party tools |
| Backup files | Named with .bak appended | Clearly distinguished from primary files |
The style guide is enforced through a combination of code review, the studio's internal packaging script (which fails the build on policy violations), and developer onboarding documentation. New contributors who follow the conventions produce builds that integrate cleanly with the rest of the studio's tooling.
Did you know?
The 57 Studios packaging script enforces lowercase extensions as a hard rule. A file named Icon.PNG will fail the build and produce an error pointing the developer to the affected file. The check exists because past projects shipped with mixed-case extensions that worked on Windows but broke on Linux dedicated servers running community mods.
Appendix: extension-related notes for cross-platform mods
Mods that ship for both Windows clients and Linux dedicated servers occasionally encounter extension-related friction. The friction points and their fixes are summarized below.
| Issue | Windows behavior | Linux behavior | Fix |
|---|---|---|---|
| Case sensitivity | .PNG and .png are the same file | .PNG and .png are distinct files | Use lowercase everywhere |
| Hidden extensions | Optionally hidden in File Explorer | Always visible in any file manager | Enable visible extensions on Windows |
| Default applications | Registry-based | MIME-based | Different mechanisms; not a portability concern for mod files |
| Reserved characters | Several reserved | Fewer reserved | Use the conservative Windows set everywhere |
| Path separators | Backslash \ | Forward-slash / | Mod tooling typically handles both |
| Filename length | 255 characters | 255 characters (most file systems) | Identical practical limit |
The most common cross-platform issue is case sensitivity. A mod that references Textures/Icon.png from a configuration file will load on Windows even if the actual file is Textures/icon.PNG. The same mod on a Linux server will fail to find the texture, because Linux treats the two names as different files. The fix is to use lowercase throughout the project.
Common mistake
Authoring a mod on Windows without testing on a Linux dedicated server. Many mods that work flawlessly on the Windows-hosted Unturned client fail on Linux dedicated servers solely because of case-sensitivity differences. The 57 Studios pre-release checklist includes a Linux test pass for every mod that may be deployed to community servers.
Appendix: the 57 Studios mod folder template
The studio's standard mod folder template demonstrates a complete extension landscape in a working layout. New contributors are encouraged to inspect the template before starting a new mod project.
my-mod/
English.dat <-- localization, plain text
my-mod.unity3d <-- compiled asset bundle (output)
my-mod_masterbundle.dat <-- bundle manifest
Items/
Eaglefire/
Eaglefire.dat <-- item configuration
English.dat <-- per-item localization
Icon.png <-- inventory icon
AccuracyInternational/
AccuracyInternational.dat
English.dat
Icon.png
src/
Eaglefire/
Eaglefire.blend <-- model source
Eaglefire.psd <-- texture source
AccuracyInternational/
AccuracyInternational.blend
AccuracyInternational.psd
code/
MyMod.csproj <-- Visual Studio project
MyMod.sln <-- Visual Studio solution
Source/
Plugin.cs <-- main plugin entry
Helpers.cs <-- utility functions
build/
MyMod.dll <-- compiled plugin output
MyMod.pdb <-- debug symbols
README.md <-- project documentationThe template demonstrates the source-versus-output distinction, the conservative character set in filenames, and the use of subfolders to group related extensions. Every extension visible in the template appears in this article's reference tables.
Cross-references
- What is a File? — the foundational concept of files
- What is a Folder? — the container in which files live
- How to Right-Click on Windows — the input technique for renaming files and accessing properties
- How to Use Your Keyboard — keyboard shortcuts for fast file management
- How to Create a Steam Account — the next step after the Getting Started section
Glossary of extension-related terminology
The following terms appear throughout this article and across the broader 57 Studios documentation set. Each term has a working definition aimed at the mod developer who is new to the Windows file system.
- Extension — the suffix after the final period in a filename. Drives Windows file association.
- Stem — the portion of a filename before the final period. Chosen by the file author for human readability.
- File association — the registry-driven mapping from an extension to a default application.
- Compound extension — a filename with two periods near the end, such as
archive.tar.gz. Windows treats only the final suffix as the extension. - Double extension — a deliberately deceptive filename such as
photo.png.exe, used by malicious software to disguise executables as benign files. - MIME type — a longer, internet-oriented label for file type, used by web browsers and email systems in place of the file extension.
- Source file — an editable file in its native authoring format, such as
.psdor.blend. - Output file — an exported file in a format the game engine can load, such as
.pngor.fbx. - Asset bundle — a Unity-specific compiled archive containing several assets, with the extension
.unity3d. - Manifest — a configuration file that lists the contents of a related set of files, often with extension
.dator.json.
The glossary is the recommended starting point for a developer encountering the terms for the first time. Each definition links conceptually to the longer explanations elsewhere in this article.
Document history
| Version | Date | Author | Notes |
|---|---|---|---|
| 1.0 | 2024-03-08 | 57 Studios | Initial publication; foundational reference for mod-developer onboarding. |
| 1.1 | 2024-07-22 | 57 Studios | Added comparison-of-similar-looking-extensions table and double-extensions section. |
| 1.2 | 2024-11-14 | 57 Studios | Expanded common-extensions reference and added decision flowchart for unknown extensions. |
| 2.0 | 2025-04-17 | 57 Studios | Major revision; added complete extension reference appendix, extension-by-application matrix, cross-platform notes, and the 57 Studios mod folder template. |
| 2.1 | 2025-05-17 | 57 Studios | Added extension-related troubleshooting reference and command-line inspection appendix. |
Closing note
A file extension is, at its simplest, the few characters after the final period in a filename. The simplicity of the concept conceals the depth of its role in Windows. Extensions drive application launching, security posture, file association preferences, mod loader behavior, and project organization. A working knowledge of the extension system is a prerequisite for every other topic in this wiki.
The mod developer who internalizes the extension reference table, enables visible extensions on every Windows installation, and resists the temptation to rename files across formats has eliminated a significant fraction of the support questions that arrive in the 57 Studios community channels. The remaining questions are about the substance of the mod itself, which is where the developer's time is best spent.
Next steps
Continue to How to Right-Click on Windows to learn the essential input technique for working with files, folders, and modding tools. Related articles include What is a File? for the foundational concept of files.
