While the UDK has a built in crowd system (which you can find an example of in ExampleMap.udk), it is primarily to have character meshes run through waypoints. I like to create crowds of spectators, which requires a different technique.
Creating a crowd of spectators
- Place the actor in the level as a SkeletalMeshActorMat.
- Create an AnimTree for the actor, which includes a number of different animations that are randomly played.
- Open the SkeletalMeshActorMat properties and add the AnimTree.
- Create a new matinee sequence. Add the actor and set the Anim Sets just like you would for any other matinee scene.
- Create copies of the SkeletalMeshActorMat in the level. Select them all by right-clicking in the viewport and going to Select > Select Matching Skeletal Meshes.
- With the meshes still selected, open Kismet and right-click on the matinee connector for the actor and select “New Object Vars Using…”.
Your kismet will end up looking really complex, but it’s actually pretty simple (just a lot of variables). Make sure you have an input to activate the Matinee Sequence (I use Level Loaded).