Class StoryAssetTests
- Namespace
- GrindFest
- Assembly
- GrindFest.dll
Every asset the story content names by hand must be registered in the content manifest.
Why this exists: the world generator resolves a prefab name with a dictionary lookup over
ContentDB.AllAssets — the generated manifest — and never asks Addressables for a name. An asset that
exists on disk but never made it into the manifest therefore cannot be reached at all, and the failure is
invisible until the area that names it tries to build: 'Rock' (CanyonOfDeath.ink) logged an
InvalidKeyException from the fallback path and left a mining cluster with an unresolved node prefab
(measured 2026-09-19). Nothing about that is specific to Addressables — it is a gap between "named by
content" and "registered as an asset", which is why the check reads the manifest and not the provider.
An audit run by hand found 3 of 83 references in that state; BP_City and Rock were real content gaps and were registered, while RoadSign_Post turned out to be an object inside the Road Sign Post prefab that this test was collecting as if it were an asset. This test is that audit, so it runs on every suite instead of when somebody notices a missing prop.
Editor-only, because it reads .ink sources out of Assets/.
public class StoryAssetTests : DevTest
- Inheritance
-
objectStoryAssetTests
- Inherited Members