From Intrigues Wiki

ID Property in Culture Class


The ID property in the Culture class serves as a unique identifier for each culture within a game. This property is vital in scenarios where distinct cultural identities play an integral role in the game mechanics, storytelling, or character interactions.

Property Definition

[field: SerializeField] public string ID { get; private set; }


  • The ID property is a string that is serialized by Unity, allowing it to be set within the Unity Editor.
  • It is a read-only property (private set), ensuring that its value is set within the class or in the Unity Editor, but cannot be modified externally.


This property is particularly important in games with diverse cultures, including:

  • Role-playing games where characters belong to different cultures with unique traditions and values.
  • Strategy games where various cultures may have distinct abilities or characteristics.
  • Games where cultural background impacts narrative decisions or player interactions.

Example of Usage

public class DisplayPlayerCultureID : MonoBehaviour {
    void Start() {
        Culture playerCulture = IM.Player.Culture;
        if (playerCulture != null) {
            Debug.Log($"Player's Culture ID: {playerCulture.ID}");

Here's a conceptual example of how to access the ID of the player's culture:


  • This example retrieves the ID of the player's assigned culture (playerCulture) and logs it.
  • It illustrates a basic method to access and display the unique identifier of a culture assigned to a player.


  • The ID property is crucial for identifying and referencing different cultures within the game's world.
  • It should be distinct and descriptive to avoid confusion and enhance gameplay clarity.
  • This property is typically used alongside other cultural attributes for a more comprehensive portrayal of cultural diversity.