A user (@daville) posted the following question to this thread after the "new" forums went live, prior to being reverted: This was the reply: Yes! Well, near enough. There is a way to retrieve events within a specified range of time. This is done on a per-KoreographyTrack basis, however. Further, the time is specified in samples. See: Code (CSharp): string eventID; // Retrieved or set. Koreography someKoreography; // Retrieved or set. KoreographyTrack targetTrack = someKoreography.GetTrackByID(eventID); // Look at time 10.5 seconds. int targetTimeInSamples = (int)(10.5f * someKoreography.SampleRate); int sampleRangeWindow = 100; // Look in the range 10.5 seconds ±100 samples (provides a window). targetTrack.GetEventsInRange(targetTimeInSamples - sampleRangeWindow, targetTimeInSamples + sampleRangeWindow); Keep in mind that the GetEventsInRange method simply searches the list of Koreography Events within the Koreography Track in a linear fashion. You can alternatively use the GetEventsInRangeTracked method to cut down on this. Especially recommended if you're doing things sequentially!