İkisi tamamen alakasız şeyler:
Cast : Bir base class (ata sınıf) pointerı, child class ( türemiş sınıf) bir objeye pointer referansı yapıyorsa: bu pointerı, base class pointer dan child class pointer a çevirmek için kullanıyoruz.
Örneğin GetGameMode bize bir base class olan AGameModeBase pointer ı döndürür. Ama biz aslında onun gerçekte kendi gamemode umuz (Mesele AwesomeGameMode.BP vb. ) u gösterdiğini bildiğimizden, ve kendi gamemode umuza özgü olan tüm yenilik ve özelleştirmelere ulaşabilmek istediğimizden, onu kendi gamemodu muza "Cast" ederiz. Çünkü "base gamemode pointer" ından asla kendi gamemodumuza "özel" özellikleri kullanamayız. (Diğerlerini kullanırız bu arada)
GetAllActorsOfClass. : Belirli bir Actor sınıfından türemiş olan tüm objeleri, o levelin içinden tek tek bulup toplayarak bir Array yani dizinin içine koyar. Böylece o Actor sınıfından olan herşeye, o level içerisinde ulaşmış oluruz. Yanlız sıralaması tam belli değildir. Mesela o level deki tüm Gold Actorlerine ulaşmak için AGoldActor sınıfını aratabilirsin.
Gold örneğinde eğer baştan direk GetAllActorsofClass ile GoldActor ü arattıysan direk listene gelen her şey gold actor olacaktır. Cast başarılı oluyorsa, o bir GoldActor dür. Başarılı değilse başka bir şeydir zaten.
Genel olarak oyun programlama yapıyorsan şu kuralı her zaman söylerim: "GetAllActorsofClass kullanıyorsan büyük ihtimalle yanlış bir dizayn uyguluyorsun. Çünkü normalde bir şeyleri sonradan toplamaman lazım". Ancak sen oyun dışı kullandığın için senin için bu sıkıntı değil.