Skip to content

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.

ComponentExample valueRole
StemEaglefireHuman-readable name chosen by the author
Period.Separator between stem and extension
ExtensiondatType identifier used by Windows to choose an application
Complete filenameEaglefire.datThe 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.

LayerRegistry pathContents
System defaultHKEY_CLASSES_ROOT\.pngThe default application for PNG files at Windows install time
User overrideHKEY_CURRENT_USER\Software\Classes\.pngThe 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

  1. Open File Explorer.
  2. Click the View menu in the toolbar.
  3. Hover over Show to expand its submenu.
  4. Click File name extensions to toggle the option on.

On Windows 10

  1. Open File Explorer.
  2. Click the View tab in the ribbon at the top of the window.
  3. In the Show/hide group on the right side of the ribbon, check the File name extensions checkbox.

On older Windows versions

  1. Open File Explorer (sometimes labeled "Windows Explorer").
  2. Press Alt to reveal the classic menu bar.
  3. Click Tools > Folder options.
  4. Switch to the View tab in the dialog.
  5. Uncheck the option labeled Hide extensions for known file types.
  6. 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.

File Explorer ribbon with the File name extensions checkbox visible

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.

ExtensionTypeTypical application
.datUnturned configuration dataNotepad++ or any text editor
.jsonStructured configuration dataNotepad++ or any text editor
.pngRaster imagePhotoshop, GIMP, image viewer
.tgaTarga raster imagePhotoshop, GIMP
.jpgCompressed raster imageImage viewer
.fbx3D model exchange formatBlender, Unity, Maya
.blendBlender source fileBlender
.objSimple 3D modelBlender, any 3D viewer
.unity3dCompiled Unity asset bundleUnturned at runtime
.assetUnity asset metadataUnity Editor
.metaUnity import settingsUnity Editor (typically not opened manually)
.prefabUnity prefab objectUnity Editor
.csC# source codeVisual Studio, Notepad++
.dllCompiled .NET library(linked at runtime)
.txtPlain textNotepad, Notepad++
.mdMarkdown formatted textNotepad++, markdown viewers
.zipCompressed archiveFile Explorer, 7-Zip
.rarCompressed archive7-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 stageSource extensionsOutput 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.

ExtensionWhat it isWhat it is not
.datUnturned configuration textGeneric binary data (the name is misleading)
.assetUnity serialized assetA generic asset of any kind
.unity3dCompiled Unity asset bundleA Unity Editor project file
.fbxPortable 3D formatA native Blender file
.blendBlender native sourceA finished, exported 3D model
.pngLossless raster imageA vector image
.jpgLossy raster imageA lossless image suitable for icon work
.tgaTarga raster image with alpha supportA 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.

ScenarioOriginal extensionNew extensionRationale
Recovering a corrupted download.tmp or .crdownload.zipThe download completed but the browser failed to rename the file
Examining a custom format.unityweb.unity3dThe contents are bundle data with a different label
Restoring after accidental rename.png.bak.pngRemoving 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

  1. Ensure visible extensions are enabled.
  2. Locate the file in File Explorer.
  3. Right-click the file and choose Rename.
  4. Modify the suffix after the last period.
  5. Press Enter.
  6. 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.

Two files side by side: one with visible extensions revealing the true file types

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.

