BovineLabs Core is a Unity ECS/DOTS foundation package with Burst-friendly collections, source-generated entity helpers, reusable authoring and settings workflows, editor tooling, diagnostics, and shared test fixtures.
For support and discussions, join Discord.
- Unity 6000.7 or newer.
- Unity Entities 6.7.0 or newer.
- NetCode and Unity Physics integrations require their matching Unity packages at 6.7.0 or newer. Input System 1.20.0 or newer enables Input Action asset inspectors. Localization, Splines, Terrain, and VFX integrations are compiled when their matching supported packages or Unity modules are available.
Optional integrations are guarded by asmdef versionDefines and compile symbols such as UNITY_NETCODE, UNITY_PHYSICS, UNITY_INPUT_SYSTEM, and UNITY_LOCALIZATION. Install the matching package before using an API that depends on it.
Install the standalone BovineLabs Package Manager once per project:
- Open Window > Package Management > Package Manager.
- Select Install package from git URL... from the add menu and enter:
https://gitlab.com/tertle/com.bovinelabs.git
- Open Window > Package Management > BovineLabs Package Manager.
- Select BovineLabs Core and click Install.
The BovineLabs Package Manager installs this package and its required BovineLabs dependencies as embedded packages under Packages/. Commit the
installed package directories to version control. The manager connects to the BovineLabs registry itself; do not add the registry to Unity's scoped
registry settings.
To install Core directly from Git, open the Package Manager, select Install package from git URL..., and enter:
https://gitlab.com/tertle/com.bovinelabs.core.git
The Git version may contain unpublished changes.
Then follow Getting started.
| Guide | Covers |
|---|---|
| Overview | Requirements, assemblies, feature selection, optional integrations, and the recommended reading path |
| Getting started | Install Core, reference its assemblies, and verify a first ECS system |
| Collections | Choosing fixed, native, unsafe, blob, pooled, and entity-owned containers |
| Dynamic buffer collections | Entry-backed dictionaries, multi-dictionaries, and hash sets stored in ECS buffers |
| Generated dynamic hash maps | Byte-backed maps, source-generated accessors, specialized variants, and optional NetCode serialization |
| Entity commands | Reusing entity-shape builders across bakers, command buffers, jobs, and tests |
| Settings | Settings assets, ECS baking, world routing, and startup singletons |
| ConfigVars | Burst-readable runtime variables, command-line overrides, EditorPrefs, and the ConfigVars window |
| Debugging and logging | Check, BLLogger, BLGlobalLogger, build gates, and entity-selection state |
| Testing | BovineLabs.Testing, ECSTestsFixture, leak checks, and math assertions |
| Inspectors | UI Toolkit editor bases, Graph Toolkit drawers, prefab-aware editing, and built-in drawers |
| Troubleshooting | Assembly visibility, generators, settings, ConfigVars, collections, logging, and optional packages |
The documentation overview links every specialized guide, including facets, jobs, iterators, spatial maps, keys, Burst trampolines, and utilities.
| Assembly | Purpose |
|---|---|
BovineLabs.Core |
Runtime APIs, collections, generators, diagnostics, settings singletons, and non-baker entity-command wrappers |
BovineLabs.Core.Authoring |
Bakers, SettingsAuthoring, SettingsBase, authoring utilities, and BakerCommands |
BovineLabs.Core.Editor |
Settings and ConfigVars windows, asset tools, custom inspectors, drawers, and editor utilities |
BovineLabs.Testing |
Editor-only ECS fixtures, leak detection, reflection helpers, and math assertions |
These assemblies have autoReferenced disabled. Add every assembly a consuming .asmdef uses; installing the package alone does not make its types visible.
If you want to support ongoing development or access private libraries, see Buy Me a Coffee.
BovineLabs Core's original code is licensed under the MIT License. Third-party portions retain their original licenses and copyright notices; see Third Party Notices.