UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UActorChannel Class Reference

#include <ActorChannel.h>

+ Inheritance diagram for UActorChannel:

Classes

struct  FPacketRepKeyInfo
 

Public Member Functions

bool GetSkipRoleSwap () const
 
void SetSkipRoleSwap (const bool bShouldSkip)
 
const TArray< TObjectPtr< UObject > > & GetCreatedSubObjects () const
 
ENGINE_API UActorChannel (const FObjectInitializer &ObjectInitializer=FObjectInitializer::Get())
 
ENGINE_API ~UActorChannel ()
 
virtual ENGINE_API void Init (UNetConnection *InConnection, int32 InChIndex, EChannelCreateFlags CreateFlags) override
 
virtual ENGINE_API void SetClosingFlag () override
 
virtual ENGINE_API void ReceivedBunch (FInBunch &Bunch) override
 
virtual ENGINE_API void Tick () override
 
virtual ENGINE_API bool CanStopTicking () const override
 
ENGINE_API void ProcessBunch (FInBunch &Bunch)
 
ENGINE_API bool ProcessQueuedBunches ()
 
virtual ENGINE_API void ReceivedNak (int32 NakPacketId) override
 
virtual ENGINE_API int64 Close (EChannelCloseReason Reason) override
 
virtual ENGINE_API FString Describe () override
 
ENGINE_API void BreakAndReleaseReferences ()
 
ENGINE_API void ReleaseReferences (bool bKeepReplicators)
 
AActorGetActor () const
 
ENGINE_API int64 ReplicateActor ()
 
ENGINE_API bool IsActorReadyForReplication () const
 
ENGINE_API void SetChannelActor (AActor *InActor, ESetChannelActorFlags Flags)
 
virtual ENGINE_API void NotifyActorChannelOpen (AActor *InActor, FInBunch &InBunch)
 
virtual ENGINE_API void AppendExportBunches (TArray< FOutBunch * > &OutExportBunches) override
 
virtual ENGINE_API TArray< FOutBunch * > GetAdditionalRequiredBunches (const FOutBunch &OutgoingBunch, EChannelGetAdditionalRequiredBunchesFlags Flags) override
 
virtual ENGINE_API void AppendMustBeMappedGuids (FOutBunch *Bunch) override
 
virtual ENGINE_API void Serialize (FArchive &Ar) override
 
ENGINE_API void QueueRemoteFunctionBunch (UObject *CallTarget, UFunction *Func, FOutBunch &Bunch)
 
ENGINE_API void PrepareForRemoteFunction (UObject *TargetObj)
 
virtual ENGINE_API bool ReadyForDormancy (bool debug=false) override
 
virtual ENGINE_API void StartBecomingDormant () override
 
ENGINE_API void CleanupReplicators (const bool bKeepReplicators=false)
 
ENGINE_API void WriteContentBlockHeader (UObject *Obj, FNetBitWriter &Bunch, const bool bHasRepLayout)
 
ENGINE_API void WriteContentBlockForSubObjectDelete (FOutBunch &Bunch, FNetworkGUID &GuidToDelete)
 
ENGINE_API int32 WriteContentBlockPayload (UObject *Obj, FNetBitWriter &Bunch, const bool bHasRepLayout, FNetBitWriter &Payload)
 
ENGINE_API UObjectReadContentBlockHeader (FInBunch &Bunch, bool &bObjectDeleted, bool &bOutHasRepLayout)
 
ENGINE_API UObjectReadContentBlockPayload (FInBunch &Bunch, FNetBitReader &OutPayload, bool &bOutHasRepLayout)
 
ENGINE_API int32 WriteFieldHeaderAndPayload (FNetBitWriter &Bunch, const FClassNetCache *ClassCache, const FFieldNetCache *FieldCache, FNetFieldExportGroup *NetFieldExportGroup, FNetBitWriter &Payload, bool bIgnoreInternalAck=false)
 
ENGINE_API bool ReadFieldHeaderAndPayload (UObject *Object, const FClassNetCache *ClassCache, FNetFieldExportGroup *NetFieldExportGroup, FNetBitReader &Bunch, const FFieldNetCache **OutField, FNetBitReader &OutPayload) const
 
ENGINE_API FNetFieldExportGroupGetNetFieldExportGroupForClassNetCache (UClass *ObjectClass)
 
ENGINE_API FNetFieldExportGroupGetOrCreateNetFieldExportGroupForClassNetCache (const UObject *Object)
 
ENGINE_API FObjectReplicatorGetActorReplicationData ()
 
ENGINE_API bool ReplicateSubobject (UObject *Obj, FOutBunch &Bunch, FReplicationFlags RepFlags)
 
ENGINE_API bool ReplicateSubobject (UActorComponent *ActorChannel, FOutBunch &Bunch, FReplicationFlags RepFlags)
 
virtual bool ReplicateSubobjectCustom (UObject *Obj, FOutBunch &Bunch, const FReplicationFlags &RepFlags)
 
template<typename Type >
bool ReplicateSubobjectList (TArray< Type * > &ObjectList, FOutBunch &Bunch, const FReplicationFlags &RepFlags)
 
void SetForcedSerializeFromRPC (bool bInFromRPC)
 
ENGINE_API bool KeyNeedsToReplicate (int32 ObjID, int32 RepKey)
 
virtual ENGINE_API void AddedToChannelPool () override
 
- Public Member Functions inherited from UChannel
virtual ENGINE_API void BeginDestroy () override
 
virtual void ReInit ()
 
ENGINE_API bool ReceivedAcks (EChannelCloseReason &OutCloseReason)
 
ENGINE_API void ReceivedAcks ()
 
ENGINE_API bool ReceivedSequencedBunch (FInBunch &Bunch)
 
ENGINE_API void ReceivedRawBunch (FInBunch &Bunch, bool &bOutSkipAck)
 
virtual ENGINE_API FPacketIdRange SendBunch (FOutBunch *Bunch, bool Merge)
 
ENGINE_API int32 IsNetReady (bool Saturate)
 
ENGINE_API bool IsNetReady () const
 
ENGINE_API void AssertInSequenced ()
 
ENGINE_API void ConditionalCleanUp (const bool bForDestroy, EChannelCloseReason CloseReason)
 
ENGINE_API void PrintReliableBunchBuffer ()
 
virtual ENGINE_API bool HasAcknowledgedAllReliableData () const
 
- Public Member Functions inherited from UObject
COREUOBJECT_API UObject ()
 
COREUOBJECT_API UObject (const FObjectInitializer &ObjectInitializer)
 
COREUOBJECT_API UObject (EStaticConstructor, EObjectFlags InFlags)
 
COREUOBJECT_API UObject (FVTableHelper &Helper)
 
COREUOBJECT_API UObjectCreateDefaultSubobject (FName SubobjectFName, UClass *ReturnType, UClass *ClassToCreateByDefault, bool bIsRequired, bool bIsTransient)
 
template<class TReturnType >
TReturnTypeCreateEditorOnlyDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
template<class TReturnType , class TClassToConstructByDefault >
TReturnTypeCreateOptionalDefaultSubobject (FName SubobjectName, bool bTransient=false)
 
COREUOBJECT_API void GetDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects)
 
COREUOBJECT_API UObjectGetDefaultSubobjectByName (FName ToFind)
 
virtual COREUOBJECT_API void PostInitProperties ()
 
virtual COREUOBJECT_API void PostReinitProperties ()
 
virtual void PostCDOContruct ()
 