HierarchyExample extensionsPurposeVersioned in source control?
Source.psd, .blend, .cs, .datEditable authoring filesYes
Output.png, .fbx, .dll, .unity3dEngine-loadable exportSometimes (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.

ExtensionMIME type
.pngimage/png
.jpgimage/jpeg
.jsonapplication/json
.txttext/plain
.zipapplication/zip
.dllapplication/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.

ExtensionCategorySource or outputNotes
.datConfigurationSourcePlain text; opens in any editor
.jsonConfigurationSourceStructured data; used by newer tools
.localizationConfigurationSourceTranslation strings
.txtTextSourceGeneral-purpose documentation
.mdTextSourceMarkdown-formatted documentation
.pngImageBothLossless raster; supports alpha
.jpgImageBothLossy raster; no alpha
.tgaImageSourceTarga; common for textures
.psdImageSourcePhotoshop layered source
.tiffImageSourceRare; high-fidelity raster
.fbxModelBothPortable 3D model
.objModelBothSimple text-based 3D model
.blendModelSourceBlender layered source
.daeModelSourceCollada interchange format
.unity3dBundleOutputCompiled asset bundle
.assetBundleSourceUnity serialized asset metadata
.metaBundleSourceUnity import settings
.prefabBundleSourceUnity prefab instance
.unitySceneSourceUnity scene file
.csCodeSourceC# source
.dllCodeOutputCompiled .NET library
.pdbCodeOutputDebug symbol database
.csprojProjectSourceVisual Studio C# project
.slnProjectSourceVisual Studio solution
.zipArchiveOutputStandard cross-platform archive
.rarArchiveOutputOlder archive format
.7zArchiveOutputHigh-compression archive
.exeExecutableOutputWindows program
.batScriptSourceWindows batch script
.ps1ScriptSourcePowerShell 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.

ApplicationReadsWrites
Notepad++.dat, .json, .txt, .md, .cs, .ps1, .batSame
Photoshop.png, .jpg, .tga, .psd, .tiffSame
GIMP.png, .jpg, .tga, .xcfSame
Blender.blend, .fbx, .obj, .daeSame
Unity Editor.fbx, .obj, .png, .tga, .cs, .asset, .prefab, .unity, .metaSame plus .unity3d
Visual Studio.cs, .csproj, .sln, .dll, .pdbSame
7-Zip.zip, .rar, .7z, .tar, .gzSame
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.

EraConfiguration extensionsAsset bundle extensionsNotes
Unturned 2.x (2014-2015).dat only(no bundles; raw files)Single-file mods
Unturned 3.x early (2016-2017).dat, .localization.unity3d introducedAsset bundling formalized
Unturned 3.x current (2018-present).dat, .json, .localization.unity3d, with multi-bundle supportModern 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.

SymptomLikely causeRecommended fix
File opens in the wrong applicationDefault application has been changed for the extensionRight-click the file, choose Open with > Choose another app, set the correct application as default
File will not open at allExtension is missing or unrecognizedRestore the extension by renaming; if unknown, inspect contents in a text editor
Mod loader skips a configuration fileExtension is .json when the loader expects .dat, or vice versaRename to the loader-expected extension after confirming the file's format is correct
Texture loads but has no transparencySource authored as .jpg; alpha channel discardedRe-author the texture as .png
3D model appears as flat solid colorTexture path inside the model file references a missing imageVerify image extension and location relative to model file
Archive cannot be extractedExtension is .rar but no RAR-capable tool is installedInstall 7-Zip; rename to .zip only if confident the underlying content is ZIP-formatted
Compiled .dll is not recognized by UnturnedBuilt against the wrong .NET versionRebuild against the Unturned-compatible .NET target
Configuration changes have no effect in gameFile has double extension such as Item.dat.txtRemove the trailing .txt and ensure visible extensions are enabled in File Explorer
Mod folder shows files with strange iconsExtensions hidden; double extensions disguisedEnable visible extensions and re-inspect filenames
Asset reference broken after renameReference inside another file still points to the old extensionUpdate 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.

CharacterAllowed in filename?Notes
Letters A-Z, a-zYesCase-insensitive on Windows
Digits 0-9YesAllowed in any position
Underscore _YesCommon in mod project naming
Hyphen -YesCommon in mod project naming
Period .YesReserved as the extension separator; avoid elsewhere
SpaceYesAllowed but awkward in cross-platform tools
Less-than <, greater-than >NoReserved by Windows
Colon :NoReserved by Windows
Double-quote "NoReserved by Windows
Forward-slash /, back-slash \NoPath separators
Pipe ``No
Question mark ?NoReserved by Windows
Asterisk *NoReserved 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.

PolicyRuleRationale
CaseLowercase onlyCross-platform portability with Linux contributors
Configuration format.dat for legacy, .json for newAligns with Unturned tooling direction
Image format.png preferred, .tga allowedLossless raster with alpha support
Source retentionSource files retained alongside outputLong-term editability of project assets
Stem charactersLetters, digits, underscores, hyphensConservative cross-platform character set
Period usageReserved for the extension separatorReduces filename parsing ambiguity
Archive format.zip for distributionCross-platform extraction without third-party tools
Backup filesNamed with .bak appendedClearly 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.

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.

IssueWindows behaviorLinux behaviorFix
Case sensitivity.PNG and .png are the same file.PNG and .png are distinct filesUse lowercase everywhere
Hidden extensionsOptionally hidden in File ExplorerAlways visible in any file managerEnable visible extensions on Windows
Default applicationsRegistry-basedMIME-basedDifferent mechanisms; not a portability concern for mod files
Reserved charactersSeveral reservedFewer reservedUse the conservative Windows set everywhere
Path separatorsBackslash \Forward-slash /Mod tooling typically handles both
Filename length255 characters255 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 documentation

The 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

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 .psd or .blend.
  • Output file — an exported file in a format the game engine can load, such as .png or .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 .dat or .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

VersionDateAuthorNotes
1.02024-03-0857 StudiosInitial publication; foundational reference for mod-developer onboarding.
1.12024-07-2257 StudiosAdded comparison-of-similar-looking-extensions table and double-extensions section.
1.22024-11-1457 StudiosExpanded common-extensions reference and added decision flowchart for unknown extensions.
2.02025-04-1757 StudiosMajor revision; added complete extension reference appendix, extension-by-application matrix, cross-platform notes, and the 57 Studios mod folder template.
2.12025-05-1757 StudiosAdded 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.