Well the mechanism of Unrealscript states is essentially the same insofar as you are overriding functions based on the object’s state. All this means is that you actually separate your state specific stuff into an independent object that the actor has a reference to, rather than it being in the same file, which IMHO improves readability and code organisation, and potentially allows for state classes to be shared between objects that aren’t children of the same parent class.