Skip to content

aurodev/Svelto.MiniExamples

 
 

Repository files navigation

Svelto.ECS.MiniExamples

New Mini Examples for Svelto.ECS and Svelto.Tasks

Warning: these examples may use using unofficial versions of Svelto that you won't find on the main repository until officially released.

Example 1: Doofuses Must Eat (Pure ECS)

Image

Object-less pure ECS example that shows the basics of Svelto.ECS and Svelto.Tasks.

Article:

http://www.sebaslab.com/svelto-mini-examples-doofuses-must-eat/

Goal of this example:

  • show the simplest use of Svelto ECS (mixed versions)
  • intoduce to the concept of entity descriptors, entity structs and groups.
  • Show the integration with UnityECS, show the use of Svelto.Tasks 2.0 (alpha state)
  • show integration with Unity Jobs and Burst (using Svelto.ECS 3.0 (currently alpha state)
  • Iteration 1
    • Integration with UnityECS for rendering
    • Move the camera with arrows and mouse, left button to drop food
  • Iteration 2:
    • Integration with Burst for better performance
    • Move the camera with arrows and mouse, left button to drop 100 random food only once
  • Iteration 3:
    • Full code jobification with Svelto ECS 3.0 alpha

Example 2: The classic Survival demo (Hybrid ECS)

Image

Basic integration with Unity GameObjects and Monobehaviours. Uses Svelto ECS 2.8 and Svelto Tasks 1.5

Goal of this example:

  • show the integration with OOP platforms (Unity in this case) throught the use of Entity View Structs and implementors.
  • Test webgl support

Main Article: http://www.sebaslab.com/learning-svelto-ecs-by-example-the-survival-example/

I used the Survival Shooter Unity Demo to show how an ECS framework could work inside Unity. I am not sure about the license of this demo, so use it only for learning purposes.

Most of the source code has been rewritten to work with Svelto.ECS framework. The Survival Demo is tested with the latest version of Unity, so I cannot guarantee that it always works, but it should work with all the versions from 5.3 and above.

Example 3: GUI and Service Layer (Hybrid ECS for GUI)

Integration with Unity UI and Svelto entities.

Goal of this example

  • Show how EntityStreams work to publish data changes.
  • Show how to enable databinding with ExclusiveGroups.
  • Show how to setup a data oriented GUI with nested prefabs.
  • Show a basic usage of the Svelto.Services (https://github.com/sebas77/Svelto.Services)

Main article: http://www.sebaslab.com/svelto-miniexamples-gui-and-services-layer/

Example 4: Multiple Contexts and more serious alternative to the implementors (ToDO)

Example 5: Vanilla

Basic Platform Agnostic Svelto example

  • Goal: Shows the very foundation of a simple entity and engine logic, without any Unity or other platform dependency (pure .net). This example won't cover all the aspects of SECS, but only the basics.

About

Svelto.ECS and Svelto.Tasks Mini Examples for Unity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 98.1%
  • ShaderLab 1.7%
  • HLSL 0.2%