Custom Plugin
This page is still under development and is not completed. We are working to improve the content.
Examples
Basic
-
Example plugin
The template of a plugin (single file) with the basic use ofPlugin
class. -
WarudoPluginExamples
The complete plugin examples (multiple files), including the Stream Deck Plugin and VMC Plugin.- Stream Deck Plugin: This plugin communicates with an external application (Warudo's Stream Deck plugin) via WebSocket. It demonstrates the use of the WebSocket service base class
WebSocketService
. - VMC Plugin: This plugin adds VMC as a supported motion capture method via registering a
FaceTrackingTemplate
and aPoseTrackingTemplate
.
- Stream Deck Plugin: This plugin communicates with an external application (Warudo's Stream Deck plugin) via WebSocket. It demonstrates the use of the WebSocket service base class
Advanced
-
KatanaAnimations.cs
Custom plugin to load AnimationClips from the mod folder and registers them as character animations. -
KatanaAnimations.cs #Comment
Built in resource types and what URI resolvers are expected to return.
( if you are looking to useContext.ResourceManager.ResolveResourceUri<T>
)
File Structure
The recommended file structure of a plugin project is as follows:
Note that all files and folders except *Plugin.cs
are optional, you can create them only when needed.
<PLUGIN_DIR>
│
├── <PLUGIN_NAME>Plugin.cs
│
├── Localizations
│ └── Warudo.<PLUGIN_NAME>.json
│
├── Assets
│ ├── Asset1.cs
│ ├── Asset2.cs
│ └── ...
│
├── Nodes
│ ├── Node1.cs
│ ├── Node2.cs
│ └── ...
│
└── ...