DreamFXLang
Plugin referenceDiagnostics

DreamFX diagnostics

DreamFX diagnostics

DreamFX diagnostics

Every DFXnnnn DreamFX can emit. The leading digit is the stage that raises it:

  • DFX1xxx --- Driver and file I/O --- DFX1xxx.md
  • DFX2xxx --- Lexer and syntax --- DFX2xxx.md
  • DFX3xxx --- Declarations and document structure --- DFX3xxx.md
  • DFX4xxx --- Values, types and expressions --- DFX4xxx.md
  • DFX5xxx --- Generation and asset writing --- DFX5xxx.md
  • DFX6xxx --- Niagara compilation --- DFX6xxx.md
  • DFX7xxx --- Provenance, drift and lint --- DFX7xxx.md
  • DFX8xxx --- Decompiler --- DFX8xxx.md

Generated by .skill/gen-diagnostics.ps1; run it after adding a code.

CodeSeverityMessage
DFX1000errorCould not read source file '%s'.
DFX1001errorUnterminated string literal.
DFX1002errorUnterminated block comment.
DFX1003errorUnexpected character '%c' (U+%04X).
DFX1004errorUnterminated raw block: missing '}'.
DFX1005errorUnterminated back-quoted name. A name must close on the same line.
DFX2000errorUnknown document type '%s'. Expected System, Emitter, Module or DynamicInput.
DFX2001errorExpected '{' to open a raw block but found '%s'.
DFX2002errorExpected a name but found %s.
DFX2003errorExpected a number but found '%s'.
DFX2004errorExpected a value but found %s.
DFX2005error'#EndRegion' has no matching '#Region'.
DFX2006errorUnknown directive '#%s'. Expected Region or EndRegion.
DFX2007errorExpected a version after '@'.
DFX2008errorModule '%s' was given a positional argument. Module inputs must be written as 'Name = Value'.
DFX2010warning'#Region "%s"' was never closed with '#EndRegion'.
DFX2013error'%s' is a system-scope stack and must be written at the top level of a .dfs, not inside an emitter.
DFX2015error'from' must be followed by a quoted path to a .dfe source file.
DFX2016error(built at runtime)
DFX2018errorA Module or DynamicInput must declare a 'Body = { }' block.
DFX2019errorHeader argument '%s' must be a quoted string.
DFX2020errorUnknown curve key attribute '%s'. Expected Interp, Tangent, Arrive or Leave.
DFX2021errorFile declares '%s' but its extension is '%s'. Rename the file to '%s' or change the declaration.
DFX2022errorUnexpected '%s' after the end of the document. A DreamFX file declares exactly one top-level object.
DFX2023error'%s' is a module call, so it cannot be given a type. Types are written only on assignments.
DFX2024errorA Defaults declaration cannot be disabled; defaults are not executed stack nodes.
DFX2025errorUnknown OnEvent argument '%s'. Expected Source, Event, Mode, SpawnNumber, MaxEventsPerFrame, UpdateAttribut...
DFX2026errorUnknown Stage argument '%s'. Expected a stage iteration, enabled, dispatch or particle-state option; see th...
DFX2027errorGroup(...) takes a quoted name: Group("Name") { ... }.
DFX2028errorGroup(...) requires a non-empty name.
DFX3000error(built at runtime)
DFX3001error(built at runtime)
DFX3002errorCould not read the input schema of module '%s': %s
DFX3003errorModule '%s' has no input named '%s'.%s Available inputs: %s
DFX3004errorUnknown renderer type '%s'. Expected one of SpriteRenderer, MeshRenderer, RibbonRenderer, LightRenderer, De...
DFX3005errorEmitter '%s' is declared more than once. Emitter names are stable keys and must be unique.
DFX3006error'%s' is neither an allowed inline function (%s) nor a dynamic input: %s
DFX3007errorCould not read the input schema of dynamic input '%s': %s
DFX3008errorDynamic input '%s' has no input named '%s'. Available inputs: %s
DFX3009errorDynamic input '%s' is pinned to version %s, which its asset does not offer. Available version(s): %s.
DFX3010errorProperty '%s': %s
DFX3020errorCannot read the default for %s setting '%s'.
DFX3021errorUser parameter '%s' is declared more than once.
DFX3030errorA Module or DynamicInput must declare Settings.Usage -- it decides which stacks the module can be placed in.
DFX3031errorA DynamicInput must declare Settings.Output -- its return type cannot be inferred from the body.
DFX3032errorA DynamicInput's Usage must be DynamicInput or a nonempty array of stack names.
DFX3033errorInput '%s' is declared more than once.
DFX3034errorInput '%s' is marked [StaticSwitch] but is a %s. A static switch must be a bool, an int or an enum.
DFX3035errorInput '%s' is a [StaticSwitch], so its default must be a compile-time constant.
DFX3036errorThe Body block is empty.
DFX3037error(built at runtime)
DFX3038error'%s' is not a stack a module can be placed in. Use one of: %s.
DFX3039errorA DynamicInput cannot return a data interface; its Output must be a value type.
DFX3040error(built at runtime)
DFX3041error'%s' could not be parsed; see the errors above.
DFX3042error'%s' declares a %s, but 'from' needs an Emitter document.
DFX3043error'%s' reads user parameters this system does not declare: %s. Add them to the Properties block.
DFX3044errorThe default for input '%s' has to be a literal or an enum entry. A module input default is stored on the as...
DFX3046error'%s' is not a particle attribute DreamFX knows the type of. Write its type at first use, for example `float...
DFX3047errorA DynamicInput computes a value; it cannot write '%s'. Move the write into a Module.
DFX3048errorDefault override '%s' changes its type from %s to %s. Overrides must keep the base parameter's type.
DFX3049errorMeshRenderer has no Material property. Set OverrideMaterials = ["/path/to/material"]; and bOverrideMateri...
DFX3050error(built at runtime)
DFX3051errorOnly a System document can inherit a .dfs parent.
DFX3052errorSystem inheritance contains a cycle or exceeds 128 sources: %s -> %s.
DFX3053errorInherited parameter '%s' changes type from %s to %s. An override must preserve the parent's parameter type.
DFX3054errorParameter '%s' is declared twice in one inheritance layer. An override must be declared in the child source...
DFX3055error(built at runtime)
DFX3056errorNative parent has an unavailable version or a cyclic parent chain: %s.
DFX3057errorAttribute '%s' is declared with conflicting types.
DFX4001errorInput '%s' expects %s, but a number was written.
DFX4002errorExpression for '%s': a vector literal must have 2 to 4 components.
DFX4003errorInput '%s' is an integer, but %s was written. Narrowing is not implicit -- write int(%s) if truncation is i...
DFX4004errorInput '%s' has no resolvable Niagara type.
DFX4005errorProperty '%s': component %d is not a number.
DFX4006errorInput '%s' is a %s, which has no entry named '%s'. Valid entries: %s
DFX4007errorInput '%s' expects %s. '%s' is neither a literal of that type nor a parameter reference -- parameter refere...
DFX4010errorInput '%s' is set more than once on dynamic input '%s'.
DFX4020errorParameter '%s': 'Object' needs an inner type, e.g. Object.
DFX4021errorParameter '%s': no UObject class named '%s'. Object<> takes a class name such as Object or Object<...
DFX4022errorCannot infer the type of '%s' from its value. A first assignment to a new attribute must use a literal, so ...
DFX4023errorProperty '%s': box() takes 6 numbers -- minX, minY, minZ, maxX, maxY, maxZ.
DFX4024errorCannot type '%s = %s': the type of '%s' is not known here. Declare it in Properties, or assign a literal fi...
DFX4025error'%s' is not a valid assignment target. Parameter names are namespace-qualified, e.g. Particles.MyValue or E...
DFX4026error'Bind %s -> %s': the target must be a qualified parameter -- either a namespace such as Particles.SpriteSiz...
DFX4027error'%s' is %s, but '%s' is %s. Linking binds a parameter directly -- there is no conversion. Declare '%s' as %...
DFX4028errorDefault for '%s' needs a declared type. A default has no module signature to infer one from, so write it: `...
DFX4029errorDefault for '%s' must be a literal, an enum or another parameter. A dynamic input computes a value per part...
DFX4030errorThe hlsl block for '%s' must be a single expression: no statements, no local variables, no return. Move mul...
DFX4031error'%s' is not an allowed inline function. Allowed: %s. Anything else belongs in a .dfm dynamic input or an hl...
DFX4032error'%s' in the expression for '%s' is not a parameter. Only namespace-qualified parameters (User.X, Particles....
DFX4033errorBuiltin '%s' takes positional arguments, not named ones.
DFX4034errorBuiltin '%s' takes %d argument(s), but %d were written.
DFX4035errorExpression for '%s' contains a value that has no HLSL form.
DFX4036errorThe hlsl block for '%s' is empty.
DFX4037error'%s' is %s; a curve { } literal only fits a curve data interface input.
DFX4038errorThe curve for '%s' has no keys.
DFX4039errorUnknown curve interpolation '%s'. Expected Auto, Cubic, Linear or Constant.
DFX4040errorParameter '%s': no asset at '%s'.
DFX4041errorParameter '%s': '%s' is a %s, which is not a %s.
DFX4042errorUnknown curve tangent mode '%s'. Expected Auto, User, Break or None.
DFX4043errorInput '%s' is an instance-backed %s and cannot have a literal or asset-path default. Omit the default and s...
DFX4044errorAn int(...) default requires one numeric literal. Runtime casts belong in a stack expression.
DFX4091errorInput '%s': dynamic inputs, hlsl blocks, curves and inline expressions are not available yet (planned for P...
DFX5001errorStack '%s' has no Niagara script usage mapping.
DFX5002warningThis system declares no emitters, so it will produce nothing.
DFX5003info'%s' is not declared in this source, so its existing modules are left as-is: %s
DFX5004infoNo Material was set, so the engine default was applied: %s. Write 'Material = "...";' to choose your own.
DFX5015errorEmitter '%s' has no record in the last build's plan.
DFX5020errorThe last build of this stack recorded %d module node(s) for %d module(s), so its nodes cannot be addressed.
DFX5027errorCould not read native parent defaults: %s.
DFX5030errorSavePackage failed for '%s'.
DFX5031errorEmitter '%s' declares more than one OnEvent block. Only one event handler per emitter is representable; spl...
DFX5032errorEmitter '%s' declares two Stage blocks named '%s'. Stages are identified by name; rename one.
DFX5033errorEmitter '%s' declares Stage blocks but simulates on the CPU. Simulation stages are a GPU feature: set `SimT...
DFX5034errorEmitter '%s' uses 'as %s' on two module calls. Node names are unique per emitter; rename one.
DFX5035error'%s' is still open in the Niagara script editor. The rebuild was cancelled to protect its editable copy. Cl...
DFX5036warningOnEvent source '%s' is an id no emitter in this system answers to, so this handler never fires. Point it at...
DFX5093error'MaterialParam' is reserved syntax and is not implemented in v1 (plan section 7).
DFX5097errorOnly System documents can be generated right now; this file declares a %s.
DFX5098errorData interface parameter '%s' takes its configuration as a quoted JSON object, the form the decompiler writes.
DFX5100error'%s' is a %s with no generated asset at '%s', and %s
DFX5101error(built at runtime)
DFX5102infoInput '%s' is marked [StaticSwitch]. Tier-one generation (plan 3.3) lowers the whole Body to a single custo...
DFX5103errorPackage '%s' exists on disk but could not be loaded.
DFX5104errorPackage '%s' exists but holds no Niagara script named '%s'. Refusing to overwrite it.
DFX5105errorCould not create package '%s'.
DFX5106errorCould not wire the module graph. The Niagara schema rejected a parameter map connection.
DFX5107error'%s' no longer matches the module asset at '%s', and this build cannot regenerate it. Rebuild it where a gr...
DFX6001error(built at runtime)
DFX6002warning(built at runtime)
DFX6003error(built at runtime)
DFX6004warning(built at runtime)
DFX6005errorNiagara compilation of '%s' did not succeed (status %s).
DFX6006errorNiagara could not compile the body of '%s':\n%s
DFX6007infoNothing in this source writes that parameter, so there is no graph parameter for a default to sit on and Ni...
DFX6008error'%s' finished its compile with stale scripts: %s. The compiled VM was not rebuilt from the graphs this buil...
DFX7001errorAsset '%s' carries no DreamFX provenance stamp: it was never generated from this source, or it was created ...
DFX7002errorAsset '%s' is stale: it was generated from a different revision of this source. Run the DreamFX build.
DFX7003warningAsset '%s' was generated by DreamFX %s; the current generator is %s. A rebuild is recommended.
DFX7004errorAsset '%s' does not exist: this source has never been built.
DFX7005error(built at runtime)
DFX7101warningEmitter '%s' simulates on the GPU but declares no FixedBounds. GPU emitters cannot compute their own bounds...
DFX7102warningEmitter '%s' spawns by rate ('%s') with no upper bound. Set AllocationMode = Fixed and PreAllocationCount t...
DFX7103warningEmitter '%s' uses randomness ('%s') but does not set Determinism = true, so it will look different on every...
DFX7104warningThis renderer has no Material and DreamFX knows no default for its type, so it will not draw. Set 'Material...
DFX7105warningMeshRenderer OverrideMaterials is nonempty but material overrides are disabled. Set bOverrideMaterials = tr...
DFX7106infopull: %s.%s is stored on the asset and not declared in this text -- skipped. pull adds no structure.
DFX7107infopull: '%s' already holds every value '%s' stores for the input(s) it declares (%d compared, %d not declared...
DFX7108errorpull reads a .dfs and the Niagara system it names: '%s' declares a %s document.
DFX7109warningpull: %s: %s. pull rewrites literals inside a structure both sides agree on, so nothing in this stack was a...
DFX7110errorpull: the rewritten text does not read back (%s), so '%s' was left untouched.
DFX7111infopull: %s is declared but was not written back: %s
DFX7112infopull: %s: %s
DFX7113warningpull: %s: the asset has %s that the text does not, and the text has %s that the asset does not. The two lis...
DFX7114warningpull: the baseline could not be used (%s), so every value this text declares was compared from scratch.
DFX7115infopull: %s differs from this text but the asset has not moved since the last apply, so the text's value stands.
DFX7116infopull: %s: %s -> %s
DFX8000errorCannot decompile a null system.
DFX8001errorCould not read emitters: %s
DFX8002warningSkipping emitter '%s': %s
DFX8003errorCannot decompile a null emitter.
DFX8004errorCould not create a host system to read the emitter through: %s
DFX8005errorCould not copy emitter '%s' into a host system: %s
DFX8006errorCould not read emitter '%s': %s
DFX8010error'%s' cannot be adopted: '%s' has no DreamFXLang form yet, so adopting would destroy it on the first rebuild...
DFX8011errorCannot adopt '%s': source destination or another source already exists at '%s'. Edit that file instead; Ado...
DFX8012error'%s' was adopted, but re-exporting the rebuilt asset does not reproduce this file. First difference at %s
DFX8013errorThis file sits in the decompiled output directory but Name="%s" builds '%s', outside the '%s/' namespace....
DFX8014warningEmitter '%s' inherits from '%s'. The export flattens the inheritance: the merged stack is carried in full, ...
DFX8015warningEmitter '%s' carries %d event handler(s) this export cannot represent%s. The rebuilt emitter will receive n...
DFX8016warningEmitter '%s' carries %d simulation stage(s) this export cannot represent (custom stage class or missing scr...
DFX8017warningemitter '%s' uses unsupported Lightweight/Stateless mode. Keep this emitter in Niagara; DreamFX cannot rebu...
DFX8018error'%s' was not saved: rebuilding it would drop %d fact(s) this source cannot express, and a save would destro...

On this page