diff --git a/sdks/unreal/src/SpacetimeDbSdk/Source/SpacetimeDbSdk/Public/Types/Builtins.h b/sdks/unreal/src/SpacetimeDbSdk/Source/SpacetimeDbSdk/Public/Types/Builtins.h index ff0bf8b1441..54a7049df0c 100644 --- a/sdks/unreal/src/SpacetimeDbSdk/Source/SpacetimeDbSdk/Public/Types/Builtins.h +++ b/sdks/unreal/src/SpacetimeDbSdk/Source/SpacetimeDbSdk/Public/Types/Builtins.h @@ -8,7 +8,14 @@ #include "Kismet/BlueprintFunctionLibrary.h" #include "Builtins.generated.h" - +// macOS/Objective-C++ defines Nil as a macro (#define Nil nullptr in objc/objc.h). +// Unreal Engine compiles as Objective-C++ on Apple platforms, causing FSpacetimeDBUuid::Nil() +// to fail with "expected member name or ';' after declaration specifiers". +#ifdef Nil +#define SPACETIMEDB_NIL_MACRO_SAVED +#pragma push_macro("Nil") +#undef Nil +#endif /**Compression algorithms supported by SpacetimeDB for data storage and transmission. */ UENUM(BlueprintType) @@ -1081,4 +1088,10 @@ class SPACETIMEDBSDK_API USpacetimeDBUuidLibrary : public UBlueprintFunctionLibr { return FSpacetimeDBUuid(Guid); } -}; \ No newline at end of file +}; + +// Restore macOS/Objective-C++ Nil macro +#ifdef SPACETIMEDB_NIL_MACRO_SAVED +#pragma pop_macro("Nil") +#undef SPACETIMEDB_NIL_MACRO_SAVED +#endif \ No newline at end of file