C++的類別可以分為POD(Plain Old Data)以及非POD。POD可以對應到UnrealScript的struct;而非POD的類別則要對應到UnrealScript的class,也就是必須繼承UObject才行。這種類別稱為固有類別(Intrinsic Class)。
固有類別比起一般的C++類別多了一些要注意的事項:
- 必須直接或間接繼承UObject
- 要在類別定義內使用DECLARE_CLASS_INTRINSIC巨集
- 若有想要在UnrealScript中使用的欄位,要在成員函式StaticConstructor註冊。
- 若有參考到UnrealScript物件的欄位,必需使用EmitObjectReference函式或AddReferencedObjects函式註冊。
- 可在成員函式InitializeIntrinsicPropertyValues給定欄位初值。
- 在AUTO_INITIALIZE_REGISTRANTS_XXX使用StaticClass()註冊,XXX替換成實際的Script Package名稱。