virtual COREUOBJECT_API void PreSaveRoot (FObjectPreSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PostSaveRoot (FObjectPostSaveRootContext ObjectSaveContext)
 
virtual COREUOBJECT_API void PreSave (FObjectPreSaveContext SaveContext)
 
virtual COREUOBJECT_API void CollectSaveOverrides (FObjectCollectSaveOverridesContext SaveContext)
 
UE_FORCEINLINE_HINT bool Modify (bool bAlwaysMarkDirty=true)
 
UE_FORCEINLINE_HINT bool IsCapturingAsRootObjectForTransaction () const
 
virtual bool ResolveSubobject (const TCHAR *SubObjectPath, UObject *&OutObject, bool bLoadIfExists)
 
virtual bool IsReadyForAsyncPostLoad () const
 
virtual COREUOBJECT_API void PostLoad ()
 
virtual COREUOBJECT_API void PostLoadSubobjects (FObjectInstancingGraph *OuterInstanceGraph)
 
virtual bool IsReadyForFinishDestroy ()
 
virtual COREUOBJECT_API void FinishDestroy ()
 
virtual COREUOBJECT_API void Serialize (FStructuredArchive::FRecord Record)
 
virtual void ShutdownAfterError ()
 
virtual void PostInterpChange (FProperty *PropertyThatChanged)
 
virtual COREUOBJECT_API void PostRename (UObject *OldOuter, const FName OldName)
 
virtual void PreDuplicate (FObjectDuplicationParameters &DupParams)
 
virtual void PostDuplicate (bool bDuplicateForPIE)
 
virtual void PostDuplicate (EDuplicateMode::Type DuplicateMode)
 
virtual COREUOBJECT_API bool NeedsLoadForClient () const
 
virtual COREUOBJECT_API bool NeedsLoadForServer () const
 
virtual COREUOBJECT_API bool NeedsLoadForTargetPlatform (const class ITargetPlatform *TargetPlatform) const
 
virtual bool NeedsLoadForEditorGame () const
 
virtual bool IsEditorOnly () const
 
virtual bool HasNonEditorOnlyReferences () const
 
virtual bool IsPostLoadThreadSafe () const
 
virtual COREUOBJECT_API bool IsDestructionThreadSafe () const
 
virtual COREUOBJECT_API void GetPreloadDependencies (TArray< UObject * > &OutDeps)
 
virtual void GetPrestreamPackages (TArray< UObject * > &OutPrestream)
 
virtual void ExportCustomProperties (FOutputDevice &Out, uint32 Indent)
 
virtual void ImportCustomProperties (const TCHAR *SourceText, FFeedbackContext *Warn)
 
virtual void PostEditImport ()
 
virtual void PostReloadConfig (class FProperty *PropertyThatWasLoaded)
 
virtual COREUOBJECT_API bool Rename (const TCHAR *NewName=nullptr, UObject *NewOuter=nullptr, ERenameFlags Flags=REN_None)
 
virtual FString GetDesc ()
 
COREUOBJECT_API UScriptStructGetSparseClassDataStruct () const
 
virtual bool GetNativePropertyValues (TMap< FString, FString > &out_PropertyValues, uint32 ExportFlags=0) const
 
virtual COREUOBJECT_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize)
 
SIZE_T GetResourceSizeBytes (EResourceSizeMode::Type Mode)
 
virtual FName GetExporterName (void)
 
COREUOBJECT_API void CallAddReferencedObjects (FReferenceCollector &Collector)
 
virtual FRestoreForUObjectOverwriteGetRestoreForUObjectOverwrite ()
 
virtual bool AreNativePropertiesIdenticalTo (UObject *Other) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context) const
 
virtual COREUOBJECT_API void GetAssetRegistryTags (TArray< FAssetRegistryTag > &OutTags) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetData &Out) const
 
COREUOBJECT_API void GetAssetRegistryTags (FAssetRegistryTagsContext Context, FAssetData &Out) const
 
virtual COREUOBJECT_API bool IsAsset () const
 
virtual COREUOBJECT_API FPrimaryAssetId GetPrimaryAssetId () const
 
virtual COREUOBJECT_API bool IsLocalizedResource () const
 
virtual COREUOBJECT_API bool IsSafeForRootSet () const
 
virtual COREUOBJECT_API void TagSubobjects (EObjectFlags NewFlags)
 
virtual COREUOBJECT_API void GetLifetimeReplicatedProps (TArray< class FLifetimeProperty > &OutLifetimeProps) const
 
virtual COREUOBJECT_API void GetReplicatedCustomConditionState (FCustomPropertyConditionState &OutActiveState) const
 
virtual COREUOBJECT_API void RegisterReplicationFragments (UE::Net::FFragmentRegistrationContext &Context, UE::Net::EFragmentRegistrationFlags RegistrationFlags)
 
virtual COREUOBJECT_API bool IsNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsFullNameStableForNetworking () const
 
virtual COREUOBJECT_API bool IsSupportedForNetworking () const
 
virtual void GetSubobjectsWithStableNamesForNetworking (TArray< UObject * > &ObjList)
 
virtual COREUOBJECT_API void PreNetReceive ()
 
virtual COREUOBJECT_API void PostNetReceive ()
 
virtual void PostRepNotifies ()
 
virtual COREUOBJECT_API void PreDestroyFromReplication ()
 
COREUOBJECT_API bool IsSelected () const
 
COREUOBJECT_API void SerializeScriptProperties (FArchive &Ar) const
 
COREUOBJECT_API void SerializeScriptProperties (FStructuredArchive::FSlot Slot) const
 
COREUOBJECT_API void ReinitializeProperties (UObject *SourceObject=NULL, struct FObjectInstancingGraph *InstanceGraph=NULL)
 
COREUOBJECT_API FString GetDetailedInfo () const
 
COREUOBJECT_API bool ConditionalBeginDestroy ()
 
COREUOBJECT_API bool ConditionalFinishDestroy ()
 
COREUOBJECT_API void ConditionalPostLoad ()
 
COREUOBJECT_API void ConditionalPreload ()
 
COREUOBJECT_API void ConditionalPostLoadSubobjects (struct FObjectInstancingGraph *OuterInstanceGraph=NULL)
 
bool IsBasedOnArchetype (const UObject *const SomeObject) const
 
COREUOBJECT_API UFunctionFindFunction (FName InName) const
 
COREUOBJECT_API UFunctionFindFunctionChecked (FName InName) const
 
virtual COREUOBJECT_API void BuildSubobjectMapping (UObject *OtherObject, TMap< UObject *, UObject * > &ObjectMapping) const
 
COREUOBJECT_API void CollectDefaultSubobjects (TArray< UObject * > &OutDefaultSubobjects, bool bIncludeNestedSubobjects=false) const
 
COREUOBJECT_API bool CheckDefaultSubobjects (bool bForceCheck=false) const
 
COREUOBJECT_API void SaveConfig (uint64 RequiredPropertyFlags=CPF_Config, const TCHAR *Filename=nullptr, FConfigCacheIni *Config=GConfig, bool bAllowCopyToDefaultObject=true)
 
COREUOBJECT_API void SaveConfig (const FSaveConfigContext &Context)
 
COREUOBJECT_API void UpdateDefaultConfigFile (const FString &SpecificFileLocation="")
 
COREUOBJECT_API bool TryUpdateDefaultConfigFile (const FString &SpecificFileLocation="", bool bWarnIfFail=true)
 
COREUOBJECT_API void UpdateGlobalUserConfigFile ()
 
COREUOBJECT_API void UpdateProjectUserConfigFile ()
 
COREUOBJECT_API void UpdateSinglePropertyInConfigFile (const FProperty *InProperty, const FString &InConfigIniName)
 
COREUOBJECT_API FString GetDefaultConfigFilename () const
 
COREUOBJECT_API FString GetGlobalUserConfigFilename () const
 
COREUOBJECT_API FString GetProjectUserConfigFilename () const
 
virtual const TCHARGetConfigOverridePlatform () const
 
virtual void OverrideConfigSection (FString &SectionName)
 
virtual void OverridePerObjectConfigSection (FString &SectionName)
 
COREUOBJECT_API void LoadConfig (UClass *ConfigClass=nullptr, const TCHAR *Filename=nullptr, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=nullptr, TArray< UE::ConfigAccessTracking::FConfigAccessData > *OutAccessedKeys=nullptr)
 
COREUOBJECT_API void ReloadConfig (UClass *ConfigClass=NULL, const TCHAR *Filename=NULL, uint32 PropagationFlags=UE::LCPF_None, class FProperty *PropertyToLoad=NULL)
 
COREUOBJECT_API void ParseParms (const TCHAR *Parms)
 
COREUOBJECT_API void OutputReferencers (FOutputDevice &Ar, FReferencerInformationList *Referencers=NULL)
 
COREUOBJECT_API void RetrieveReferencers (TArray< FReferencerInformation > *OutInternalReferencers, TArray< FReferencerInformation > *OutExternalReferencers)
 
COREUOBJECT_API void SetLinker (FLinkerLoad *LinkerLoad, int32 LinkerIndex, bool bShouldDetachExisting=true, bool bSilenceLogs=false)
 
COREUOBJECT_API UObjectGetArchetype () const
 
COREUOBJECT_API void GetArchetypeInstances (TArray< UObject * > &Instances)
 
COREUOBJECT_API void InstanceSubobjectTemplates (struct FObjectInstancingGraph *InstanceGraph=NULL)
 
template<class T >
bool Implements () const
 
virtual COREUOBJECT_API void ProcessEvent (UFunction *Function, void *Parms)
 
virtual int32 GetFunctionCallspace (UFunction *Function, FFrame *Stack)
 
virtual bool CallRemoteFunction (UFunction *Function, void *Parms, struct FOutParmRec *OutParms, FFrame *Stack)
 
COREUOBJECT_API bool CallFunctionByNameWithArguments (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor, bool bForceCallWithNonExec=false)
 
COREUOBJECT_API void CallFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
 DECLARE_FUNCTION (ProcessInternal)
 
virtual bool ProcessConsoleExec (const TCHAR *Cmd, FOutputDevice &Ar, UObject *Executor)
 
COREUOBJECT_API void SkipFunction (FFrame &Stack, RESULT_DECL, UFunction *Function)
 
virtual UClassRegenerateClass (UClass *ClassToRegenerate, UObject *PreviousCDO)
 
COREUOBJECT_API bool IsInBlueprint () const
 
COREUOBJECT_API void DestroyNonNativeProperties ()
 
virtual void MarkAsEditorOnlySubobject ()
 
COREUOBJECT_API void AbortInsideMemberFunction () const
 
 DECLARE_FUNCTION (execUndefined)
 
 DECLARE_FUNCTION (execLocalVariable)
 
 DECLARE_FUNCTION (execInstanceVariable)
 
 DECLARE_FUNCTION (execDefaultVariable)
 
 DECLARE_FUNCTION (execLocalOutVariable)
 
 DECLARE_FUNCTION (execInterfaceVariable)
 
 DECLARE_FUNCTION (execClassSparseDataVariable)
 
 DECLARE_FUNCTION (execInterfaceContext)
 
 DECLARE_FUNCTION (execArrayElement)
 
 DECLARE_FUNCTION (execBoolVariable)
 
 DECLARE_FUNCTION (execClassDefaultVariable)
 
 DECLARE_FUNCTION (execEndFunctionParms)
 
 DECLARE_FUNCTION (execNothing)
 
 DECLARE_FUNCTION (execNothingInt32)
 
 DECLARE_FUNCTION (execNothingOp4a)
 
 DECLARE_FUNCTION (execBreakpoint)
 
 DECLARE_FUNCTION (execTracepoint)
 
 DECLARE_FUNCTION (execWireTracepoint)
 
 DECLARE_FUNCTION (execInstrumentation)
 
 DECLARE_FUNCTION (execEndOfScript)
 
 DECLARE_FUNCTION (execReturnNothing)
 
 DECLARE_FUNCTION (execEmptyParmValue)
 
 DECLARE_FUNCTION (execJump)
 
 DECLARE_FUNCTION (execJumpIfNot)
 
 DECLARE_FUNCTION (execAssert)
 
 DECLARE_FUNCTION (execPushExecutionFlow)
 
 DECLARE_FUNCTION (execPopExecutionFlow)
 
 DECLARE_FUNCTION (execComputedJump)
 
 DECLARE_FUNCTION (execPopExecutionFlowIfNot)
 
 DECLARE_FUNCTION (execLet)
 
 DECLARE_FUNCTION (execLetObj)
 
 DECLARE_FUNCTION (execLetWeakObjPtr)
 
 DECLARE_FUNCTION (execLetBool)
 
 DECLARE_FUNCTION (execLetDelegate)
 
 DECLARE_FUNCTION (execLetMulticastDelegate)
 
 DECLARE_FUNCTION (execAddMulticastDelegate)
 
 DECLARE_FUNCTION (execClearMulticastDelegate)
 
 DECLARE_FUNCTION (execEatReturnValue)
 
 DECLARE_FUNCTION (execRemoveMulticastDelegate)
 
 DECLARE_FUNCTION (execSelf)
 
 DECLARE_FUNCTION (execContext)
 
 DECLARE_FUNCTION (execContext_FailSilent)
 
 DECLARE_FUNCTION (execStructMemberContext)
 
 DECLARE_FUNCTION (execVirtualFunction)
 
 DECLARE_FUNCTION (execFinalFunction)
 
 DECLARE_FUNCTION (execLocalVirtualFunction)
 
 DECLARE_FUNCTION (execLocalFinalFunction)
 
 DECLARE_FUNCTION (execStructCmpEq)
 
 DECLARE_FUNCTION (execStructCmpNe)
 
 DECLARE_FUNCTION (execStructMember)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execNotEqual_DelegateDelegate)
 
 DECLARE_FUNCTION (execEqualEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execNotEqual_DelegateFunction)
 
 DECLARE_FUNCTION (execIntConst)
 
 DECLARE_FUNCTION (execInt64Const)
 
 DECLARE_FUNCTION (execUInt64Const)
 
 DECLARE_FUNCTION (execSkipOffsetConst)
 
 DECLARE_FUNCTION (execFloatConst)
 
 DECLARE_FUNCTION (execDoubleConst)
 
 DECLARE_FUNCTION (execStringConst)
 
 DECLARE_FUNCTION (execUnicodeStringConst)
 
 DECLARE_FUNCTION (execTextConst)
 
 DECLARE_FUNCTION (execPropertyConst)
 
 DECLARE_FUNCTION (execObjectConst)
 
 DECLARE_FUNCTION (execSoftObjectConst)
 
 DECLARE_FUNCTION (execFieldPathConst)
 
 DECLARE_FUNCTION (execInstanceDelegate)
 
 DECLARE_FUNCTION (execNameConst)
 
 DECLARE_FUNCTION (execByteConst)
 
 DECLARE_FUNCTION (execIntZero)
 
 DECLARE_FUNCTION (execIntOne)
 
 DECLARE_FUNCTION (execTrue)
 
 DECLARE_FUNCTION (execFalse)
 
 DECLARE_FUNCTION (execNoObject)
 
 DECLARE_FUNCTION (execNullInterface)
 
 DECLARE_FUNCTION (execIntConstByte)
 
 DECLARE_FUNCTION (execRotationConst)
 
 DECLARE_FUNCTION (execVectorConst)
 
 DECLARE_FUNCTION (execVector3fConst)
 
 DECLARE_FUNCTION (execTransformConst)
 
 DECLARE_FUNCTION (execStructConst)
 
 DECLARE_FUNCTION (execSetArray)
 
 DECLARE_FUNCTION (execSetSet)
 
 DECLARE_FUNCTION (execSetMap)
 
 DECLARE_FUNCTION (execArrayConst)
 
 DECLARE_FUNCTION (execSetConst)
 
 DECLARE_FUNCTION (execMapConst)
 
 DECLARE_FUNCTION (execBitFieldConst)
 
 DECLARE_FUNCTION (execNew)
 
 DECLARE_FUNCTION (execClassContext)
 
 DECLARE_FUNCTION (execNativeParm)
 
 DECLARE_FUNCTION (execCast)
 
 DECLARE_FUNCTION (execDynamicCast)
 
 DECLARE_FUNCTION (execMetaCast)
 
 DECLARE_FUNCTION (execInterfaceCast)
 
 DECLARE_FUNCTION (execDoubleToFloatCast)
 
 DECLARE_FUNCTION (execFloatToDoubleCast)
 
 DECLARE_FUNCTION (execObjectToBool)
 
 DECLARE_FUNCTION (execInterfaceToBool)
 
 DECLARE_FUNCTION (execObjectToInterface)
 
 DECLARE_FUNCTION (execInterfaceToInterface)
 
 DECLARE_FUNCTION (execInterfaceToObject)
 
 DECLARE_FUNCTION (execGetDynArrayElement)
 
 DECLARE_FUNCTION (execSetDynArrayElement)
 
 DECLARE_FUNCTION (execGetDynArrayLength)
 
 DECLARE_FUNCTION (execSetDynArrayLength)
 
 DECLARE_FUNCTION (execDynArrayInsert)
 
 DECLARE_FUNCTION (execDynArrayRemove)
 
 DECLARE_FUNCTION (execDynArrayFind)
 
 DECLARE_FUNCTION (execDynArrayFindStruct)
 
 DECLARE_FUNCTION (execDynArrayAdd)
 
 DECLARE_FUNCTION (execDynArrayAddItem)
 
 DECLARE_FUNCTION (execDynArrayInsertItem)
 
 DECLARE_FUNCTION (execDynArrayRemoveItem)
 
 DECLARE_FUNCTION (execDynArraySort)
 
 DECLARE_FUNCTION (execBindDelegate)
 
 DECLARE_FUNCTION (execCallMulticastDelegate)
 
 DECLARE_FUNCTION (execLetValueOnPersistentFrame)
 
 DECLARE_FUNCTION (execCallMathFunction)
 
 DECLARE_FUNCTION (execSwitchValue)
 
 DECLARE_FUNCTION (execArrayGetByRef)
 
 DECLARE_FUNCTION (execAutoRtfmTransact)
 
 DECLARE_FUNCTION (execAutoRtfmStopTransact)
 
 DECLARE_FUNCTION (execAutoRtfmAbortIfNot)
 
