• Hi Guest!

    We have posted a new VaM2 dev log on Patreon, starting a monthly cadence of written progress updates between Beta releases. Highlights include the new Gizmos System, Selection Carousel, and Modes System with Context-Specific Editing. Beta1.2 is 15 of 21 items complete.

    Read the full post on Patreon, or follow progress on the public Trello roadmap.
Core Banner

Hearts Icon
Built something awesome? I'd love to know!
Leave a like, and tell me in your review how this is helpful or could be improved!
Info Sign
Code Only Library
This is a resource for plugin developers, and not meant to be used as a standalone plugin in your scenes.
Warning Sign
Experimental Release
  • future updates may introduce breaking changes more often than usual
  • zero documentation
  • inconvenient to use with VaM's package builder

About​

Core is a large collection of utilities I use for developing all my plugins. Highlights include utils to create your script UI, a replacement for enums, json utils, a promise-based task runner, and much more.

Despite the limitations described below and the fact that there is no documentation at all, I still decided to release this library as a standalone package. I believe it will be useful for those that don't mind the inconveniences.

How To​

To reference files in your plugin add them to your cslist file like perfectbloo.Core.<version>:/path/to/file.cs. For convenience, "Core.cslist" includes all files for you to copy in this format. As described in the limitations section below, make sure to add the Core package as a dependency in your "meta.json" file.

If you're using an IDE, you can reference "Core.dll" in your project for code completion and type checking.

Limitations​

The issues below might be resolved in the future, since I have tools in my own workflow to generate minimal cslist files based on file dependencies, and a custom package bundler outside of VaM. However, these tools are not ready for release, and I can't promise they will ever be.

Packaging​

VaM resolves paths to other packages in cslist files just fine when loading plugins. However, when you try to build your package with VaM's package builder, there will be broken references and no dependency to Core will be added in your package meta file. Either modify the "meta.json" file inside the var afterwards (add dependency to "perfectbloo.Core.<version>"; remove broken reference reports), or manually create the meta file to begin with and zip your package by hand (which is quite manageable for script only packages).

Cherry-Picking Files​

Although I'd recommend only adding the files you need to your cslist file, it can be cumbersome. Many files in Core depend on other files of the package, which in return have their own file dependencies. If you cherry-pick files, you need to make sure to include all dependent files recursively.

React to this content...

Share this resource

More resources from perfectbloo

Latest updates

  1. v1:2.0.0 [2]

    Features Add features and improvements to storable params and script UI Add unified json...
Back
Top Bottom