Plugin Container Initialization (PCI) is an operation that happens through the [InitializeOnLoad] attribute to initialize all editor-side data and caches for each “plugin” in the project:

In turn, these plugins may access static utility classes such as Codebase, which will call their static initializer to cache them. PCI only happens in the editor, so it is not a concern for builds, but it does contribute to the delay when entering play mode and should be optimized to speed up iteration while using Bolt.

There is no single approach to optimizing PCI, because it is segmented in very varied operations depending on the needs of each plugin. Moreover, multiple optimization passes have already been done, and while they have already reduced the time significantly, they are not sufficient. We should aim for a PCI time of under 500ms on modern hardware, and that may require creative rethinking of how we initialize some plugins. We probably preload data that could be lazily evaluated / cached.