<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>CToolComponent :: Catur Documentation</title>
    <link>https://doc.cdryx.net/CdryxAIOUPlugin/modules/ccoreumodule/tools/ctoolcomponent/index.html</link>
    <description>Overview Runtime creation and retrieval of UObjects, Actors, Components (Actor, Scene, Primitive), Niagara effects, and DataTables.&#xA;Object &amp; Actor creation Name Description createObjectAtRuntime Create a UObject at runtime with optional init lambda. Overloads with/without explicit UClass. createObjectSingletonAtRuntime Create only if ref is not already valid. spawnActorAtRuntime Deferred spawn with init before FinishSpawning. Supports attach to owner. Overloads with/without explicit UClass. spawnActorSingletonAtRuntime Spawn only if ref is not already valid. createDatatableAtRuntime Create a UDataTable for a struct type at runtime. // Create a UObject UCPerf* perf = createObjectAtRuntime&lt;UCPerf&gt;(this, [](UCPerf* p) { /* init */ }); // Create singleton (only if not already valid) createObjectSingletonAtRuntime&lt;UCPerf&gt;(this, perf); // Spawn actor with init before BeginPlay AMyActor* a = spawnActorAtRuntime&lt;AMyActor&gt;(this, FTransform::Identity, [](AMyActor* a) { a-&gt;MyProperty = 42; }); // Create datatable UDataTable* dt = createDatatableAtRuntime&lt;FMyRow&gt;(); Component creation Name Description createActorComponentAtRuntime Create, register, and add an ActorComponent at runtime. createSceneComponentAtRuntime Create and attach a SceneComponent. createPrimitiveComponentAtRuntime Create and attach a PrimitiveComponent with collision settings. // ActorComponent UMyComponent* c = createActorComponentAtRuntime&lt;UMyComponent&gt;(myActor); // SceneComponent attached to parent USceneComponent* s = createSceneComponentAtRuntime&lt;USceneComponent&gt;(parentComponent, EComponentMobility::Movable); // PrimitiveComponent with collision UStaticMeshComponent* p = createPrimitiveComponentAtRuntime&lt;UStaticMeshComponent&gt;( parentComponent, ECollisionEnabled::QueryAndPhysics, EComponentMobility::Movable); Component retrieval Name Description retrieveComponentNoCast Get first component matching class or interface, returned as UActorComponent* (no cast). Tries GetComponentsByInterface first, then GetComponentByClass. retrieveComponent Get first component of type C on actor. Casts the result. executeComponent Retrieve component and execute lambda on it. Multiple overloads for class/interface combinations. // Retrieve (no cast, returns UActorComponent*) UActorComponent* raw = retrieveComponentNoCast&lt;IMyInterface&gt;(myActor); // Retrieve (cast to C*) UMyComponent* c = retrieveComponent&lt;UMyComponent&gt;(myActor); // Execute on component executeComponent&lt;UMyComponent&gt;(myActor, [](UMyComponent* c) { c-&gt;DoSomething(); }); // Execute with interface cast executeComponent&lt;UMyComponent, IMyInterface&gt;(myActor, [](UActorComponent* c, IMyInterface* i) { i-&gt;InterfaceMethod(); }); Niagara Name Description spawnNiagaraAtRuntime Spawn Niagara effect. Overloads: attached to component, or at world location. // Attached to actor spawnNiagaraAtRuntime(myActor, niagaraSystem, attachComponent, FName(&#34;Socket&#34;), FRotator::ZeroRotator, FVector(1), true); // At world location spawnNiagaraAtRuntime(GetWorld(), niagaraSystem, FVector(100, 200, 0));</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate></lastBuildDate>
    <atom:link href="https://doc.cdryx.net/CdryxAIOUPlugin/modules/ccoreumodule/tools/ctoolcomponent/index.xml" rel="self" type="application/rss+xml" />
  </channel>
</rss>