Table of Contents

Class SkillAssetTests

Namespace
GrindFest
Assembly
GrindFest.dll

Every asset a skill asks for by address must actually resolve, whether or not any test happens to use that skill.

Why this exists: on 2026-09-16 the Brew animation had never played. Alchemy asked a model file for "Villager@Cooking01 - Start" and got null, because Addressables exposes exactly ONE AnimationClip per model file and it was not that one - so WaitForAnimation(null) logged a warning, brewing ran without an animation, and every test stayed green. The same held for Shield@Block01_Hold/_Hit, Praying Start (the clip is named "mixamo.com" in that file) and any other address whose asset is not the one a model file happens to expose. Nothing failed, because a null clip is not an exception and no test asserted on an animation.

This test does not try to use the skills - that needs a station, reagents, a target or a level per skill, and it is what the per-family tests are for. It asks the cheaper question that would have caught all five: does every address the skill code names resolve? It reads the call sites out of the source, so a NEW skill's addresses are covered the moment it is written, with no list to keep in step.

Editor-only, because the call sites are read from Assets/ source files.

public class SkillAssetTests : DevTest
Inheritance
object
SkillAssetTests
Inherited Members

Methods

EverySkillAssetAddressResolves()