가끔 어떤 블루프린트 타입을 사용해야 할지 그냥 보면 헷갈릴 때가 있습니다. 특히 블루프린트 매크로 라이브러리나 블루프린트 클래스가 더욱 그렇습니다. 이럴 때는 경험상 스스로 이렇게 물어보는 것이 좋습니다.
인스턴스가 여러 개인가?
총알에 파괴되거나 켰다 끌 수 있는 TV 세트처럼 인스턴스가 한두 개를 넘는 경우 블루프린트 클래스를 생성하고 거기에 관련 코드를 넣는 것이 좋습니다. 그렇지 않고 단지 X개 유닛 내 모든 액터 찾기와 같은 헬퍼 함수만 원한다면 해당 함수는 블루프린트 매크로 라이브러리에 두는 것이 이상적입니다.
Level Blueprint
A Level Blueprint is a specialized type of Blueprint that acts as a level-wide global event graph. Each level in your project has its own Level Blueprint created by default that can be edited within the Unreal Editor, however new Level Blueprints cannot be created through the editor interface.
Events pertaining to the level as a whole, or specific instances of Actors within the level, are used to fire off sequences of actions in the form of Function Calls or Flow Control operations. Those familiar with Unreal Engine 3 should be very familiar with this concept as this is very similar to how Kismet worked in Unreal Engine 3.
Level Blueprints also provide a control mechanism for level streaming and Sequencer as well as for binding events to Actors placed within the level.
For more information on this section, please see Level Blueprint.
Blueprint Class
A Blueprint Class, often shortened as Blueprint, is an asset that allows content creators to easily add functionality on top of existing gameplay classes. Blueprints are created inside of Unreal Editor visually, instead of by typing code, and saved as assets in a content package. These essentially define a new class or type of Actor which can then be placed into maps as instances that behave like any other type of Actor.
For more information on this section, please see Blueprint Class.
Data-Only Blueprint
A Data-Only Blueprint is a Blueprint Class that contains only the code (in the form of node graphs), variables, and components inherited from its parent. These allow those inherited properties to be tweaked and modified, but no new elements can be added. These are essentially a replacement for archetypes and can be used to allow designers to tweak properties or set items with variations.
Data-Only Blueprint are edited in a compact property editor, but can also be "converted" to full Blueprints by simply adding code, variables, or components using the full Blueprint Editor.
For more information on this section, please see Data-Only Blueprint.
Blueprint Interface
A Blueprint Interface is a collection of one or more functions - name only, no implementation - that can be added to other Blueprints. Any Blueprint that has the Interface added is guaranteed to have those functions. The functions of the Interface can be given functionality in each of the Blueprints that added it. This is essentially like the concept of an interface in general programming, which allows multiple different types of Objects to all share and be accessed through a common interface. Put simply, Blueprint Interfaces allow different Blueprints to share with and send data to one another.
Blueprint Interfaces can be made by content creators through the editor in a similar fashion to other Blueprints, but they come with certain limitations in that they cannot:
Add new variables
Edit graphs
Add Components
For more information on this section, please see Blueprint Interface.
Blueprint Macro Library
A Blueprint Macro Library is a container that holds a collection of Macros or self-contained graphs that can be placed as nodes in other Blueprints. These can be time-savers as they can store commonly used sequences of nodes complete with inputs and outputs for both execution and data transfer.
Macros are shared among all graphs that reference them, but they are auto-expanded into graphs as if they were a collapsed node during compiling. This means that Blueprint Macro Libraries do not need to be compiled. However, changes to a Macro are only reflected in graphs that reference that Macro when the Blueprint containing those graphs is recompiled.
For more information on this section, please see Blueprint Macro Library.