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