UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NetObjectFactoryRegistry.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "UObject/Class.h"
7#include "UObject/NameTypes.h"
9
10// Define this to increase the maximum amount of NetObjectFactories that can exist
11#ifndef UE_IRIS_MAX_NETOBJECT_FACTORIES
12 #define UE_IRIS_MAX_NETOBJECT_FACTORIES 16
13#endif
14
15namespace UE::Net
16{
17
20
21
27{
28public:
29
31 IRISCORE_API static void RegisterFactory(UClass* FactoryClass, FName FactoryName);
32
34 IRISCORE_API static void UnregisterFactory(FName FactoryName);
35
38
40
43
46
48 static constexpr uint32 GetMaxBits() { return GetNumBits(MaxFactories-1); }
49
59
61 static const TConstArrayView<FFactoryData> GetRegisteredFactories() { return MakeConstArrayView(NetFactories.GetData(), NetFactories.Num()); }
62
63private:
64
67
68 static constexpr uint32 GetNumBits(uint32 Number)
69 {
70 return Number==0 ? 0 : 1 + GetNumBits(Number >> 1);
71 }
72
73private:
74
76};
77
78} // end namespace UE::Net
constexpr auto MakeConstArrayView(OtherRangeType &&Other)
Definition ArrayView.h:904
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_IRIS_MAX_NETOBJECT_FACTORIES
Definition NetObjectFactoryRegistry.h:12
#define MAX_uint8
Definition NumericLimits.h:19
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition NameTypes.h:617
Definition Array.h:670
Definition Class.h:3793
Definition NetObjectFactoryRegistry.h:27
static constexpr uint32 GetMaxBits()
Definition NetObjectFactoryRegistry.h:48
static IRISCORE_API void UnregisterFactory(FName FactoryName)
Definition NetObjectFactoryRegistry.cpp:96
static constexpr uint32 MaxFactories
Definition NetObjectFactoryRegistry.h:45
static IRISCORE_API bool IsValidFactoryId(FNetObjectFactoryId Id)
Definition NetObjectFactoryRegistry.cpp:138
static const TConstArrayView< FFactoryData > GetRegisteredFactories()
Definition NetObjectFactoryRegistry.h:61
static IRISCORE_API FNetObjectFactoryId GetFactoryIdFromName(FName FactoryName)
Definition NetObjectFactoryRegistry.cpp:125
static IRISCORE_API void SetFactoryRegistrationAllowed(bool bAllowed)
Definition NetObjectFactoryRegistry.cpp:18
static IRISCORE_API void RegisterFactory(UClass *FactoryClass, FName FactoryName)
Definition NetObjectFactoryRegistry.cpp:23
Definition NetworkVersion.cpp:28
uint8 FNetObjectFactoryId
Definition NetObjectFactoryRegistry.h:18
@ InvalidNetObjectFactoryId
Definition NetObjectFactoryRegistry.h:19
Definition WeakObjectPtrTemplates.h:25
Definition NetObjectFactoryRegistry.h:51
FNetObjectFactoryId Id
Definition NetObjectFactoryRegistry.h:55
FName Name
Definition NetObjectFactoryRegistry.h:53
TWeakObjectPtr< UClass > NetFactoryClass
Definition NetObjectFactoryRegistry.h:57