-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Unity integration
Entitas.Unity.CodeGenerator extends Unity with a menu item that generates code with a single click.
It also plugs into the Entitas preferences, where you can specify the path to the folder, where the generated files should be saved. You can specify multiple contexts and the corresponding Contexts and ContextAttributes will be generated for you.
Visual Debugging enables you to actually see and inspect all of your entities in the Unity Editor. Use the generated Contexts.context
or add ContextObserver
to your context. That's it!
var context = Contexts.context;
var context = new Context(ComponentIds.TotalComponents, 0, new ContextInfo("Context", ComponentIds.componentNames));
#if (!ENTITAS_DISABLE_VISUAL_DEBUGGING && UNITY_EDITOR)
var contextObserver = new ContextObserver(context, ComponentIds.componentTypes);
Object.DontDestroyOnLoad(contextObserver.entitiesContainer);
#endif
Once you use the ContextObserver
the context and their entities will automatically show up in the hierarchy.
Although entities are no GameObjects and components are no MonoBehaviours you can inspect them as if they were. All components of the selected entity are listed and all their fields are exposed. You can manipulate or remove components at runtime and even destroy the entity. All the default Unity drawers are supported and you can easily create your own ITypeDrawer
to draw custom objects. Take a look at these implementations
When you select multiple entities, you can manually destroy some of them or batch destroy all of them.
Entitas.Unity.VisualDebugging also plugs into the Entitas preferences, where you can specify the folders where you want to save the generated IDefaultInstanceCreator and ITypeDrawer implementations.
When using DebugSystems
instead of Systems
you can easily monitor all your systems and identify slow systems.
Give it a try and checkout the example projects
Guides: Introduction - Installation - Upgrading - FAQ - Cookbook - Contributing
Need Help? Ask a question on Discord or create an issue.
- The Basics
- Concepts
- Architecture / Patterns