Skip to content
dexied edited this page Jul 28, 2026 · 7 revisions

Welcome to the XPropertyDemo wiki!



Installing the plugin

  1. Download the XProperty plugin from FAB using EpisGames Launcher.
  2. Enable the XProperty plugin in your project!
image image
  1. If you downloaded the plugin from another source, place it in the project folder. The plugin path will look like this: YourProject/Plugins/XProperty


About functions

You can change the values ​​of variables simply by knowing their type and name! Simply call one of the following functions to change the variable!

  1. SetFloatPropertyValueInObject
image
  1. SetIntPropertyValueInObject
image
  1. SetObjectPropertyValueInObject
image
  1. SetSoftObjectPropertyValueInObject
image
  1. SetBoolPropertyValueInObject
image
  1. SetNamePropertyValueInObject
image
  1. SetBytePropertyValueInObject
image

To get the value of a variable, call one of the following functions

  1. GetFloatPropertyValueInObject
image
  1. GetIntPropertyValueInObject
image
  1. GetObjectPropertyValueInObject
image
  1. GetSoftObjectPropertyValueInObject
image
  1. GetBoolPropertyValueInObject
image
  1. GetNamePropertyValueInObject
image
  1. GetBytePropertyValueInObject
image

To create temporary storage for a variable, use one of the following functions

  1. MakeFloatPropertyAttribute
image
  1. MakeIntPropertyAttribute
image
  1. MakeObjectPropertyAttribute
image
  1. MakeSoftObjectPropertyAttribute
image
  1. MakeBoolPropertyAttribute
image
  1. MakeNamePropertyAttribute
image
  1. MakeBytePropertyAttribute
image

Using attributes

Attributes are very useful when you need to initialize an object, but each object can have different parameters. As an example, we will initialize a simple Actor

  1. Open any Actor and create an array of XPropertyAttribute in it.
image
  1. Make this variable InstanceEditable and ExposeOnSpawn
image
  1. Now on BeginPlay let's initialize our variables
image
  1. Create a float variable and name it Health
image
  1. Let's now display our Health on BeginPlay using PrintString
image
  1. Now open LevelBlueprint and spawn our test Actor. Also, using the MakeArray and MakeFloatPropertyAttribute functions, pass the value to the Actor
image
  1. Click Play and you will see that the value has been set!
image

In this way you can initialize different dynamic parameters of different Objects or Actors.



Using Attributes (Additional Example)

  1. This is also very convenient when you have child classes. For example, let's create a child Actor Blueprint from our test Actor.
image image
  1. Open it and create a variable of type int in it and name it Count
image
  1. Also, on BeginPlay after the Parent function, use PrintString to display this value.
image
  1. Move these two Actors to the level
image
  1. Now, we know that our Parent Actor has only a variable Health, and the Child Actor has two variables Health and Count. So select your Parent Actor in the level and in the Details panel add one element to the array XPropertyFloatAttribute
image image

And in the Child Actor, add two elements: XPropertyFloatAttribute and XPropertyIntAttribute image


  1. Click Play and you will see that the values ​​have been set correctly.
image

Attributes in Data Asset

You can also use this variable type for DataAsset to store different parameters for different types of objects. This is very convenient, for example, for systems like inventory.

image

Additionally

You can also use Cast to determine what type of variable is used and get the values ​​manually.

image image

PROBLEM - SOLUTION

If for some reason your attribute array is cleared after compiling the blueprint in which this variable is located, then use the XPropertyAttributes structure instead of a regular array of XPropertyAttribute objects.

image