Releases: sschmid/Entitas
Entitas 1.9.0
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
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
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 Wizard is wip. If you have feedback or feature request, please add a comment here
#778
Entitas 1.8.0
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
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
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
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
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
🆕 Added WarnIfCompilationErrorsPreProcessor
Entitas 1.6.0
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
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
[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
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
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
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.
🛠 Removed dependency on Entitas.CodeGeneration.Plugins from Entitas.VisualDebugging.Unity.Editor #312
DesperateDevs
🆕 Added EnsureStandalonePreProcessor to prevent accidentally generating in Unity