Skip to content

Add UE 5.8 support#25

Open
dreisner64 wants to merge 1 commit into
microdee:mainfrom
dreisner64:ue5.8-support
Open

Add UE 5.8 support#25
dreisner64 wants to merge 1 commit into
microdee:mainfrom
dreisner64:ue5.8-support

Conversation

@dreisner64

Copy link
Copy Markdown

Fixes compilation on Unreal Engine 5.8:

Verified on a fresh UE 5.8 C++ project: dropped this branch of MCRO alongside OpenUnrealSpaceMouse into Plugins/, generated the VS project files, and built the editor target (Development Editor, Win64). Both compile clean and load in the editor, and the SpaceMouse drives the viewport camera as expected.

Note: OpenUnrealSpaceMouse's .uplugin EngineVersion needed bumping 5.7.0 → 5.8.0 to load without the "designed for build 5.7.0" prompt — a packaging detail, not part of this MCRO source change, but flagging it for anyone building the 5.8 combo.

only issue i see is in 'game mode' i cannot move forward. Can move forward in editor. Somthing related to the 'forward vector' LATERAL (on a spacemouse compact)

Noteworthy changes:

  • Boost 1.85 -> 1.88 (Mcro.Build.cs)
  • Replace deprecated PREPROCESSOR_* macros with their UE_* equivalents (MACRO_OVERLOAD -> UE_APPEND_VA_ARG_COUNT, PREPROCESSOR_TO_STRING -> UE_STRINGIZE, PREPROCESSOR_JOIN -> UE_JOIN). The 5.8 deprecation injects a __pragma that breaks #if UNREAL_VERSION(...) (C1017).
  • Range/Conversion.h: 5.8 reworked TArray's checked ranged-for iterator (TCheckedPointerIterator) and dropped its value_type, so range-v3 0.12.0 can no longer compute iter_value_t -> indirectly_readable fails -> every array | view pipe stops resolving. Restore it via range-v3's own indirectly_readable_traits customization point.
  • Delegates/Traits.h: TMethodPtrResolver gained a leading bool bConst non-type param in 5.8; pass <false, FDeclareOnly> (version-guarded).
  • McroWindows/WindowsError.h: _API class -> class _API (5.8 flags C4091).

Co-Authored-By: Please check my work, had help from Claude

Fixes compilation on Unreal Engine 5.8:
- Boost 1.85 -> 1.88 (Mcro.Build.cs)
- Replace deprecated PREPROCESSOR_* macros with their UE_* equivalents
  (MACRO_OVERLOAD -> UE_APPEND_VA_ARG_COUNT, PREPROCESSOR_TO_STRING ->
  UE_STRINGIZE, PREPROCESSOR_JOIN -> UE_JOIN). The 5.8 deprecation injects a
  __pragma that breaks #if UNREAL_VERSION(...) (C1017).
- Range/Conversion.h: 5.8 reworked TArray's checked ranged-for iterator
  (TCheckedPointerIterator) and dropped its value_type, so range-v3 0.12.0 can
  no longer compute iter_value_t -> indirectly_readable fails -> every
  `array | view` pipe stops resolving. Restore it via range-v3's own
  indirectly_readable_traits customization point.
- Delegates/Traits.h: TMethodPtrResolver gained a leading `bool bConst`
  non-type param in 5.8; pass <false, FDeclareOnly> (version-guarded).
- McroWindows/WindowsError.h: `_API class` -> `class _API` (5.8 flags C4091).

Co-Authored-By: Please check my work, had help from Claude
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant