For the very young, 30 minutes can be very long, as age increases the amount of time usually can increase. Older kids and adults can usually focus and stay on task longer. Adults usually about an hour. So 30 minutes to an hour. Once your group begins to form you’ll get a good feel for duration. However, depending on the venue, you might have time constraints on each side of your time slot.
When dealing with groups that had a broad range of ages, focus was often given to the youngest initially, when they were ready to put the yo away, they just played games and had fun with peers, while the rest of the group continued to yoyo. For safety, lines were placed on the floor with tape, or when outdoors we used cones, to mark the yoyo zone. Only yoyoing inside that boundary. That way those yoyoing didn’t have to worry about a kid zooming through and getting bonked. Older kids and adults often would visit and share what they were working on and accomplishing very naturally on their own during the beginning of each session.
Occasionally, a sub group would meet outside the normal time based on interest, skill, or just some extra socialization and fun.
People came and went during any session based on interest and what else was happening in life. I’d pay close attention to people leaving. Try to figure out if they’re leaving because the scheduled time was inconvenient, something else was going on atm, or their interest wasn’t being held. Then you can make adjustments.
I always asked for a great deal of feedback, always checking to see if they were having a good time and were engaged, frustrated, or if all was good. This allowed me to adjust accordingly.
I’ll add one thing here as I don’t believe I’ve mentioned it; if possible time the session so that your group is engaged at the end. They will remember the end of the session more than any other part. That’s the main reason you really want them to leave with a great experience. If they remember the previous session fondly, they will want to return! Thus, activities and games at the end!