BovineLabs Core

May 9, 2026 ยท View on GitHub

BovineLabs Core provides extensions, containers, and tools for building games with Unity DOTS (Data-Oriented Technology Stack).

For support and discussions, join Discord.

If you want to support my work or get access to a few private libraries, Buy Me a Coffee.

Installation

The latest version of the library is available on GitLab. The project is actively worked on daily in various branches.

Once installed, the library provides utilities, custom containers, and high-performance extensions without disrupting your existing workflow.

Core

FeatureDescription
Change Filter TrackingAllows you to track how frequently a component triggers a change filter and warns you if it is happening too frequently
CollectionsSpecialized collection types with performance optimizations, thread safety, and ECS-focused functionality
DebugComprehensive debugging and assertion utilities with Burst compatibility and ECS-specific debugging support
DynamicHashMapAdds HashMap support to entities
EntityCommandsProvides a shared interface between EntityManager, EntityCommandBuffer, EntityCommandBuffer.ParallelWriter and IBaker
FacetsSource-generated IFacet helpers that provide aspect-like access via lookups and chunk iteration
ExtensionsExtension methods that enhance Unity's DOTS APIs with performance optimizations and convenience methods
FunctionsExtensible way to add support for extending jobs to other developers or modders
InspectorsUI Toolkit base classes for custom editors and property drawers with prefab-aware variants and fallback field rendering
IteratorsHigh-performance iterator utilities for ECS applications with Burst-compatible enumeration capabilities
JobsCustom jobs (IJobForThread, IJobParallelForDeferBatch, IJobHashMapDefer, IJobParallelHashMapDefer)
KK is a type-safe, Burst-compatible alternative to Enums and LayerMasks that allows you to define key-value pairs in settings files
SettingsSettings framework for managing and creating settings
Singleton BuffersMerge dynamic buffers from many sources into a single runtime singleton buffer entity
Singleton CollectionEasily set up a Many-To-One container singleton with minimal boilerplate and syncless job support
SpatialFast spatial hashmap generation
StatesProvides states on entities by mapping a bit field to components automatically
UtilityDescription
BurstTrampolineInvoke managed delegates from Burst code with reusable trampolines and optional out parameters
Global RandomA static random usable from everywhere, even parallel burst jobs
PooledNativeListHigh-performance, thread-safe pooling system for Unity's NativeList collections
UtilityComprehensive collection of utility classes and helpers for high-performance Unity DOTS development

Extensions

The Core library maintains the status quo in your project by default. However, there are powerful features that can be manually enabled, which may require changes to your workflow. To enable these features, navigate to the BovineLabs -> Manager menu.

FeatureDescription
AnalyzersAutomatic Roslyn analyzer integration infrastructure for seamless code analysis and style enforcement
EntityBlobMemory-efficient storage of multiple BlobAssetReferences in a single blob using perfect hash maps
Life CycleFramework for managing entity initialization and destruction
Object ManagementAutomatic ID, category and group management
PauseWorld-level pause system with fine-grained control over system updates during pause states
PhysicsStatesStateful collision and trigger event tracking with Enter/Stay/Exit states for Unity Physics
PhysicsUpdateEnsures Unity Physics spatial data remains current at high frame rates above fixed timestep
SubScenesEnhanced SubScene loading with world targeting and editor tools