void ExecuteUbergraph (int32 EntryPoint)
 
virtual void ValidateGeneratedRepEnums (const TArray< struct FRepRecord > &ClassReps) const
 
virtual uint64 GetNetPushIdDynamic () const
 
- Public Member Functions inherited from UObjectBaseUtility
 UObjectBaseUtility ()
 
 UObjectBaseUtility (EObjectFlags InFlags)
 
void SetFlags (EObjectFlags NewFlags)
 
void ClearFlags (EObjectFlags FlagsToClear)
 
bool HasAnyFlags (EObjectFlags FlagsToCheck) const
 
bool HasAllFlags (EObjectFlags FlagsToCheck) const
 
UE_FORCEINLINE_HINT EObjectFlags GetMaskedFlags (EObjectFlags Mask=RF_AllFlags) const
 
UE_FORCEINLINE_HINT void Mark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT void UnMark (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAnyMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT bool HasAllMarks (EObjectMark Marks) const
 
UE_FORCEINLINE_HINT EObjectMark GetAllMarks () const
 
void MarkAsGarbage ()
 
void ClearGarbage ()
 
UE_FORCEINLINE_HINT void AddToRoot ()
 
UE_FORCEINLINE_HINT void RemoveFromRoot ()
 
UE_FORCEINLINE_HINT bool IsRooted () const
 
UE_FORCEINLINE_HINT int32 GetRefCount () const
 
bool ThisThreadAtomicallyClearedRFUnreachable ()
 
UE_FORCEINLINE_HINT bool IsUnreachable () const
 
UE_FORCEINLINE_HINT bool IsNative () const
 
void SetInternalFlags (EInternalObjectFlags FlagsToSet) const
 
UE_FORCEINLINE_HINT EInternalObjectFlags GetInternalFlags () const
 
UE_FORCEINLINE_HINT bool HasAnyInternalFlags (EInternalObjectFlags FlagsToCheck) const
 
void ClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
bool AtomicallyClearInternalFlags (EInternalObjectFlags FlagsToClear) const
 
COREUOBJECT_API FString GetFullName (const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (const UObject *StopOuter, FString &ResultString, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API void GetFullName (FStringBuilderBase &ResultString, const UObject *StopOuter=NULL, EObjectFullNameFlags Flags=EObjectFullNameFlags::None) const
 
COREUOBJECT_API FString GetPathName (const UObject *StopOuter=NULL) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FString &ResultString) const
 
COREUOBJECT_API void GetPathName (const UObject *StopOuter, FStringBuilderBase &ResultString) const
 
virtual bool CanBeClusterRoot () const
 
virtual COREUOBJECT_API bool CanBeInCluster () const
 
virtual COREUOBJECT_API void CreateCluster ()
 
virtual void OnClusterMarkedAsPendingKill ()
 
COREUOBJECT_API void AddToCluster (UObjectBaseUtility *ClusterRootOrObjectFromCluster, bool bAddAsMutableObject=false)
 
COREUOBJECT_API FString GetFullGroupName (bool bStartWithOuter) const
 
UE_FORCEINLINE_HINT FString GetName () const
 
UE_FORCEINLINE_HINT void GetName (FString &ResultString) const
 
UE_FORCEINLINE_HINT void AppendName (FString &ResultString) const
 
COREUOBJECT_API bool IsPackageExternal () const
 
COREUOBJECT_API void DetachExternalPackage ()
 
COREUOBJECT_API void ReattachExternalPackage ()
 
COREUOBJECT_API UObjectGetOutermostObject () const
 
COREUOBJECT_API UPackageGetPackage () const
 
UE_INTERNAL virtual COREUOBJECT_API UE::Core::FVersePath GetVersePath () const
 
COREUOBJECT_API UPackageGetOutermost () const
 
COREUOBJECT_API bool MarkPackageDirty () const
 
COREUOBJECT_API bool IsTemplate (EObjectFlags TemplateTypes=RF_ArchetypeObject|RF_ClassDefaultObject) const
 
COREUOBJECT_API UObjectGetTypedOuter (UClass *Target) const
 
template<typename T >
T * GetTypedOuter () const
 
template<typename InterfaceClassType >
InterfaceClassTypeGetImplementingOuter () const
 
COREUOBJECT_API UObjectBaseUtilityGetImplementingOuterObject (const UClass *InInterfaceClass) const
 
COREUOBJECT_API bool IsIn (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsIn (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInOuter (const UObject *SomeOuter) const
 
COREUOBJECT_API bool IsInPackage (const UPackage *SomePackage) const
 
COREUOBJECT_API bool IsInA (const UClass *SomeBaseClass) const
 
COREUOBJECT_API bool RootPackageHasAnyFlags (uint32 CheckFlagMask) const
 
template<typename OtherClassType >
bool IsA (OtherClassType SomeBase) const
 
template<class T >
bool IsA () const
 
COREUOBJECT_API const UClassFindNearestCommonBaseClass (const UClass *TestClass) const
 
COREUOBJECT_API voidGetInterfaceAddress (UClass *InterfaceClass)
 
COREUOBJECT_API voidGetNativeInterfaceAddress (UClass *InterfaceClass)
 
const voidGetNativeInterfaceAddress (UClass *InterfaceClass) const
 
COREUOBJECT_API bool IsTemplateForSubobjects (EObjectFlags TemplateTypes=RF_ClassDefaultObject|RF_DefaultSubObject|RF_InheritableComponentTemplate) const
 
COREUOBJECT_API bool IsDefaultSubobject () const
 
COREUOBJECT_API class FLinkerLoadGetLinker () const
 
COREUOBJECT_API int32 GetLinkerIndex () const
 
COREUOBJECT_API FPackageFileVersion GetLinkerUEVersion () const
 
int32 GetLinkerUE4Version () const
 
COREUOBJECT_API int32 GetLinkerLicenseeUEVersion () const
 
int32 GetLinkerLicenseeUE4Version () const
 
COREUOBJECT_API int32 GetLinkerCustomVersion (FGuid CustomVersionKey) const
 
UE_FORCEINLINE_HINT bool operator< (const UObjectBaseUtility &Other) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
- Public Member Functions inherited from UObjectBase
COREUOBJECT_API UObjectBase (UClass *InClass, EObjectFlags InFlags, EInternalObjectFlags InInternalFlags, UObject *InOuter, FName InName, int32 InInternalIndex=-1, int32 InSerialNumber=0, FRemoteObjectId InRemoteId=FRemoteObjectId())
 
virtual COREUOBJECT_API ~UObjectBase ()
 
COREUOBJECT_API bool IsValidLowLevel () const
 
COREUOBJECT_API bool IsValidLowLevelFast (bool bRecursive=true) const
 
FORCEINLINE uint32 GetUniqueID () const
 
FORCEINLINE UClassGetClass () const
 
FORCEINLINE UObjectGetOuter () const
 
FORCEINLINE FName GetFName () const
 
virtual COREUOBJECT_API FName GetFNameForStatID () const
 
COREUOBJECT_API UPackageGetExternalPackage () const
 
COREUOBJECT_API void SetExternalPackage (UPackage *InPackage)
 
COREUOBJECT_API UPackageGetExternalPackageInternal () const
 
COREUOBJECT_API void MarkAsReachable () const
 
COREUOBJECT_API void AddRef () const
 
COREUOBJECT_API void ReleaseRef () const
 
FORCEINLINE EObjectFlags GetFlags () const
 
FORCENOINLINE void AtomicallySetFlags (EObjectFlags FlagsToAdd)
 
FORCENOINLINE void AtomicallyClearFlags (EObjectFlags FlagsToClear)
 

Static Public Member Functions

static ENGINE_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static ENGINE_API void SetCurrentSubObjectOwner (AActor *SubObjectOwner)
 
static ENGINE_API void SetCurrentSubObjectOwner (UActorComponent *SubObjectOwner)
 
static ENGINE_API bool CanIgnoreDeprecatedReplicateSubObjects ()
 
static ENGINE_API bool CanSubObjectReplicateToClient (const APlayerController *PlayerController, ELifetimeCondition NetCondition, FObjectKey SubObjectKey, const TStaticBitArray< COND_Max > &ConditionMap, const UE::Net::FNetConditionGroupManager &ConditionGroupManager)
 
- Static Public Member Functions inherited from UObject
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedServer (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API void UpdateClassesExcludedFromDedicatedClient (const TArray< FString > &InClassNames, const TArray< FString > &InModulesNames)
 
static COREUOBJECT_API bool CanCreateInCurrentContext (UObject *Template)
 
static COREUOBJECT_API void AddReferencedObjects (UObject *InThis, FReferenceCollector &Collector)
 
static COREUOBJECT_API const FNameSourceFileTagName ()
 
static COREUOBJECT_API UObjectGetArchetypeFromRequiredInfo (const UClass *Class, const UObject *Outer, FName Name, EObjectFlags ObjectFlags)
 
- Static Public Member Functions inherited from UObjectBaseUtility
static bool IsGarbageEliminationEnabled ()
 
static bool IsPendingKillEnabled ()
 
static void SetGarbageEliminationEnabled (bool bEnabled)
 
static COREUOBJECT_API void ReloadObjectsFromModifiedConfigSections (const class FConfigModificationTracker *ChangeTracker)
 
- Static Public Member Functions inherited from UObjectBase
static COREUOBJECT_API FString RemoveClassPrefix (const TCHAR *ClassName)
 
static void PrefetchClass (UObject *Object)
 
static void PrefetchOuter (UObject *Object)
 

Public Attributes

TObjectPtr< AActorActor
 
FNetworkGUID ActorNetGUID
 
float CustomTimeDilation
 
double RelevantTime
 
double LastUpdateTime
 
uint32 SpawnAcked:1
 
uint32 bForceCompareProperties:1
 
uint32 bIsReplicatingActor:1
 
uint32 bClearRecentActorRefs:1
 
uint32 bHoldQueuedExportBunchesAndGUIDs:1
 
uint32 bBlockChannelFailure:1
 
TSharedPtr< FObjectReplicatorActorReplicator
 
TMap< UObject *, TSharedRef< FObjectReplicator > > ReplicationMap
 
TArray< class FInBunch * > QueuedBunches
 
double QueuedBunchStartTime
 
TSet< FNetworkGUIDPendingGuidResolves
 
TArray< TObjectPtr< UObject > > CreateSubObjects
 
TArray< FNetworkGUIDQueuedMustBeMappedGuidsInLastBunch
 
TArray< class FOutBunch * > QueuedExportBunches
 
EChannelCloseReason QueuedCloseReason
 
TMap< int32, int32SubobjectRepKeyMap
 
TMap< int32, FPacketRepKeyInfoSubobjectNakMap
 
TArray< int32PendingObjKeys
 
- Public Attributes inherited from UChannel
TObjectPtr< class UNetConnectionConnection
 
uint32 OpenAcked:1
 
uint32 Closing:1
 
uint32 Dormant:1
 
uint32 bIsReplicationPaused:1
 
uint32 OpenTemporary:1
 
uint32 Broken:1
 
uint32 bTornOff:1
 
uint32 bPendingDormancy:1
 
uint32 bIsInDormancyHysteresis:1
 
uint32 bPausedUntilReliableACK:1
 
uint32 SentClosingBunch:1
 
uint32 bPooled:1
 
uint32 OpenedLocally:1
 
uint32 bOpenedForCheckpoint:1
 
int32 ChIndex
 
FPacketIdRange OpenPacketId
 
FName ChName
 
int32 NumInRec
 
int32 NumOutRec
 
class FInBunchInRec
 
class FOutBunchOutRec
 
class FInBunchInPartialBunch
 
virtual void ReceivedBunch(FInBunch &Bunch) PURE_VIRTUAL(UChannel virtual ENGINE_API void ReceivedAck (int32 AckPacketId)
 

Static Public Attributes

static const int32 SubobjectRepKeyBufferSize = 64
 

Protected Types

enum class  ESubObjectDeleteFlag : uint8 { Destroyed , TearOff , ForceDelete }
 

Protected Member Functions

ENGINE_API TSharedRef< FObjectReplicator > * FindReplicator (UObject *Obj)
 
ENGINE_API TSharedRef< FObjectReplicator > * FindReplicator (UObject *Obj, bool *bOutFoundInvalid)
 
ENGINE_API TSharedRef< FObjectReplicator > & CreateReplicator (UObject *Obj)
 
ENGINE_API TSharedRef< FObjectReplicator > & CreateReplicator (UObject *Obj, bool bCheckDormantReplicators)
 
ENGINE_API TSharedRef< FObjectReplicator > & FindOrCreateReplicator (UObject *Obj, bool *bOutCreated=nullptr)
 
ENGINE_API bool ObjectHasReplicator (const TWeakObjectPtr< UObject > &Obj) const
 
ENGINE_API void MoveMappedObjectToUnmapped (const UObject *Object)
 
ENGINE_API void DestroyActorAndComponents (EChannelCloseReason Reason=EChannelCloseReason::Destroyed)
 
virtual ENGINE_API bool CleanUp (const bool bForDestroy, EChannelCloseReason CloseReason) override
 
virtual ENGINE_API void BecomeDormant () override
 
ENGINE_API bool DoSubObjectReplication (FOutBunch &Bunch, FReplicationFlags &OutRepFlags)
 
ENGINE_API void WriteContentBlockForSubObjectDelete (FOutBunch &Bunch, FNetworkGUID &GuidToDelete, ESubObjectDeleteFlag DeleteFlag)
 
ENGINE_API const TCHARToString (UActorChannel::ESubObjectDeleteFlag DeleteFlag)
 
- Protected Member Functions inherited from UChannel
virtual void SetReplicationPaused (bool InbIsReplicationPaused)
 
virtual bool IsReplicationPaused ()
 
- Protected Member Functions inherited from UObject
virtual FString GetDetailedInfoInternal () const
 
COREUOBJECT_API bool CanCheckDefaultSubObjects (bool bForceCheck, bool &bResult) const
 
virtual COREUOBJECT_API bool CheckDefaultSubobjectsInternal () const
 
- Protected Member Functions inherited from UObjectBase
 UObjectBase ()
 
COREUOBJECT_API UObjectBase (EObjectFlags InFlags)
 
COREUOBJECT_API void LowLevelRename (FName NewName, UObject *NewOuter=NULL)
 
virtual void RegisterDependencies ()
 
COREUOBJECT_API void Register (class UClass *(*StaticClassFn)(), const TCHAR *PackageName, const TCHAR *Name)
 
COREUOBJECT_API void Register (const TCHAR *PackageName, const TCHAR *Name)
 
virtual COREUOBJECT_API void DeferredRegister (UClass *UClassStaticClass, const TCHAR *PackageName, const TCHAR *Name)
 
FORCEINLINE void SetFlagsTo (EObjectFlags NewFlags)
 

Friends

class FObjectReplicator
 

Additional Inherited Members

- Public Types inherited from UObject
enum class  ENetFields_Private { NETFIELD_REP_START = 0 , NETFIELD_REP_END = -1 }
 
typedef UObject WithinClass
 

Detailed Description

A channel for exchanging actor and its subobject's properties and RPCs.

ActorChannel manages the creation and lifetime of a replicated actor. Actual replication of properties and RPCs actually happens in FObjectReplicator now (see DataReplication.h).

An ActorChannel bunch looks like this:

+-------------------—+------------------------------------------------------------------------—+ | SpawnInfo | (Spawn Info) Initial bunch only | | -Actor Class | -Created by ActorChannel | | -Spawn Loc/Rot | | | NetGUID assigns | | | -Actor NetGUID | | | -Component NetGUIDs | | +-------------------—+------------------------------------------------------------------------—+ | | | +-------------------—+------------------------------------------------------------------------—+ | NetGUID ObjRef | (Content chunks) x number of replicating objects (Actor + any components) | | | -Each chunk created by its own FObjectReplicator instance. | +-------------------—+------------------------------------------------------------------------—+ | | |

Properties...
RPCs...

+-------------------—+------------------------------------------------------------------------—+ | </End> | | +-------------------—+------------------------------------------------------------------------—+

Member Enumeration Documentation

◆ ESubObjectDeleteFlag

Enumerator
Destroyed 
TearOff 
ForceDelete 

Constructor & Destructor Documentation

◆ UActorChannel()

UActorChannel::UActorChannel ( const FObjectInitializer ObjectInitializer = FObjectInitializer::Get())

Default constructor

◆ ~UActorChannel()

PRAGMA_DISABLE_DEPRECATION_WARNINGS UActorChannel::~UActorChannel ( )

Member Function Documentation

◆ AddedToChannelPool()

void UActorChannel::AddedToChannelPool ( )
overridevirtual

Reimplemented from UChannel.

◆ AddReferencedObjects()

void UActorChannel::AddReferencedObjects ( UObject InThis,
FReferenceCollector Collector 
)
static

◆ AppendExportBunches()

PRAGMA_ENABLE_DEPRECATION_WARNINGS void UActorChannel::AppendExportBunches ( TArray< FOutBunch * > &  OutExportBunches)
overridevirtual

Append any export bunches

Reimplemented from UChannel.

◆ AppendMustBeMappedGuids()

void UActorChannel::AppendMustBeMappedGuids ( FOutBunch Bunch)
overridevirtual

Append any "must be mapped" guids to front of bunch. These are guids that the client will wait on before processing this bunch.

Reimplemented from UChannel.

◆ BecomeDormant()

void UActorChannel::BecomeDormant ( )
overrideprotectedvirtual

Closes the actor channel but with a 'dormant' flag set so it can be reopened

Reimplemented from UChannel.

◆ BreakAndReleaseReferences()

void UActorChannel::BreakAndReleaseReferences ( )

Release any references this channel is holding to UObjects and object replicators and mark it as broken.

◆ CanIgnoreDeprecatedReplicateSubObjects()

static ENGINE_API bool UActorChannel::CanIgnoreDeprecatedReplicateSubObjects ( )
static

Only returns true when calling ReplicateSubobjects() while we are trying to detect bad usage of the legacy function.

◆ CanStopTicking()

bool UActorChannel::CanStopTicking ( ) const
overridevirtual

Return true to indicate that this channel no longer needs to Tick() every frame.

Reimplemented from UChannel.

◆ CanSubObjectReplicateToClient()

bool UActorChannel::CanSubObjectReplicateToClient ( const APlayerController PlayerController,
ELifetimeCondition  NetCondition,
FObjectKey  SubObjectKey,
const TStaticBitArray< COND_Max > &  ConditionMap,
const UE::Net::FNetConditionGroupManager ConditionGroupManager 
)
static

◆ CleanUp()

bool UActorChannel::CleanUp ( const bool  bForDestroy,
EChannelCloseReason  CloseReason 
)
overrideprotectedvirtual

cleans up channel structures and nulls references to the channel

Reimplemented from UChannel.

◆ CleanupReplicators()

void UActorChannel::CleanupReplicators ( const bool  bKeepReplicators = false)

Cleans up replicators and clears references to the actor class this channel was associated with.

◆ Close()

int64 UActorChannel::Close ( EChannelCloseReason  Reason)
overridevirtual

Close the base channel. Returns how many bits were written to the send buffer

Reimplemented from UChannel.

◆ CreateReplicator() [1/2]

TSharedRef< FObjectReplicator > & UActorChannel::CreateReplicator ( UObject Obj)
protected

Creates a new object replicator or reuses a replicator if it was stored for dormancy in the Connection.

◆ CreateReplicator() [2/2]

TSharedRef< FObjectReplicator > & UActorChannel::CreateReplicator ( UObject Obj,
bool  bCheckDormantReplicators 
)
protected

Creates a new object replicator.

This will replace any existing entries in the ReplicatorMap, so this should always be preceeded by a call to FindReplicator.

Parameters
ObjThe object to create a replicator for.
bCheckDormantReplicatorsWhen true, we will search the DormantReplicator map before actually creating a new replicator. Even in this case, we will treat the replicator as newly created.
Returns
The newly created replicator.

◆ Describe()

FString UActorChannel::Describe ( )
overridevirtual

Describe the channel.

Reimplemented from UChannel.

◆ DestroyActorAndComponents()

void UActorChannel::DestroyActorAndComponents ( EChannelCloseReason  Reason = EChannelCloseReason::Destroyed)
protected

◆ DoSubObjectReplication()

bool UActorChannel::DoSubObjectReplication ( FOutBunch Bunch,
FReplicationFlags OutRepFlags 
)
protected

Handle the replication of subobjects for this actor. Returns true if data was written into the Bunch.

◆ FindOrCreateReplicator()

TSharedRef< FObjectReplicator > & UActorChannel::FindOrCreateReplicator ( UObject Obj,
bool bOutCreated = nullptr 
)
protected

Convenience method for finding a replicator, and creating one if necessary, all at once.

Parameters
ObjThe object to find / create a replicator for.
bOutCreatedWhether or not the replicator was found or created.
Returns
The found or created replicator.

◆ FindReplicator() [1/2]

TSharedRef< FObjectReplicator > * UActorChannel::FindReplicator ( UObject Obj)
protected

Attempts to find a valid, non-dormant replicator for the given object.

◆ FindReplicator() [2/2]

TSharedRef< FObjectReplicator > * UActorChannel::FindReplicator ( UObject Obj,
bool bOutFoundInvalid 
)
protected

Attempts to find a valid, non-dormant replicator for the given object.

Parameters
ObjThe object whose replicator to find.
bOutFoundInvalidIndicates we found a replicator, but it was invalid.
Returns
A replicator, if one was found.

◆ GetActor()

AActor * UActorChannel::GetActor ( ) const
inline

UActorChannel interface and accessors.

◆ GetActorReplicationData()

FObjectReplicator & UActorChannel::GetActorReplicationData ( )

Returns the replicator for the actor associated with this channel. Guaranteed to exist.

◆ GetAdditionalRequiredBunches()

TArray< FOutBunch * > UActorChannel::GetAdditionalRequiredBunches ( const FOutBunch OutgoingBunch,
EChannelGetAdditionalRequiredBunchesFlags  Flags 
)
overridevirtual

Returns any additional bunches (such as exports) needed by the passed-in OutgoingBunch

Reimplemented from UChannel.

◆ GetCreatedSubObjects()

const TArray< TObjectPtr< UObject > > & UActorChannel::GetCreatedSubObjects ( ) const
inline

◆ GetNetFieldExportGroupForClassNetCache()

FNetFieldExportGroup * UActorChannel::GetNetFieldExportGroupForClassNetCache ( UClass ObjectClass)

Finds the net field export group for a class net cache, if not found, creates one

◆ GetOrCreateNetFieldExportGroupForClassNetCache()

FNetFieldExportGroup * UActorChannel::GetOrCreateNetFieldExportGroupForClassNetCache ( const UObject Object)

Finds (or creates) the net field export group for a class net cache, if not found, creates one

◆ GetSkipRoleSwap()

bool UActorChannel::GetSkipRoleSwap ( ) const
inline

◆ Init()

void UActorChannel::Init ( UNetConnection InConnection,
int32  InChIndex,
EChannelCreateFlags  CreateFlags 
)
overridevirtual

UChannel interface. Initialize this channel for the given connection and index.

Reimplemented from UChannel.

◆ IsActorReadyForReplication()

bool UActorChannel::IsActorReadyForReplication ( ) const

Tells if the actor is ready to be replicated since he is BeginPlay or inside BeginPlay

◆ KeyNeedsToReplicate()

ENGINE_API bool UActorChannel::KeyNeedsToReplicate ( int32  ObjID,
int32  RepKey 
)

◆ MoveMappedObjectToUnmapped()

void UActorChannel::MoveMappedObjectToUnmapped ( const UObject Object)
protected

Unmap all references to this object, so that if later we receive this object again, we can remap the original references

◆ NotifyActorChannelOpen()

void UActorChannel::NotifyActorChannelOpen ( AActor InActor,
FInBunch InBunch 
)
virtual

◆ ObjectHasReplicator()

bool UActorChannel::ObjectHasReplicator ( const TWeakObjectPtr< UObject > &  Obj) const
protected

◆ PrepareForRemoteFunction()

void UActorChannel::PrepareForRemoteFunction ( UObject TargetObj)

If not queueing the RPC, prepare the channel for replicating the call.

◆ ProcessBunch()

void UActorChannel::ProcessBunch ( FInBunch Bunch)

◆ ProcessQueuedBunches()

bool UActorChannel::ProcessQueuedBunches ( )

◆ QueueRemoteFunctionBunch()

void UActorChannel::QueueRemoteFunctionBunch ( UObject CallTarget,
UFunction Func,
FOutBunch Bunch 
)

Queue a function bunch for this channel to be sent on the next property update.

◆ ReadContentBlockHeader()

UObject * UActorChannel::ReadContentBlockHeader ( FInBunch Bunch,
bool bObjectDeleted,
bool bOutHasRepLayout 
)

Reads the header of the content block and instantiates the subobject if necessary

◆ ReadContentBlockPayload()

UObject * UActorChannel::ReadContentBlockPayload ( FInBunch Bunch,
FNetBitReader OutPayload,
bool bOutHasRepLayout 
)

Reads content block header and payload

◆ ReadFieldHeaderAndPayload()

bool UActorChannel::ReadFieldHeaderAndPayload ( UObject Object,
const FClassNetCache ClassCache,
FNetFieldExportGroup NetFieldExportGroup,
FNetBitReader Bunch,
const FFieldNetCache **  OutField,
FNetBitReader OutPayload 
) const

Reads property/function header and data blob from network stream

◆ ReadyForDormancy()

bool UActorChannel::ReadyForDormancy ( bool  debug = false)
overridevirtual

Returns true if channel is ready to go dormant (e.g., all outstanding property updates have been ACK'd)

Reimplemented from UChannel.

◆ ReceivedBunch()

void UActorChannel::ReceivedBunch ( FInBunch Bunch)
overridevirtual

◆ ReceivedNak()

void UActorChannel::ReceivedNak ( int32  NakPacketId)
overridevirtual

Negative acknowledgment processing.

Reimplemented from UChannel.

◆ ReleaseReferences()

void UActorChannel::ReleaseReferences ( bool  bKeepReplicators)

◆ ReplicateActor()

int64 UActorChannel::ReplicateActor ( )

Replicate this channel's actor differences. Returns how many bits were replicated (does not include non-bunch packet overhead)

◆ ReplicateSubobject() [1/2]

bool UActorChannel::ReplicateSubobject ( UActorComponent ActorChannel,
FOutBunch Bunch,
FReplicationFlags  RepFlags 
)

Replicates an ActorComponent subobject. Used to catch ActorChannels who are using the registration list while their Owner is not flagged to use it

◆ ReplicateSubobject() [2/2]

bool UActorChannel::ReplicateSubobject ( UObject Obj,
FOutBunch Bunch,
FReplicationFlags  RepFlags 
)

Replicates given subobject on this actor channel

◆ ReplicateSubobjectCustom()

virtual bool UActorChannel::ReplicateSubobjectCustom ( UObject Obj,
FOutBunch Bunch,
const FReplicationFlags RepFlags 
)
inlinevirtual

Custom implementation for ReplicateSubobject when RepFlags.bUseCustomSubobjectReplication is true

◆ ReplicateSubobjectList()

template<typename Type >
bool UActorChannel::ReplicateSubobjectList ( TArray< Type * > &  ObjectList,
FOutBunch Bunch,
const FReplicationFlags RepFlags 
)
inline

utility template for replicating list of replicated subobjects

◆ Serialize()

void UActorChannel::Serialize ( FArchive Ar)
overridevirtual

Handles reading, writing, and reference collecting using FArchive. This implementation handles all FProperty serialization, but can be overridden for native variables.

Reimplemented from UChannel.

◆ SetChannelActor()

void UActorChannel::SetChannelActor ( AActor InActor,
ESetChannelActorFlags  Flags 
)

Set this channel's actor to the given actor. It's expected that InActor is either null (releasing the channel's reference) or a valid actor that is not PendingKill or PendingKillPending.

◆ SetClosingFlag()

void UActorChannel::SetClosingFlag ( )
overridevirtual

Set the closing flag.

Reimplemented from UChannel.

◆ SetCurrentSubObjectOwner() [1/2]

void UActorChannel::SetCurrentSubObjectOwner ( AActor SubObjectOwner)
static

Sets the owner of the next replicated subobjects that will be passed to ReplicateSubObject. The ActorComponent version will choose not to replicate the future subobjects if the component opted to use the registered list.

◆ SetCurrentSubObjectOwner() [2/2]

void UActorChannel::SetCurrentSubObjectOwner ( UActorComponent SubObjectOwner)
static

◆ SetForcedSerializeFromRPC()

void UActorChannel::SetForcedSerializeFromRPC ( bool  bInFromRPC)
inline

◆ SetSkipRoleSwap()

void UActorChannel::SetSkipRoleSwap ( const bool  bShouldSkip)
inline

◆ StartBecomingDormant()

void UActorChannel::StartBecomingDormant ( )
overridevirtual

Puts the channel in a state to start becoming dormant. It will not become dormant until ReadyForDormancy returns true in Tick

Reimplemented from UChannel.

◆ Tick()

void UActorChannel::Tick ( )
overridevirtual

Handle time passing on this channel.

Reimplemented from UChannel.

◆ ToString()

const TCHAR * UActorChannel::ToString ( UActorChannel::ESubObjectDeleteFlag  DeleteFlag)
protected

◆ WriteContentBlockForSubObjectDelete() [1/2]

void UActorChannel::WriteContentBlockForSubObjectDelete ( FOutBunch Bunch,
FNetworkGUID GuidToDelete 
)

Writes the header for a content block specifically for deleting sub-objects

◆ WriteContentBlockForSubObjectDelete() [2/2]

void UActorChannel::WriteContentBlockForSubObjectDelete ( FOutBunch Bunch,
FNetworkGUID GuidToDelete,
ESubObjectDeleteFlag  DeleteFlag 
)
protected

Writes the header for a content block specifically for deleting sub-objects

◆ WriteContentBlockHeader()

void UActorChannel::WriteContentBlockHeader ( UObject Obj,
FNetBitWriter Bunch,
const bool  bHasRepLayout 
)

Writes the header for a content block of properties / RPCs for the given object (either the actor a subobject of the actor)

◆ WriteContentBlockPayload()

int32 UActorChannel::WriteContentBlockPayload ( UObject Obj,
FNetBitWriter Bunch,
const bool  bHasRepLayout,
FNetBitWriter Payload 
)

Writes header and payload of content block

◆ WriteFieldHeaderAndPayload()

int32 UActorChannel::WriteFieldHeaderAndPayload ( FNetBitWriter Bunch,
const FClassNetCache ClassCache,
const FFieldNetCache FieldCache,
FNetFieldExportGroup NetFieldExportGroup,
FNetBitWriter Payload,
bool  bIgnoreInternalAck = false 
)

Writes property/function header and data blob to network stream

Friends And Related Symbol Documentation

◆ FObjectReplicator

friend class FObjectReplicator
friend

Member Data Documentation

◆ Actor

TObjectPtr<AActor> UActorChannel::Actor

◆ ActorNetGUID

FNetworkGUID UActorChannel::ActorNetGUID

◆ ActorReplicator

TSharedPtr<FObjectReplicator> UActorChannel::ActorReplicator

◆ bBlockChannelFailure

uint32 UActorChannel::bBlockChannelFailure

Whether or not to block sending of NMT_ActorChannelFailure (for NetcodeUnitTest)

◆ bClearRecentActorRefs

uint32 UActorChannel::bClearRecentActorRefs

whether we should nullptr references to this channel's Actor in other channels' Recent data when this channel is closed set to false in cases where the Actor can't become relevant again (e.g. destruction) as it's unnecessary in that case

◆ bForceCompareProperties

uint32 UActorChannel::bForceCompareProperties

◆ bHoldQueuedExportBunchesAndGUIDs

uint32 UActorChannel::bHoldQueuedExportBunchesAndGUIDs

◆ bIsReplicatingActor

uint32 UActorChannel::bIsReplicatingActor

◆ CreateSubObjects

TArray< TObjectPtr<UObject> > UActorChannel::CreateSubObjects

◆ CustomTimeDilation

float UActorChannel::CustomTimeDilation

◆ LastUpdateTime

double UActorChannel::LastUpdateTime

◆ PendingGuidResolves

TSet<FNetworkGUID> UActorChannel::PendingGuidResolves

◆ PendingObjKeys

TArray<int32> UActorChannel::PendingObjKeys

◆ QueuedBunches

TArray< class FInBunch * > UActorChannel::QueuedBunches

◆ QueuedBunchStartTime

double UActorChannel::QueuedBunchStartTime

◆ QueuedCloseReason

EChannelCloseReason UActorChannel::QueuedCloseReason

◆ QueuedExportBunches

TArray< class FOutBunch * > UActorChannel::QueuedExportBunches

◆ QueuedMustBeMappedGuidsInLastBunch

TArray< FNetworkGUID > UActorChannel::QueuedMustBeMappedGuidsInLastBunch

◆ RelevantTime

double UActorChannel::RelevantTime

◆ ReplicationMap

TMap< UObject*, TSharedRef< FObjectReplicator > > UActorChannel::ReplicationMap

◆ SpawnAcked

uint32 UActorChannel::SpawnAcked

◆ SubobjectNakMap

TMap<int32, FPacketRepKeyInfo > UActorChannel::SubobjectNakMap

◆ SubobjectRepKeyBufferSize

const int32 UActorChannel::SubobjectRepKeyBufferSize = 64
static

◆ SubobjectRepKeyMap

TMap<int32, int32> UActorChannel::SubobjectRepKeyMap

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