Namespace nadena.dev.ndmf
Namespaces
Classes
- AvatarProcessor
This class is the main entry point for triggering NDMF processing of an avatar.
- BuildContext
The BuildContext is passed to all plugins during the build process. It provides access to the avatar being built, as well as various other context information.
- BuildPhase
Build Phases provide a coarse mechanism for grouping passes for execution. Each build phase has a recommended usage to help avoid ordering conflicts without needing explicit constraints.
Currently, the following phases are defined:
- Resolving
- Generating
- Transforming
- Optimizing
- DependsOnContext
This attribute declares a pass or an extension context to depend on another context. When an extension context depends on another, it will implicitly activate the other context whenever the depending context is activated.
- ErrorReport
Contains any errors or warnings issued during a single build operation.
- ExportsPlugin
This attribute declares a plugin to be registered with NDMF.
[assembly: ExportsPlugin(typeof(MyPlugin))] class MyPlugin : Plugin<MyPlugin> { // ... }
- ObjectReference
The ObjectReference class gives you a way to reference an object that may have been moved or destroyed since its initial creation.
- ObjectRegistry
The ObjectRegistry tracks the original position of objects on the avatar; this is used to be able to identify the source of errors after objects have been moved within the hierarchy.
- ObjectRegistryScope
This class allows you to set a particular Object Registry instance as the current one to be used for static methods. This is primarily intended for unit testing.
- ParameterInfo
Provides information about VRChat Expression Parameters and animator parameters generated by NDMF-registered components.
- ParameterProviderFor
Annotates a class as a provider of parameters for a specific component type. The class should implement IParameterProvider, and expose a public constructor taking an argument with the type of the ForType argument here. This constructor will be invoked when querying a component's parameters.
- ProvidedParameter
This class declares a parameter that is supplied by a NDMF component. This is intended to be used for introspection via the ParameterInfo API. Note that exposing a ProvidedParameter does not actually add the parameter to the Expressions Parameters asset; this is left up to individual NDMF plugins. However, it can be used to detect parameter names and in-use bit counts for use in user-facing UI.
- SimpleError
Base class for errors that obtain their messages from the Localization system.
Structs
- ErrorContext
Holds a single error and information about where the error originated from.
Interfaces
- IError
A base interface for custom NDMF error reports.
- IErrorContext
This interface allows multiple context objects to be passed to an error in a single argument. Passing an object implementing IErrorContext to ErrorReport methods will add all objects referenced in ContextReferences as context objects.
- IExtensionContext
The IExtensionContext is declared by custom extension contexts.
- IParameterProvider
Provides information about parameters supplied by a (custom) component.
Enums
- ErrorSeverity
Indicates the severity of a reported error.
Delegates
- ParameterInfo.ConflictHandler
Invoked when multiple components provide a parameter with the same name, but with conflicting configuration. May be invoked multiple times for different conflict types.