Vixen
02b45cc4
csharp
public sealed class CompositorImporter

Compiles a project's frame into the chunk the host loads by address.

Read the guide page for this →

As a importer

Extensions
.vxcompositor

Remarks

⚠ What this replaces is a silent wrong answer. A .vxcompositor matched no importer, so it fell through to RawImporter and was published as a Blob — bytes with the wrong type stamped on them. AppGraphics then loaded GraphicsOptions.Compositor, got a type mismatch, logged it at warning level and quietly used its own built-in one-pass frame instead. The game started, drew a picture, and rendered a frame nobody had asked for; every post-effect and every field node in the project's own document did nothing, and the only trace was one line in the log.

Compiled rather than carried, unlike the formats NativeFormatImporter still handles. A host reads this with AssetManager.Load<GraphicsCompositorAsset>, which goes through the binary serializer — so shipping the authored YAML would be shipping a document nothing at run time can read. SceneImporter made the same move for the same reason, and its remarks explain why the compile lives in the importer rather than in a pass of its own.

Fields and properties (2)

  • public const string CompositorType

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

  • public override int Version

    Its own version. Bumping it invalidates every artefact it has ever produced, which is the whole mechanism for "I fixed the mip filter, re-import everything".

Methods (1)

Used by (1)

  • BuiltInImportersVixen.Editor.Assets