Unity packages and demos—emphasizing ECS, jobs and the Burst compiler—by me, Reese.
This project is a UPM package monorepo that supports the included demos, featuring:
- Navigation - DOTS navigation with auto-jumping agents and movable surfaces; released as a package on the
nav
branch. - Randomization -
Unity.Mathematics.Random
number generators in jobs, including Burst-capable ones; released as a package on therandom
branch. - Spatial Events - Reactive entry and exit events in Burst-capable jobs; released as a package on the
spatial
branch. - Utility Code - General utility code for Unity, mainly DOTS-oriented; released as a package on the
utility
branch.
There are various demo scenes included in Assets/Scenes
. Take a look!
Linux users may need to do some extra work to get the project and/or packages up and running.
Install Mono by following these directions.
Avoid sandboxing Unity Hub and Unity with Flatpak or Snap, otherwise libdl.so
may be inaccessible to the editor.
Also, on Ubuntu, you may need to manually install gcc-multilib
and libncurses5
with:
sudo apt install gcc-multilib libncurses5
Note that you may need to install clang
on Ubuntu via:
sudo apt install clang
- The
Stranded
demo extensively uses Mini Mike's Metro Minis (licensed with CC BY 4.0) by Mike Judge. That project is embedded in this one by way ofAssets/MMMM/
. Its directory structure was modified, and new prefabs were generated for it rather than using the included ones. - The sounds mixed in the
Stranded
demo are from Freesound; only ones licensed with CC0 are used here. - The
NavHybridDemo
leverages animations from Mixamo by Adobe. - The navigation package uses NavMeshComponents (licensed with MIT) by Unity Technologies; this means, for example, that runtime baking is supported, but just from the main thread.
- The navigation package uses PathUtils (licensed with zlib) by Mikko Mononen, and modified by Unity Technologies. Did you know that Mikko is credited in Death Stranding for Recast & Detour?
Find a problem, or have an improvement in mind? Great. Go ahead and submit a pull request. Note that the maintainer offers no assurance he will respond to you, fix bugs or add features on your behalf in a timely fashion, if ever. All that said, GitHub Issues is fine for constructive discussion.
By submitting a pull request, you agree to license your work under this project's MIT license.