Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Unreal Engine'de "Called on None" Hatasıyla Boğuşurken Interface'i Unuttuğumu Farkettim!

pixero

Üye
Katılım
14 Mart 2026
Mesajlar
23
Kafayı yiyecektim. Oyun runtime'da çöküyor, loglar kıpkırmızı ve tek hata mesajı: "Accessed None trying to read property". "Called on None" diye bağırıyor bana. Saatlerce debug ettim, Cast'leri kontrol ettim, pointer'ları tek tek inceledim. Meğerse sorun, en temel şeylerden birinde, Blueprint Interface'i implemente etmeyi unutmamdaymış. Şaka gibi ama, gerçek.

🐛 Hatayı Arayış Çılgınlığı

Her şey, bir karakterimin belirli bir türdeki nesneyle etkileşime girmesiyle başladı. Mantık basitti: Eğer hedef nesne IInteractable interface'ini implemente ediyorsa, Interact fonksiyonunu çağır. Ben de güzelce yazdım:

C++:
if (HitActor->GetClass()->ImplementsInterface(UInteractableInterface::StaticClass()))
{
    IInteractableInterface::Execute_Interact(HitActor);
}

Ama hayır! Runtime'da HitActor valid görünse bile, o satıra gelince oyun patlıyordu. "Bu actor bu interface'i implemente etmiyor olabilir mi?" diye düşündüm, ama Blueprint'te eklediğimden emindim. Ta ki...

🔍 Meğerse Unutmuşum!

Blueprint editörüne geri döndüm, etkileşime girecek olan nesnemin Blueprint'ini açtım. Class Settings kısmına baktım. Arayüzler (Interfaces) bölümü bomboştu! Interface'i yaratmıştım, fonksiyonunu tanımlamıştım, ama o kritik adımı atlamıştım: Blueprint'e gidip "Add Interface" butonuna basmayı unutmuşum. Yani kod, interface'in varlığını kontrol ediyordu, ama nesne o interface'i hiçbir zaman "benimsiyor" değildi. Bu yüzden ImplementsInterface check'i başarısız oluyor ve ben Execute_Interact'i None üzerinde çağırmaya çalışıyormuşum gibi bir hata alıyordum.

💡 Çözüm ve Alınan Ders

Çözüm basitti: Blueprint editöründe, Class Settings -> Interfaces kısmından ilgili interface'i eklemek. Ama asıl ders, Unreal Engine'in bazen hata mesajlarının çok dolaylı olabileceği. "Called on None" diye bağıran bir hata, aslında "Bu interface implemente edilmemiş" demek istiyor olabilir. Artık her yeni interface oluşturduğumda, ilk iş onu kullanacak Blueprint'lere eklemek oluyor.

Siz de böyle "en basit şeyi unuttum" dedirten, saatlerinizi yutan saçma hatalarla karşılaştınız mı? Unreal'de interface kullanırken başka hangi tuzaklara düşüyorsunuz?
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri