initializePlugin() 関数は、C 関数または C++ 関数のいずれかとして定義できます。この関数を定義しないと、プラグインはロードされません。
initializePlugin() には、あらゆるコマンド、ツール、デバイスなどを登録するためのコードが含まれており、Maya でプラグインを使って定義します。これは、プラグインがロードされた直後に 1 回だけコールされます。
たとえば、コマンドとツールを登録するには、MFnPlugin 関数セットをインスタンス化し、渡した MObject 上で動作させます。この MObject には、プラグイン ファイルの名前、およびロード元のディレクトリなど、Maya のプライベート情報が含まれています。この MObject は、ベンダ名(指定しない場合のデフォルトは「Unknown」)、プラグインのバージョン番号の文字列(デフォルトは「1.0」)、プラグインの適切な動作に必要となる API のバージョン(デフォルトは「Any」)とともに MFnPlugin コンストラクタに渡されます。
MFnPlugin 関数セットは、プラグイン ファイルの内容を登録するために使用されます。このサンプル( MFnPlugin)では、MFnPlugin::registerCommand() をコールしてコマンドの creator( creator メソッドを参照)とともに「hello」コマンドを登録しています。登録されると、この関数は、問題が発生したかどうかを表すステータス コードを返します。初期化で問題が発生した場合、プラグインは自動的にアンロードされます。