{"record":{"id":"64ccacd32df8e961","repo":"stride3d/stride","slug":"this-type-of-animation-asset-is-not-supported-yet","errorCode":null,"errorMessage":"This type of animation asset is not supported yet!","messagePattern":"This type of animation asset is not supported yet!","errorType":"exception","errorClass":"NotImplementedException","httpStatus":null,"severity":"error","filePath":"sources/engine/Stride.Assets.Models/AnimationAssetCompiler.cs","lineNumber":163,"sourceCode":"                    yield return new ObjectUrl(UrlType.File, GetAbsolutePath(assetItem, diffAnimationAsset.BaseSource));\n                }\n\n                var diffCommand = new AdditiveAnimationCommand(targetUrlInStorage, new AdditiveAnimationParameters(baseUrlInStorage, sourceUrlInStorage, rebaseMode), assetItem.Package)\n                {\n                    InputFilesGetter = InputFilesGetter\n                };\n\n                var diffStep = new CommandBuildStep(diffCommand);\n\n                BuildStep.LinkBuildSteps(sourceStep, diffStep);\n                BuildStep.LinkBuildSteps(baseStep, diffStep);\n\n                // Generate the diff of those two animations\n                buildStep.Add(diffStep);\n            }\n            else\n            {\n                throw new NotImplementedException(\"This type of animation asset is not supported yet!\");\n            }\n\n            result.BuildSteps = buildStep;\n        }\n\n        internal class AdditiveAnimationCommand : AssetCommand<AdditiveAnimationParameters>\n        {\n            public AdditiveAnimationCommand(string url, AdditiveAnimationParameters parameters, IAssetFinder assetFinder) :\n                base(url, parameters, assetFinder)\n            {\n                Version = 3;\n            }\n\n            protected override Task<ResultStatus> DoCommandOverride(ICommandContext commandContext)\n            {\n                var assetManager = new ContentManager(MicrothreadLocalDatabases.ProviderService);\n\n                // Load source and base animations","sourceCodeStart":145,"sourceCodeEnd":181,"githubUrl":"https://github.com/stride3d/stride/blob/96fad776d210c221682aac1ccdf4c79dc046fc38/sources/engine/Stride.Assets.Models/AnimationAssetCompiler.cs#L145-L181","documentation":"AnimationAssetCompiler.Prepare builds compile steps for animation assets, including additive animations that need a diff between two animations. If the AdditiveAnimationParameters does not match a supported layout, it throws NotImplementedException because that animation asset type has no compilation strategy yet. It marks an explicitly unimplemented code path.","triggerScenarios":"Importing/building an animation asset with additive blending parameters whose source/target animation combination is not one of the two supported diff cases (e.g. missing extra source animation).","commonSituations":"A model/animation import pipeline emits an additive animation the compiler doesn't handle; upgrading assets authored by older/newer Stride versions with different additive parameters; hand-crafting asset files with unsupported additive settings.","solutions":["Change the asset's additive animation settings to a supported configuration (correct source and target animations).","Re-import the animation from the source model so the compiler generates supported parameters.","Implement the missing case in AnimationAssetCompiler.Prepare if you own the pipeline.","Avoid additive animation for this asset (use standard animation) until supported."],"exampleFix":"// before\nvar parameters = new AdditiveAnimationParameters { Animation = anim }; // missing source for diff\n// after\nvar parameters = new AdditiveAnimationParameters { Animation = anim, ExtraSourceAnimation = baseAnim };","handlingStrategy":"validation","validationCode":"if (parameters is AdditiveAnimationParameters add && add.ExtraSourceAnimation == null)\n    throw new InvalidOperationException(\"Additive animation requires a source animation for the diff\");","typeGuard":null,"tryCatchPattern":"try { result = assetCompiler.Prepare(asset, context); }\ncatch (NotImplementedException ex) { Logger.Error(ex, \"Unsupported animation asset; skipping\"); return fallbackResult; }","preventionTips":["Only author additive animations with supported parameter sets","Re-import animations from source models","Track Stride version changes affecting additive animation compilation"],"tags":["assets","animation","compiler"],"backgroundTag":"method-not-implemented","analyzedSha":"96fad776d210c221682aac1ccdf4c79dc046fc38","analyzedAt":"2026-09-14T02:59:31.279Z","contentChangedAt":"2026-09-14T02:59:31.279Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}