Skip to content

Releases: sschmid/Entitas

Entitas 1.9.0

03 Nov 21:34
Compare
Choose a tag to compare

Added

  • Optimize generated code #780
    • This increases entity and component creation performance
  • Optimize Visual Debugging performance #799
    • This increases the performance especially when having thousands of entities
  • Generate XML documentation #792
    • This will show documentation in the IDE
  • Using latest bee

Changed

  • Context ctor signature changed. Generate to fix compiler errors.
    If you don't use the Entitas.Roslyn plugins from the Unity Asset Store,
    you have to manually fix the affected generated context classes. E.g. Generated/Game/GameContext.cs,
    add () => new GameEntity() as a last argument
public sealed partial class GameContext : Entitas.Context<GameEntity> {

    public GameContext()
        : base(
            GameComponentsLookup.TotalComponents,
            0,
            new Entitas.ContextInfo(
                "Game",
                GameComponentsLookup.componentNames,
                GameComponentsLookup.componentTypes
            ),
            (entity) =>

#if (ENTITAS_FAST_AND_UNSAFE)
                new Entitas.UnsafeAERC(),
#else
                new Entitas.SafeAERC(entity),
#endif
            () => new GameEntity() // <---------- update here
        ) {
    }
}
  • Release retained entities when ReactiveSystem.Execute() has an exception #812
    • This fixes spamming the Unity console with error messages

Entitas 1.8.2

29 Aug 20:48
Compare
Choose a tag to compare

As always, the Unity Asset Store version might take a few days to be processed
and accepted by Unity. Please check for updates in 2 - 4 days here:
http://u3d.as/NuJ

Hotfix release to re-add the Entitas.Roslyn folder.

Entitas 1.8.1

28 Aug 22:05
Compare
Choose a tag to compare

Note

Skip Entitas 1.8.1.
Due to project stucture changes, the build script didn't pick up Entitas.Roslyn ;(


As always, the Unity Asset Store version might take a few days to be processed
and accepted by Unity. Please check for updates in 2 - 4 days here:
https://www.assetstore.unity3d.com/#!/content/87638

Entitas

⚙️ Add "@" in front of component name if it is a C# keyword #744 #756 @roygear
⚙️ Added convenience ctor to JobSystem to use all available threads on the device
⚙️ JobSystem.Execute() is now virtual

Jenny

🛠 Fixed delays when running jenny server
🆕 jenny help aka man page
🆕 jenny wiz beta. Running Jenny.exe without args will automatically run jenny wiz

jenny-search

Jenny Wizard is wip. If you have feedback or feature request, please add a comment here
#778

Entitas 1.8.0

16 Aug 19:40
Compare
Choose a tag to compare

As always, the Unity Asset Store version might take a few days to be processed
and accepted by Unity. Please check for updates in 2 - 4 days here:
https://www.assetstore.unity3d.com/#!/content/87638

Entitas

⚙️ Enabled [Event] for non components #743
⚠️ Renamed CustomComponentNameAttribute to ComponentNameAttribute

Jenny

⚙️ Added more logs to gen command

Generating using /Users/sschmid/Dev/C#/Half-life3/Jenny.properties
Generating done (13220 files in 4 seconds)

⚙️ Added group to ICommand to support grouped usage overview

Note:
Ignore jenny wiz
This feature accidentally made it into this release but it's far from done

Entitas 1.7.0

08 Jul 12:39
Compare
Choose a tag to compare

As always, the Unity Asset Store version might take a few days to be processed
and accepted by Unity. Please check for updates in 2 - 4 days here:
https://www.assetstore.unity3d.com/#!/content/87638

Visual Debugging

⚙️ StringTypeDrawer now uses EditorGUILayout.DelayedTextField

Code Generator

🆕 Added CleanupAttribute
⚠️ Renamed UniquePrefixAttribute to FlagPrefixAttribute

Asset Store Version

🆕 Cleanup Data Providers and Code Generators

Instead of manually writing custom systems to remove components or destroy
entities, you can now use the new [Cleanup] attribute to automatically
generate <Context>CleanupSystems for you.

E.g. adding the [Cleanup] attribute to a DestroyedComponent can replace
your custom DestroyEntitySystem.

[Cleanup(CleanupMode.DestroyEntity)]
public sealed class DestroyedComponent : IComponent {
}

There are currently two options:

  • CleanupMode.DestroyEntity
  • CleanupMode.RemoveComponent

