Named as such since Unity didn’t have something like the Actor class in Unreal.
The Actor System Core Design Goal – to provide a simple C# API for Unity games that have an “clean” separation between game entities and visual actors. The Actor System is that bridge – kind of like tech art, right?
Well… that’s the other design goal. Unity C# makes visual tech and pipeline development accessible to tech artists to implement such solutions. Thus freeing up engineering for feature and gameplay work.

The third design pillar of the Actor System – to enable artist tools in the editor that did not require to run the game most of the time. This streamlined the iteration workflow for artists allowing them to quickly see the runtime implementation of their work with minimal steps to see it. Also, the clean interface between the actor and the gameplay entities meant that artist tools did not require the game to be running. It also reduced the frequency that gameplay code changes would break the Actor System artist tools.
While it probably could be used for single player offline games, the core design of the Actor System is optimized to be driven by gameplay, not the other way around. It is designed to handle interupts, online syncs in a client/server scenario, multi state entities (ex: running injured vs running health), visual states for shaders/vfx, and much more.
The Actor System owns the implementation of the visual for that character. The gameplay entities own the state (and substates) of that actor. The Actor System provides the interface for the entity to direct what visual state the actor should be in. The actor, in turn, decides how to interpret that state with the visual systems it manages.
The Actor System subsystems at its disposal are:
- Animation
- Shaders
- VFX
- Attachments (similar to sockets in Unreal)
- Parametric VFX
- Audio
- 3D UI – reticles


The Actor System states and substates it manages are:
- states (idle, move, death) – more persistent states
- actions (attack, jump) – timed events that have a discrete end
- effects/statuses (poisoned, burning) – a stack of effects that are affecting that entity
- stances (unarmed, 1h sword, bow) – handles major animation variants as well as weapon system attachments and attach points
- pose/context (swimming/grounded/flying) – an additional dimension similar to stances to handle more animation variants
The Actor System (previous iteration) used Unity scriptable objects as the data containers with focus on extensibility and reuse. The next iteration of the Actor System will be natively integrated with an asset database to reduce the friction for artists in configuring the visuals of their work for the game.