How to run jobs using ComponentDataFromEntity in parallel

ComponentDataFromEntity<T> is one of the most commonly used API in Unity's Entities package (ECS). At least in our case. It's basically like Dictionary<Entity, T> where T is an IComponentData. You can lookup any component as long as you have the entity owner. You can get a ComponentDataFromEntity<T> for any T in any sytem. The most … Continue reading How to run jobs using ComponentDataFromEntity in parallel

How to add subscribers to Mailchimp within your Unity game

Mailing list is one of the powerful marketing tools for indie devs. You can read Chris Zukowski's posts here and here. One of my favorite books, Perennial Seller by Ryan Holiday, also talked about why a mailing list is important to have if you're a creator that wants to sell. There's a story that when … Continue reading How to add subscribers to Mailchimp within your Unity game

How we did the tutorial system in Academia: School Simulator, Part 3: Putting them all together

In part 2, I discussed how we made the tutorial actions that will be available on the editor. Now we're on the last part (I promise). I'm going to discuss how we put them all together from the SSM framework discussed in part 1 and the actions in part 2. Editor Let me show you … Continue reading How we did the tutorial system in Academia: School Simulator, Part 3: Putting them all together

How we did the tutorial system in Academia: School Simulator, Part 2: Actions

In part 1 of this post, I discussed about the underlying framework used for our tutorial system for Academia. I'll continue it here on how we made the tutorial actions. Locking or unlocking an interaction UI In Unity, there's a base class for all components that makes a UI interactable. It's called Selectable. The components … Continue reading How we did the tutorial system in Academia: School Simulator, Part 2: Actions

How we did the tutorial system in Academia: School Simulator, Part 1: SSM

I've been a game developer for more than a decade now. I can say that one of the technically challenging features to do is the guided tutorial. Tutorials are generally hard because they tend to temporarily break the normal functioning of the game's systems. Later on, those systems should revert to functioning normally and seamlessly. … Continue reading How we did the tutorial system in Academia: School Simulator, Part 1: SSM

The different lists allowed in IComponentData

Unity's ECS is very different in that it requires a subset of C# if you want to take advantage of the Burst compiler. This subset was termed High Performance C# (HPC#). For the components part of ECS, only structs are allowed that are composed of blittable types. You can't have reference types like classes. public … Continue reading The different lists allowed in IComponentData

Getting Started with Blob Asset

Blob asset is a concept used in Unity's DOTS. Basically, it's an asset that's stored in unmanaged memory that can be accessed inside components. The term "asset" here does not mean asset in the traditional sense like a prefab, texture, 3D model, audio clip, etc. The term is used to mean data. It could be … Continue reading Getting Started with Blob Asset