Skip to content

Unity DOTS packages and samples—featuring ECS, jobs and the Burst compiler—by me, Reese.

License

Notifications You must be signed in to change notification settings

shichuchen/ReeseUnityDemos

 
 

Repository files navigation

ReeseUnityDemos

Unity DOTS packages and samples—featuring ECS, jobs and the Burst compiler—by me, Reese.

Packages

This project is a UPM package monorepo that supports my demos, including:

  1. Nav - DOTS navigation with auto-jumping agents and movable surfaces.
  2. Spawning - Generic DOTS runtime spawning for any combination of prefab, components, and buffers.
  3. Randomization - Unity.Mathematics.Random number generators in jobs, including Burst-capable ones.

These packages all use ubump to automate their SemVer-bumping needs, including committing, pushing, tagging, changelog generation and subtree splitting so each package can be imported stand-alone with Git.

And why a monorepo? Because juggling multiple Unity projects with different configurations is annoying. Plus, if I have to update one thing, it forces me to consider updating or removing other things. Centralizing configuration—while distributing stand-alone packages—works best for me personally. The alternative would be a sprawling mishmash of disproportionately maintained projects.

Demos

Here's how my articles on reeseschultz.com relate to samples in this project:

The DOTS navigation scripts and demos are self-contained so you can use them in your project.

Video of navigation agents jumping across moving surfaces.

Assets/Scenes/Nav/NavMovingJumpDemo.unity.

Video of agents spawning and avoiding obstacles.

Assets/Scenes/Nav/NavPerformanceDemo.unity.

Video of an agent moving to point-and-clicked destinations.

Assets/Scenes/Nav/NavPointAndClickDemo.unity.


Video of changing prefab colors with Unity ECS.

Assets/Scenes/PointAndClickDemo.unity.


Video of projectile motion demonstration with Unity DOTS.

Assets/Scenes/ProjectileDemo.unity


Assets/Scenes/ProjectileDemo.unity

Assets/Scenes/SpawnDemo.unity

Assets/Scenes/Nav/NavPerformanceDemo.unity


Assets/Scenes/ProjectileDemo.unity


Video of spawning prefabs with Unity ECS.

Assets/Scenes/SpawnDemo.unity


Linux & You

Linux users may need to do some extra work to get the project and/or packages up and running.

Mono Setup

Install Mono by following these directions.

Burst Prerequisite Setup

On Ubuntu I couldn't use the Burst compiler until I manually installed gcc-multilib and libncurses5 with:

sudo apt install gcc-multilib libncurses5

You may have these libraries already, or you could be experiencing a different problem. Be sure to read any error messages the Unity Editor outputs.

Contributor Agreement

By submitting a pull request, you agree to license your work under this project's MIT license.

About

Unity DOTS packages and samples—featuring ECS, jobs and the Burst compiler—by me, Reese.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%