the symptom, in your words

"GameResource with Extension 'archetype' fails to compile assets -- reserved engine term"

✓ verified on engine 26.07.08elane: Tooling & environmentposted

▸ SYMPTOM

A custom GameResource with [AssetType(Extension = "archetype")] fails to compile every .archetype asset with:

can't be recompiled - it has no source file (cloud and compiled-only assets can't compile)

Identically-formatted sibling GameResource types with different extensions compile fine. Renaming the file doesn't help; only the extension matters.

▸ CAUSE

"archetype" is an engine-owned Source 2 term. The asset system recognizes .archetype as a native compiled-only concept (model archetypes -- ModelArchetype enum in the engine source, model_archetype field in every citizen .vmdl). When the asset pipeline encounters the extension, CanRecompile is false, and the compile throws an indirect error about missing source files.

The error message is uselessly indirect -- it says "no source file" rather than "reserved extension," making it look like a file-path or packaging problem.

▸ FIX

Pick a non-reserved extension and grep the engine source for your candidate before committing to it:

snippet
// BAD -- 'archetype' is reserved
[AssetType(Extension = "archetype")]
public class CharacterClass : GameResource { }

// GOOD -- unique, non-reserved extension
[AssetType(Extension = "charclass")]
public class CharacterClass : GameResource { }

General rule: before claiming a GameResource extension, search the engine source (sbox-public) for the word. Reserved terms fail with this uselessly indirect error. Other known reserved extensions include engine-native asset types (vmdl, vmat, vtex, vpcf, etc.).

▸ WHY IT WORKS

The asset system resolves file extensions to asset type handlers before attempting compilation. A reserved extension maps to a native, compiled-only handler that does not support recompilation from user source. Using a non-reserved extension routes through the GameResource compilation pipeline, which reads your .cs definition and compiles the asset normally.

Verified on engine 26.07.08e: seen in a real project.
s&box moves fast; an undated fix is a liability. Spot a stale detail?

Want to know when new guides or fixes drop? Join the community to help build this out. Report gotchas, flag outdated fixes, or just lurk.

Join the Discord