Trove is a collection of high-performance DOTS packages including event systems, state machines, polymorphic structs, stats systems, and common utilities. Designed for performance and simplicity with minimal architectural impact, these tools prioritize customizability, netcode compatibility, and transparent manual control over your game logic.
Unity Project
Built with Unity 6000.4.0f1 · download the source from GitHub
Download 0
README
Rendered from GitHub
Trove is a collection of packages for Unity DOTS.
All of these packages care about:
- Performance
- Customizability
- Netcode compatibility
- Keeping things as simple and not over-engineered as possible
- Having as little impact on your architecture as possible
- Making you do things manually so you are fully aware of everything that happens
Installing the packages
The packages are hosted on OpenUPM. You can install them like this:
- Open
Edit/Project Settings/Package Manager. - Add a new Scoped Registry
- Name:
package.openupm.com - URL:
https://package.openupm.com - Scope:
com.trove
- Name:
- Click Save or Apply.
- Open
Window/Package Manager. - Click
+and selectAdd package by name.... - Enter package name (and optionally version, if want a specific one), then click
Add.
Package list
| Name | Package | Description | Documentation |
|---|---|---|---|
| Common | com.trove.common | Trove Common provides various tools and utilities that may be used by other Trove packages, or by any project in general. | Documentation |
| Event Systems | com.trove.eventsystems | Trove Event Systems provides various types of event systems to facilitate deferred logic. | Documentation |
| Polymorphic Structs | com.trove.polymorphicstructs | Trove Polymorphic Structs provides a codegen tool for polymorphic behaviour in burstable unmanaged code. They can be used to solve a variety of problems that are not so obvious to solve in ECS, such as: ordered events where order can't be determined by type, state machines without structural changes or large jobs overhead, etc... | Documentation |
| State Machines | com.trove.statemachines | Trove State Machines provides templates for state machines in DOTS | Documentation |
| Stats | com.trove.stats | Trove Stats allows you to define identifiable "numbers" (stats) on entities, and add/remove "rules" (modifiers) that affect the evaluation of these numbers' values. This tool can be used to effortlessly setup gameplay mechanics such as RPG character/equipment stats, buffs, effects, roguelike-style stackable powerups and synergies, etc... | Documentation |
| Spatial Queries | com.trove.spatialqueries | Trove Spatial Queries provides tools for querying objects in the scene. | Documentation |
| Utility AI | com.trove.utilityai | Trove Utility AI provides a flexible and efficient decision-making system for ECS. | Documentation |
| Tweens | com.trove.tweens | Trove Tweens is a simple tweening tool that allows you to create your own highly-efficient custom tweens. | Documentation |
| Audio | com.trove.audio | Trove Audio is a simple ECS interface for FMOD. | Documentation |
| Debug Draw | com.trove.debugdraw | Trove Debug Draw is a GPU-persistent burst-compatible debug line/mesh drawer. | Documentation |
Versions 0
No versions tracked yet.
Dependencies 0
No dependencies.
Changelog 0 releases
No changelog entries yet. Run the admin Changelog & Version Scanner to pull from the repository's CHANGELOG.md.
Comments
No comments yet. Be the first!

Sign in to join the conversation
Sign In