CleanupMode.DestroyEntity will generate a system that destroys all
entities which have this component.

CleanupMode.RemoveComponent will generate a system that will remove
this component from all entities which have this component.

Entitas 1.6.1

21 Jun 21:50
Compare
Choose a tag to compare

As always, the Unity Asset Store version might take a few days to be processed
and accepted by Unity. Please check for updates in 2 - 4 days here:
https://www.assetstore.unity3d.com/#!/content/87638

Entitas

🛠 Fixed context.Reset() which doesn't remove event handlers anymore #725
🛠 Updated EntitasStats to exclude JobSystem and Feature

Jenny

🛠 Fixed Jenny dropdown UI to not show 'mixed...' anymore
⚙️ Added Jenny Server toggle to UI
⚙️ Added dry run option
⚠️ Removed EnsureStandalonePreProcessor
🆕 Added WarnIfCompilationErrorsPreProcessor

Entitas 1.6.0

15 Jun 01:15
Compare
Choose a tag to compare

As always, the Unity Asset Store version might take a few days to be processed
and accepted by Unity. Please check for updates in 2 - 4 days here:
https://www.assetstore.unity3d.com/#!/content/87638

General

⚠️ Changed Entitas Asset Store package structure by separating Desperate Devs dlls into their own folder
Please run jenny auto-import -s or modify Preferences.properties to update the paths to the plugins if necessary

Entitas

🛠 Added support to remove event listeners within event callback #698

⚠️ Improved Entitas Event API [Event(bool)] #717
Use "find and replace" to update all your EventAttribute usages
[Event(true)] is now [Event(EventTarget.Self)]
[Event(false)] is now [Event(EventTarget.Any)]

⚙️ Added support for [DontDrawComponent] for all components #678
💄 Updated comments for group.RemoveAllEventHandlers() #684
🛠 Fixed check for updates

DesperateDevs

⚙️ Updated TargetFrameworkProfilePreProcessor #721
🛠 Added str.ToUnixPath()

Entitas 1.5.2

09 Apr 12:58
Compare
Choose a tag to compare

As always, the Unity Asset Store version might take a few days to be processed
and accepted by Unity. Please check for updates in 2 - 4 days here:
https://www.assetstore.unity3d.com/#!/content/87638

Entitas

🛠 Fixed EventSystemsGenerator generated EventSystems per context but those systems contained EventSystems from all context

DesperateDevs

🛠 Added TcpMessageParser to reliably receive separate messages from a tcp stream

Entitas 1.5.1

05 Apr 09:37
Compare
Choose a tag to compare

As always, the Unity Asset Store version might take a few days to be processed
and accepted by Unity. Please check for updates in 2 - 4 days here:
https://www.assetstore.unity3d.com/#!/content/87638

DesperateDevs

⚙️ Added better error message to EnsureStandalonePreProcessor

When EnsureStandalonePreProcessor is activated it will prevent you from accidentally generating in Unity.
To generate in Unity make sure EnsureStandalonePreProcessor is not activated.

Entitas 1.5.0

03 Apr 20:23
Compare
Choose a tag to compare

As always, the Unity Asset Store version might take a few days to be processed
and accepted by Unity. Please check for updates in 2 - 4 days here:
https://www.assetstore.unity3d.com/#!/content/87638

Entitas

🆕 Added JobSystem for multi threading as a proof of concept.

public sealed class RotateSystem : JobSystem<GameEntity> {

    public RotateSystem(GameContext context, int threads) :
        base(context.GetGroup(GameMatcher.AllOf(GameMatcher.Rotation, GameMatcher.RotationVector)), threads) {
    }

    protected override void Execute(GameEntity entity) {
        entity.rotation.value = entity.rotation.value * Quaternion.Euler(entity.rotationVector.value);
    }
}

Limitations:

  • Don't use generated methods like Add() and Replace()
  • Modify component values directly
    See #325 (comment)

This is not a general purpose solution for all problems. It can be used to solve certain performance intense areas in your game. It can be very useful if there's a very large number of entities that have to be processed, or if the data transformation involves heavy calulations.

⚠️ EventSystemsGenerator generates EventSystems per context now.
🛠 Removed dependency on Entitas.CodeGeneration.Plugins from Entitas.VisualDebugging.Unity.Editor #312

DesperateDevs

🆕 Added EnsureStandalonePreProcessor to prevent accidentally generating in Unity