nicolasgramlich / ReeseUnityDemos

Unity packages and demos—emphasizing ECS, jobs, and the Burst compiler—by me, Reese.

Home Page:https://reeseschultz.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ReeseUnityDemos

Unity packages and demos—emphasizing ECS, jobs, and the Burst compiler—by me, Reese.

Packages

This project is a UPM package monorepo that supports the included demos, featuring:

  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.

All of my packages are available on OpenUPM. Please support it and its maintainer, Favo. We depend on dedicated people like him.

ubump

My packages benefit from ubump, automating their SemVer-bumping needs, including committing, pushing, tagging, changelog generation and subtree splitting so each package can be released stand-alone and imported with OpenUPM or Git.

Video of using ubump's interactive CLI mode.

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 packages and demos—emphasizing ECS, jobs, and the Burst compiler—by me, Reese.

https://reeseschultz.com

License:MIT License


Languages

Language:C# 100.0%