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:
- Nav - DOTS navigation with auto-jumping agents and movable surfaces.
- Spawning - Generic DOTS runtime spawning for any combination of prefab, components, and buffers (not compatible with IL2CPP).
- Randomization -
Unity.Mathematics.Random
number generators in jobs, including Burst-capable ones.
All of my packages are available on OpenUPM.
Here's how my articles on reeseschultz.com relate to samples in this project:
⇒ Assets/Scenes/Nav/NavTerrainDemo.unity
.
⇒ Assets/Scenes/Nav/NavMovingJumpDemo.unity
.
⇒ Assets/Scenes/Nav/NavPerformanceDemo.unity
.
⇒ Assets/Scenes/Nav/NavPointAndClickDemo.unity
.
⇒ Assets/Scenes/PointAndClickDemo.unity
.
⇒ Assets/Scenes/ProjectileDemo.unity
⇒ Assets/Scenes/ProjectileDemo.unity
⇒ Assets/Scenes/SpawnDemo.unity
⇒ Assets/Scenes/Nav/NavPerformanceDemo.unity
⇒ Assets/Scenes/ProjectileDemo.unity
⇒ Assets/Scenes/SpawnDemo.unity
The demos may use the spawning package, which isn't compatible with IL2CPP. Keep that in mind when building and running scenes.
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
If, despite prior warning, you still want to use IL2CPP, note that you need to install clang
on Ubuntu via:
sudo apt install clang
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.