AppState now needs an Id?

Then something else is pulling in a newer version. Run gradle dependencies to see what.

Also, this is an indicator that you are implementing the AppState interface directly instead of subclassing one of the base classes. At best, this means you will be tweaking your classes every time we update the interface… at worst, it means your app states are actually not handling enabled state correctly, etc… which is tricky enough to get right that even the BulletAppState was messed up (and still is to some extent).

Best practice is to extend BaseAppState when possible because it takes care of enabled state with respect to init/cleanup correctly.