If you dont mind making it a hair more complicated you could scale the amount of entries processed per frame based on the frame rate or delta time, so you don’t get the scenario where a low fps causes it to take a full 3-5 seconds to do them all and big noticeable delays to the user.
I’m assuming these must be very intensive operations to perform for each entry if they need to be split across multiple frames? What exactly are they doing?
It’s only modifying some classes inside. Nothing super heavy.
I just thought it’d be a good thing to learn and be able to use when it’s definitely required.
The coroutine solution was just as framerate dependent!
I kinda like that the coroutine way hides the indexer as a part of the coroutine rather than having it be a field. Otherwise they’re equivalent.