UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FWebJSScripting Class Referenceabstract

#include <WebJSScripting.h>

+ Inheritance diagram for FWebJSScripting:

Classes

struct  ObjectBinding
 

Public Member Functions

 FWebJSScripting (bool bInJSBindingToLoweringEnabled)
 
virtual void BindUObject (const FString &Name, UObject *Object, bool bIsPermanent=true)=0
 
virtual void UnbindUObject (const FString &Name, UObject *Object=nullptr, bool bIsPermanent=true)=0
 
virtual void InvokeJSFunction (FGuid FunctionId, int32 ArgCount, FWebJSParam Arguments[], bool bIsError=false)=0
 
virtual void InvokeJSErrorResult (FGuid FunctionId, const FString &Error)=0
 
FString GetBindingName (const FString &Name, UObject *Object) const
 
FString GetBindingName (const FFieldVariant &Property) const
 
virtual void AddReferencedObjects (FReferenceCollector &Collector) override
 
virtual FString GetReferencerName () const override
 
- Public Member Functions inherited from FGCObject
 FGCObject ()
 
 FGCObject (const FGCObject &Other)
 
 FGCObject (FGCObject &&Other)
 
 FGCObject (EFlags Flags)
 
virtual ~FGCObject ()
 
FGCObjectoperator= (const FGCObject &)
 
FGCObjectoperator= (FGCObject &&)
 
COREUOBJECT_API void RegisterGCObject ()
 
COREUOBJECT_API void UnregisterGCObject ()
 
virtual bool GetReferencerPropertyName (UObject *Object, FString &OutPropertyName) const
 

Protected Member Functions

FGuid PtrToGuid (UObject *Ptr)
 
UObjectGuidToPtr (const FGuid &Guid)
 
void RetainBinding (UObject *Object)
 
void ReleaseBinding (UObject *Object)
 

Protected Attributes

FGuid BaseGuid
 
TMap< TObjectPtr< UObject >, ObjectBindingBoundObjects
 
TMap< FString, UObject * > PermanentUObjectsByName
 
const bool bJSBindingToLoweringEnabled
 

Additional Inherited Members

- Public Types inherited from FGCObject
enum class  EFlags : uint32 { None = 0 , RegisterLater = 1 << 0 , AddStableNativeReferencesOnly = 1 << 1 }
 
- Static Public Member Functions inherited from FGCObject
static COREUOBJECT_API void StaticInit ()
 
- Static Public Attributes inherited from FGCObject
static COREUOBJECT_API UGCObjectReferencerGGCObjectReferencer = nullptr
 

Detailed Description

Implements handling of bridging UObjects client side with JavaScript renderer side.

Constructor & Destructor Documentation

◆ FWebJSScripting()

FWebJSScripting::FWebJSScripting ( bool  bInJSBindingToLoweringEnabled)
inline

Member Function Documentation

◆ AddReferencedObjects()

virtual void FWebJSScripting::AddReferencedObjects ( FReferenceCollector Collector)
inlineoverridevirtual

Pure virtual that must be overloaded by the inheriting class. Use this method to serialize any UObjects contained that you wish to keep around.

Parameters
CollectorThe collector of referenced objects.

Implements FGCObject.

◆ BindUObject()

virtual void FWebJSScripting::BindUObject ( const FString &  Name,
UObject Object,
bool  bIsPermanent = true 
)
pure virtual

Implemented in FNativeJSScripting.

◆ GetBindingName() [1/2]

FString FWebJSScripting::GetBindingName ( const FFieldVariant Property) const
inline

◆ GetBindingName() [2/2]

FString FWebJSScripting::GetBindingName ( const FString &  Name,
UObject Object 
) const
inline

◆ GetReferencerName()

virtual FString FWebJSScripting::GetReferencerName ( ) const
inlineoverridevirtual

Overload this method to report a name for your referencer

Implements FGCObject.

◆ GuidToPtr()

UObject * FWebJSScripting::GuidToPtr ( const FGuid Guid)
inlineprotected

◆ InvokeJSErrorResult()

virtual void FWebJSScripting::InvokeJSErrorResult ( FGuid  FunctionId,
const FString &  Error 
)
pure virtual

Implemented in FNativeJSScripting.

◆ InvokeJSFunction()

virtual void FWebJSScripting::InvokeJSFunction ( FGuid  FunctionId,
int32  ArgCount,
FWebJSParam  Arguments[],
bool  bIsError = false 
)
pure virtual

Implemented in FNativeJSScripting.

◆ PtrToGuid()

FGuid FWebJSScripting::PtrToGuid ( UObject Ptr)
inlineprotected

◆ ReleaseBinding()

void FWebJSScripting::ReleaseBinding ( UObject Object)
inlineprotected

◆ RetainBinding()

void FWebJSScripting::RetainBinding ( UObject Object)
inlineprotected

◆ UnbindUObject()

virtual void FWebJSScripting::UnbindUObject ( const FString &  Name,
UObject Object = nullptr,
bool  bIsPermanent = true 
)
pure virtual

Implemented in FNativeJSScripting.

Member Data Documentation

◆ BaseGuid

FGuid FWebJSScripting::BaseGuid
protected

Private data

◆ bJSBindingToLoweringEnabled

const bool FWebJSScripting::bJSBindingToLoweringEnabled
protected

The to-lowering option enable for the binding names.

◆ BoundObjects

TMap<TObjectPtr<UObject>, ObjectBinding> FWebJSScripting::BoundObjects
protected

UObjects currently visible on the renderer side.

◆ PermanentUObjectsByName

TMap<FString, UObject*> FWebJSScripting::PermanentUObjectsByName
protected

Reverse lookup for permanent bindings


The documentation for this class was generated from the following file: