{"id":9652,"date":"2022-04-08T23:39:48","date_gmt":"2022-04-08T20:39:48","guid":{"rendered":"https:\/\/arabgamedev.com\/?post_type=docs&#038;p=9652"},"modified":"2022-05-13T11:46:40","modified_gmt":"2022-05-13T08:46:40","password":"","slug":"%d9%85%d8%b5%d8%b7%d9%84%d8%ad%d8%a7%d8%aa-unreal-engine","status":"publish","type":"docs","link":"https:\/\/arabgamedev.com\/en\/docs\/%d9%85%d8%b5%d8%b7%d9%84%d8%ad%d8%a7%d8%aa-unreal-engine\/","title":{"rendered":"Unreal Engine Terminology"},"content":{"rendered":"<p style=\"direction: rtl; text-align: right;\">This page explains terms commonly used in\u00a0<strong>Unreal Engine<\/strong>\u00a0. If you have wondered \u201cWhat is an\u00a0<strong>Actor<\/strong>\u00a0?\u201d or \u201cWhat is a\u00a0<strong>Component<\/strong>\u00a0?\u201d, this page answers those questions and more.<\/p>\n<p style=\"direction: rtl; text-align: right;\">After learning a term, explore the related topics at the end of its section.<\/p>\n<div class=\"note\" style=\"text-align: right;\">\n<p style=\"direction: rtl;\">This page uses programming concepts, especially\u00a0<strong>classes<\/strong>\u00a0and their\u00a0<strong>subclasses<\/strong>\u00a0. In C++, a\u00a0<strong>class<\/strong>\u00a0is an extensible code template containing variables and behavior. Its\u00a0<strong>subclasses<\/strong>\u00a0inherit some or all of a parent class's code and functionality.<\/p>\n<\/div>\n<div class=\"note\" style=\"text-align: right;\">\n<p style=\"direction: rtl;\">All C++ classes mentioned here are specific to Unreal Engine.<\/p>\n<\/div>\n<h2 style=\"direction: rtl; text-align: right;\">Project<\/h2>\n<p style=\"direction: rtl; text-align: right;\">The\u00a0<strong>Unreal Engine 5 project<\/strong>\u00a0contains all the game's content in folders on disk, such as\u00a0<code>Blueprints<\/code>and\u00a0<code>Materials<\/code>. Organize project folders as needed. The\u00a0<strong>Content Browser<\/strong>\u00a0in\u00a0<strong>Unreal Editor<\/strong>\u00a0shows the same directory structure as the\u00a0<code>Project<\/code>folder on disk.<\/p>\n<p style=\"direction: rtl; text-align: right;\">Each project has an associated\u00a0<code>.uproject<\/code>file. The\u00a0<code>.uproject<\/code>file is used to create, open, or save a project. You can create multiple projects and work on them in parallel.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see\u00a0<a id=\"content_link\" href=\"#\">Projects and Templates<\/a>\u00a0.<\/p>\n<h2 style=\"direction: rtl; text-align: right;\">Blueprint<\/h2>\n<p style=\"direction: rtl; text-align: right;\">The\u00a0<strong>Blueprint Visual Scripting<\/strong>\u00a0system provides complete gameplay scripting through a node-based interface in Unreal Editor. Like other scripting languages, it defines object-oriented classes or objects. In UE4, objects defined this way are commonly called \u201cBlueprints.\u201d<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see\u00a0<a id=\"content_link\" href=\"#\">Blueprints Visual Scripting<\/a>\u00a0.<\/p>\n<h2 style=\"direction: rtl; text-align: right;\">Object<\/h2>\n<p style=\"direction: rtl; text-align: right;\"><strong>Objects<\/strong>\u00a0are Unreal Engine's fundamental class, acting as building blocks with basic asset functionality. Almost everything in Unreal Engine inherits from an Object.<\/p>\n<p style=\"direction: rtl; text-align: right;\">In C++,\u00a0<code>UObject<\/code>is the base class for Objects. It provides garbage collection, metadata (\u00a0<code>UProperty<\/code>), exposing variables in Unreal Editor, and serialization for loading and saving.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Unreal Architecture<\/a><\/p>\n<\/li>\n<\/ul>\n<h2 style=\"direction: rtl; text-align: right;\">Class<\/h2>\n<p style=\"direction: rtl; text-align: right;\">A Class defines\u00a0<strong>the behavior<\/strong>\u00a0and properties of an Actor or Object. Classes form a hierarchy, inheriting information from parents and passing it to children. Create them in C++ or Blueprints.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Blueprint Class<\/a><\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Gameplay Classes<\/a><\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Page not found<\/p>\n<\/li>\n<\/ul>\n<h2 style=\"direction: rtl; text-align: right;\">Actor<\/h2>\n<p style=\"direction: rtl; text-align: right;\"><strong>An Actor<\/strong>\u00a0is an object placed in a level, such as a camera, Static Mesh, or Player Start. Actors support translation, rotation, and scaling and can be spawned or destroyed through C++ or Blueprint gameplay code.<\/p>\n<p style=\"direction: rtl; text-align: right;\">In C++,\u00a0<code>AActor<\/code>is the base class for Actors.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Actors<\/a><\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Actors and Geometry<\/a><\/p>\n<\/li>\n<\/ul>\n<h2 style=\"direction: rtl; text-align: right;\">Casting<\/h2>\n<p style=\"direction: rtl; text-align: right;\"><strong>Casting<\/strong>\u00a0attempts to treat an Actor of one class as another class. It can succeed or fail; success gives access to functionality specific to the target class.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For example, a game may have different volumes affecting a player. One is\u00a0<strong>Fire<\/strong>\u00a0, which reduces health over time. When the player overlaps any volume, cast\u00a0<strong>that<\/strong>\u00a0volume to\u00a0<strong>Fire<\/strong>\u00a0to access its damage-player-health functionality.<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\">If the cast succeeds, the player is standing in fire and begins losing health.<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">If it fails, the player is in another type of volume and health is unaffected.<\/p>\n<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right;\">Casting differs from checking class membership. A check returns yes or no, but does not let you interact with class-specific functionality.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Casting in Blueprints<\/p>\n<\/li>\n<\/ul>\n<h2 style=\"direction: rtl; text-align: right;\">Component<\/h2>\n<p style=\"direction: rtl; text-align: right;\"><strong>A Component<\/strong>\u00a0is functionality added to an Actor.<\/p>\n<p style=\"direction: rtl; text-align: right;\">An Actor can use the functionality its Components provide. For example:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\">A Spot Light Component makes it emit a spotlight.<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">A Rotating Movement Component makes it rotate.<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">An Audio Component lets it play sounds.<\/p>\n<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right;\">Components must attach to an Actor and cannot exist independently.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Components<\/a><\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Components Window<\/a><\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Components<\/a><\/p>\n<\/li>\n<\/ul>\n<h2 style=\"direction: rtl; text-align: right;\">Pawn<\/h2>\n<p style=\"direction: rtl; text-align: right;\"><strong>Pawns<\/strong>\u00a0are an Actor subclass representing an in-game avatar. A player or game AI can control a Pawn, including as a non-player character (NPC).<\/p>\n<p style=\"direction: rtl; text-align: right;\">A Pawn controlled by a human or AI is\u00a0<em>possessed<\/em>\u00a0. Without either controller, it is\u00a0<em>unpossessed<\/em>\u00a0.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Pawns<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Possessing Pawns<\/a><\/p>\n<\/li>\n<\/ul>\n<h2 style=\"direction: rtl; text-align: right;\"><strong>Character<\/strong>\u00a0Character<\/h2>\n<p style=\"direction: rtl; text-align: right;\"><strong>Character<\/strong>\u00a0is a Pawn subclass intended for player characters. It includes collision setup, bipedal-movement input bindings, and additional player-movement code.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Characters<\/a><\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Setting Up a Character<\/a><\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Setting Up Character Movement<\/a><\/p>\n<\/li>\n<\/ul>\n<h2 style=\"direction: rtl; text-align: right;\">Player Controller<\/h2>\n<p style=\"direction: rtl; text-align: right;\">A Player\u00a0<strong>Controller<\/strong>\u00a0turns player input into game interactions. Every game has at least one and it commonly possesses a Pawn or Character to represent the player.<\/p>\n<p style=\"direction: rtl; text-align: right;\">Player Controllers are also primary multiplayer network-interaction points. The server has one per player to make network function calls. Each client has only its own Player Controller and uses it to communicate with the server.<\/p>\n<p style=\"direction: rtl; text-align: right;\">The associated C++ class is\u00a0<code>PlayerController<\/code>.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see\u00a0<a id=\"content_link\" href=\"#\">Player Controllers<\/a>\u00a0.<\/p>\n<h2 id=\"aicontroller\" style=\"direction: rtl; text-align: right;\">AI Controller<\/h2>\n<p style=\"direction: rtl; text-align: right;\">Like a Player Controller possessing a player's Pawn, an\u00a0<strong>AI Controller<\/strong>\u00a0possesses a Pawn representing an NPC. Pawns and Characters receive a basic AI Controller by default unless possessed by a Player Controller or configured not to create one.<\/p>\n<p style=\"direction: rtl; text-align: right;\">The associated C++ class is\u00a0<code>AIController<\/code>.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see\u00a0<a id=\"content_link\" href=\"#\">AI Controllers<\/a>\u00a0.<\/p>\n<h2 style=\"direction: rtl; text-align: right;\">Player State<\/h2>\n<p style=\"direction: rtl; text-align: right;\">The state of the\u00a0<strong>player<\/strong>\u00a0represents a participant, such as a human or a bot simulating one. Non-player world AI does not have Player State.<\/p>\n<p style=\"direction: rtl; text-align: right;\">Player State may contain:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Name<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Current level<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Health<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Score<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Whether the player holds the flag in Capture the Flag.<\/p>\n<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right;\">In multiplayer, all Player States exist on all machines and replicate server data to clients for synchronization. This differs from Player Controller, which exists only on the represented player's machine.<\/p>\n<p style=\"direction: rtl; text-align: right;\">The associated C++ class is\u00a0<code>PlayerState<\/code>.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see\u00a0<a id=\"content_link\" href=\"#\">Gameplay Framework Quick Reference<\/a>\u00a0.<\/p>\n<h2 style=\"direction: rtl; text-align: right;\">Game Mode<\/h2>\n<p style=\"direction: rtl; text-align: right;\">The\u00a0<strong>Game Mode<\/strong>\u00a0defines the rules of play, including:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\">How players join.<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Whether the game can be paused.<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Game-specific behavior such as victory conditions.<\/p>\n<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right;\">Set the default Game Mode in\u00a0<a id=\"content_link\" href=\"#\">Project Settings<\/a>\u00a0and override it for individual levels. There can be only one Game Mode per level.<\/p>\n<p style=\"direction: rtl; text-align: right;\">In multiplayer, Game Mode exists only on the server and the rules are replicated, or sent, to connected clients.<\/p>\n<p style=\"direction: rtl; text-align: right;\">The associated C++ class is\u00a0<code>GameMode<\/code>.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Game Modes<\/a>\u00a0.<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Setting Up a Game Mode<\/a><\/p>\n<\/li>\n<\/ul>\n<h2 style=\"direction: rtl; text-align: right;\">Game State<\/h2>\n<p style=\"direction: rtl; text-align: right;\">The state of the\u00a0<strong>game<\/strong>\u00a0is a container of information to replicate to every client: the game state for everyone connected.<\/p>\n<p style=\"direction: rtl; text-align: right;\">Game State may contain:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Match-score information.<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">Whether the match has started.<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\">How many AI characters to spawn based on player count.<\/p>\n<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right;\">In multiplayer, each player's machine has one local Game State instance, updated from the server's Game State.<\/p>\n<p style=\"direction: rtl; text-align: right;\">The associated C++ class is\u00a0<code>GameState<\/code>.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see\u00a0<a id=\"content_link\" href=\"#\">Game State<\/a>\u00a0.<\/p>\n<h2 style=\"direction: rtl; text-align: right;\">Brush<\/h2>\n<p style=\"direction: rtl; text-align: right;\"><strong>A Brush<\/strong>\u00a0is an Actor describing a 3D shape, such as a cube or sphere. Use Binary Space Partition (BSP) Brushes to define level geometry, for example when quickly blocking out a level.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Geometry Brush Actors<\/a><\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Content Examples<\/a><\/p>\n<\/li>\n<\/ul>\n<h2 style=\"direction: rtl; text-align: right;\">Volume<\/h2>\n<p style=\"direction: rtl; text-align: right;\"><strong>Volumes are bounded<\/strong>\u00a03D spaces whose purposes depend on their effects. For example:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><strong>Blocking Volumes<\/strong>\u00a0are invisible and stop Actors passing through.<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><strong>Pain-Causing Volumes<\/strong>\u00a0damage overlapping Actors over time.<\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><strong>Trigger Volumes are programmed<\/strong>\u00a0to fire events when Actors enter or leave.<\/p>\n<\/li>\n<\/ul>\n<p style=\"direction: rtl; text-align: right;\">For more information, see\u00a0<a id=\"content_link\" href=\"#\">Volume Actors Reference<\/a>\u00a0.<\/p>\n<h2 style=\"direction: rtl; text-align: right;\">Level<\/h2>\n<p style=\"direction: rtl; text-align: right;\">A Level is\u00a0<strong>the play area<\/strong>\u00a0you define, containing everything the player sees or interacts with, such as geometry, Pawns, and Actors.<\/p>\n<p style=\"direction: rtl; text-align: right;\">Unreal Engine saves each level as a separate\u00a0<code>.umap<\/code>file, which is why levels are also called\u00a0<strong>maps<\/strong>\u00a0.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Levels<\/a><\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"https:\/\/docs.unrealengine.com\/5.0\/en-US\/level-editor-in-unreal-engine\">Level Editor<\/a><\/p>\n<\/li>\n<\/ul>\n<h2 style=\"direction: rtl; text-align: right;\">World<\/h2>\n<p style=\"direction: rtl; text-align: right;\"><strong>A World<\/strong>\u00a0contains the game's levels and handles level streaming and spawning dynamic Actors.<\/p>\n<p style=\"direction: rtl; text-align: right;\">For more information, see:<\/p>\n<ul style=\"text-align: right;\">\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">World Settings<\/a><\/p>\n<\/li>\n<li class=\"Default\">\n<p style=\"direction: rtl;\"><a id=\"content_link\" href=\"#\">Level Streaming<\/a><\/p>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p style=\"direction: rtl; text-align: right;\">Source: <a href=\"https:\/\/docs.unrealengine.com\/5.0\/en-US\/unreal-engine-terminology\/\" rel=\"nofollow\">https:\/\/docs.unrealengine.com\/5.0\/en-US\/unreal-engine-terminology\/<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\u062a\u0635\u0641 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u0635\u0637\u0644\u062d\u0627\u062a \u0627\u0644\u0623\u0643\u062b\u0631 \u0627\u0633\u062a\u062e\u062f\u0627\u0645\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0639\u0645\u0644 \u0645\u0639\u00a0Unreal Engine\u00a0.\u00a0\u0625\u0630\u0627 \u0648\u062c\u062f\u062a \u0646\u0641\u0633\u0643 \u062a\u062a\u0633\u0627\u0621\u0644 \u060c &#8220;\u0645\u0627 \u0647\u0648\u00a0\u0627\u0644\u0645\u0645\u062b\u0644\u00a0\u061f&#8221;\u00a0\u0623\u0648 &#8220;\u0645\u0627 \u0647\u0648\u00a0\u0627\u0644\u0645\u0643\u0648\u0646\u00a0\u061f&#8221;\u00a0\u0633\u062a\u062c\u064a\u0628 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062d\u0629 \u0639\u0644\u0649 \u0623\u0633\u0626\u0644\u062a\u0643 \u0648\u0627\u0644\u0645\u0632\u064a\u062f. \u0628\u0645\u062c\u0631\u062f \u0641\u0647\u0645 \u0645\u0635\u0637\u0644\u062d \u0645\u0627 \u060c \u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0645\u0648\u0636\u0648\u0639\u0627\u062a \u0627\u0644\u0645\u0631\u062a\u0628\u0637\u0629 \u0641\u064a \u0646\u0647\u0627\u064a\u0629 \u0627\u0644\u0642\u0633\u0645 \u0644\u0645\u0639\u0631\u0641\u0629 \u0627\u0644\u0645\u0632\u064a\u062f. \u062a\u0633\u062a\u062e\u062f\u0645 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u062d\u0629 \u0628\u0639\u0636 \u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u060c \u0644\u0627 \u0633\u064a\u0645\u0627\u00a0\u0627\u0644\u0641\u0626\u0627\u062a\u00a0\u0648\u0627\u0644\u0641\u0626\u0627\u062a\u00a0\u0627\u0644\u0641\u0631\u0639\u064a\u0629\u00a0.\u00a0\u0641\u064a C ++ \u060c \u062a\u0639\u062a\u0628\u0631\u00a0\u0627\u0644\u0641\u0626\u0629\u00a0\u0639\u0628\u0627\u0631\u0629 \u0639\u0646 \u0642\u0627\u0644\u0628 \u0631\u0645\u0632 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649&#8230;<\/p>","protected":false},"author":78572461,"featured_media":9573,"comment_status":"open","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_forum_subforum_count":0,"pmpro_default_level":"","_eb_attr":"","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","footnotes":"","_members_access_role":[],"_members_access_error":""},"doc_category":[151484],"doc_tag":[],"knowledge_base":[150923],"class_list":["post-9652","docs","type-docs","status-publish","has-post-thumbnail","hentry","doc_category--unreal-engine-5","knowledge_base-ue5","pmpro-has-access"],"year_month":"2026-10","word_count":114,"total_views":"1754","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Rami Alhaj Hussein","author_nicename":"ramthh","author_url":"https:\/\/arabgamedev.com\/en\/b\/author\/ramthh\/"},"doc_category_info":[{"term_name":"\u0623\u0633\u0627\u0633\u064a\u0627\u062a Unreal Engine 5","term_url":"https:\/\/arabgamedev.com\/en\/category-docs\/%d8%a3%d8%b3%d8%a7%d8%b3%d9%8a%d8%a7%d8%aa-unreal-engine-5\/"}],"doc_tag_info":[],"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/docs\/9652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/users\/78572461"}],"replies":[{"embeddable":true,"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/comments?post=9652"}],"version-history":[{"count":4,"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/docs\/9652\/revisions"}],"predecessor-version":[{"id":9656,"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/docs\/9652\/revisions\/9656"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/media\/9573"}],"wp:attachment":[{"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/media?parent=9652"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/doc_category?post=9652"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/doc_tag?post=9652"},{"taxonomy":"knowledge_base","embeddable":true,"href":"https:\/\/arabgamedev.com\/en\/wp-json\/wp\/v2\/knowledge_base?post=9652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}