Vixen
02b45cc4
csharp
public sealed class VfxImporter

Compiles a .vxvfx into the effect asset a player loads.

Read the guide page for this →

As a importer

Extensions
.vxvfx

Remarks

The compiler NativeFormatImporter named as owed. That importer carried the graph forward verbatim and said so — its own remarks list .vxvfx among "the ones whose compiler is still owed", and docs/overview.md recorded the consequence: a game could not load one by address, so an effect had to be written in C#. This is the step that closes it, written on MaterialImporter's terms.

What is written is the compiled graph, not the document. That is the one place this departs from the material's shape, and the reason is what the two files hold: a .vxmat is a description a runtime can bind directly, while a .vxvfx is nodes, edges and canvas positions — none of which a simulation has any use for, and all of which needs a node library and a topological sort to make sense of. So the artefact is VfxEffectContent: the flat instruction list both backends run, with nothing of the editor left in it.

⚠ Which means an effect's diagnostics are build errors rather than runtime surprises. A graph with no spawner produces no particles; one whose updater reads an attribute nothing writes runs over zeroed memory and looks like an effect that does nothing. Both come out of VfxGraphCompiler as diagnostics, and both are reported here against the file that caused them.

The shader is compiled and thrown away, exactly as MaterialImporter compiles a material to find out whether it is one. VfxGraphCompiler emits the Raven source alongside the graph from one call — so asking for it costs nothing and proves the GPU half of the same effect exists. What a device would need is a compiled module, which is the effect system's business and not an importer's.

Fields and properties (3)

  • public const string Extension

    What a visual effect is written as.

  • public const string EffectType

    The type a compiled effect's chunk is recorded as.

  • public override int Version

Methods (1)

Used by (1)

  • BuiltInImportersVixen.Editor.Assets