- Unreal Engine 4 Scripting with C++ Cookbook
- William Sherif Stephen Whittle
- 221字
- 2021-07-08 10:50:49
Creating a UFUNCTION
UFUNCTION()
are useful because they are C++ functions that can be called from both your C++ client code as well as Blueprints diagrams. Any C++ function can be marked as a UFUNCTION()
.
How to do it...
- Construct a
UClass
with a member function that you'd like to expose to Blueprints. Decorate that member function withUFUNCTION( BlueprintCallable, Category=SomeCategory)
to make it callable from Blueprints. For example, the following is theWarrior
class again:// Warrior.h class WRYV_API AWarrior : public AActor { GENERATED_BODY() public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Properties) FString Name; UFUNCTION(BlueprintCallable, Category = Properties) FString ToString(); }; // Warrior.cpp FString UProfile::ToString() { return FString::Printf( "An instance of UProfile: %s", *Name ); }
- Create an instance of your
Warrior
class by dragging an instance on to your game world. - From Blueprints, call the
ToString()
function on thatWarrior
instance by clicking on yourWarrior
instance. Then, in a Blueprints diagram, type inToString()
. It should look like in the following screenshot:
Tip
In order to call a function on an instance, the instance must be selected in the World Outliner when you start to type into the autocomplete menu in the Blueprints diagram, as shown in the following screenshot:

How it works…
UFUNCTION()
are really C++ functions, but with additional metadata that make them accessible to Blueprints.
推薦閱讀
- Mastering Zabbix(Second Edition)
- What's New in TensorFlow 2.0
- Learning Flask Framework
- Mastering Julia
- Python GUI Programming Cookbook
- ASP.NET程序設(shè)計教程
- Webpack實戰(zhàn):入門、進階與調(diào)優(yōu)
- CoffeeScript Application Development Cookbook
- Python大學實用教程
- Extending Unity with Editor Scripting
- Secret Recipes of the Python Ninja
- OpenCV Android開發(fā)實戰(zhàn)
- Spring Microservices
- Hadoop MapReduce v2 Cookbook(Second Edition)
- ROS Robotics By Example