U Blueprints

Related notes: Unreal Code Code

https://benui.ca/unreal/subsystem-singleton/ size map - on BP to check dependencies

Methodology

  • don’t make logic and asset in same place !
  • have a native parent class
  • avoid references assets - soft ref / cast to type create hard ref to this type

Nomenclature

Tick

delay dumpticks - list all ticking no Tick - timeline

Events

for latent (later) executions - Begin Play - - Destory - - Trigger - - Tick with delta (time elapsed from last call)

Event Dispatchers

can subscribe and fire when triggered

  • cad define in data tab.
  • to subscribe you bind dispatcher. can have many

    Interfaces

  • enforce structure , separation of concern can communicate with other interfaces can avoid casting

    Tags

Abilities


Actor

Actor

  • Can be spawned or loaded with level,
  • Can make child’s
  • Can inherent components.
  • Can be used ad component

    Scene Component

  • attachments …
  • can hierarchy and support transform to parent

    Actor component

  • more abstract don’t support transform
  • used for path finding, movement…..

Blueprints

Blueprint Classes - create custom game object / prefabs

Function

similar to programing. execute code in frame was called.

  • can communicate between BP. (can call from any but no: time /. delay )
  • is processed once
  • cheapest

    Macro

    collapse nodes. better use fn. but support more than one exec pin (for logic)

  • more expensive
  • only in one BP cant communicate
  • can delay anf time event
  • for repetition things

Casting

when csting to objevt > casting to bp > so loading entire BP to memo

if not using csat to : resoult but only check if cast is succesfull (to check type) use:

  • has matching gameplay tag
  • is actor of class
  • because cast to can pull ref to casting type.

Communicate between BP

Direct

Dispatcher

event i binding do overlapow fog kacpi !!!! struktura propertisem obiektu assetu (nie data asetu) - jest jako const zebys nie omgl zmieniac assetu w grze

  • Interface

  • Create BP actor witch ray
    • Ray trace > break: hit actor Does implement Interface node to check
  • Create BP InterfaceActor - event that create interface between BP

Logic

Loops, Gates, Do once, Seq


Memory management

Clear intermediate BP and component to not have any ref, because all of them would be loaded wit BP
CAn set Abstract !!!
can only ref assets belonging to level ??!
its good to move functionality to C++

References to Assets

  • actor ref - will load child and partnt (specific obj) «
  • class ref - load children

Direct reference

are loaded whenever BP is loaded.

(reference viewer, and size map tools) !!!!

when wand where load to memory. Dependencies:

  • hard will load whole asset. Attaching object to BP. Load in memory whenever BP is loaded. (hierarchical cascading )

Soft references

  • delay load. Will not force, u must them explicitly load them

  • soft ‘link’ is storing location. Different way to acces it. Lod soft

    • async load asset (for individual or whole class)
    • cast to class
    • set (component to new mesh loaded to memory)
    • set to hard variable Unload
    • no way > can destroy actor.
    • can threat like any uobject

    ( when created ref of given type, u need to load type to know that its soft )

inheretance

  • Child BP implititly reference their patern classes and any asst they reference

Debug

Print Brak Point Watch Value Header Tool (5.1)


Editor scripting

Construction Script

Can do anything -

  • keep it self contained for safety ! better do in blutility/utiliti widg/

Action utilitie blueprints (Action utilitie)

  • Context menu buttons with functions.
  • Asset actions / content browser context / level editor context

Things like :

  • remove material overrides
  • if sth match class ….

  • RMB events in level or browser

Editor utility Widgets

Edit tools. can help automate tasks. Can dock in UI.

  • in background listening (like content validation)

Blutiliyy buttons

Acttor Action Utilities

Console comands

console comands & python

Asset validators


BP notes

set timer by event » (delay) » clear and invalidate timer by handle


Slate / UI

https://twitter.com/Mike_Prinke/status/1570065544774041600

Blueprints

For content references visual stuff and simple functionalites. begining load at use . With all references, lib and obj. C++ load at begining, use for larg math / saves / platform specyfic / controls / hjardwar SDK integrations / ticks /

BP are signifient slower than C++ (to x10) depend on mode: PIE > Dev Play > Pack > Buiild
Cost in number of nodes / casting / circular ref Loops and itterations expensive Use Events when possible
Async load of obj. by map assets

https://romeroblueprints.blogspot.com/p/table-of-contents.html