NoesisGUI Unreal Engine Plugin

repository·master·Indexed 18 days ago

https://github.com/noesis/unrealplugin

A plugin for Unreal Engine that enables the creation of high-performance, scalable user interfaces using XAML, bridging XAML-based UI design with Unreal Engine's C++ and Blueprint systems.

Tokens
942
Snippets
1
Records
4
Agent score
13%

What's inside NoesisGUI Unreal Engine Plugin

  1. Prerequisites for NoesisGUI Unreal Integration

    master

    Before installing, ensure you meet these requirements:

    1. Unreal Engine with Source Code:

      • You need Unreal Engine with source code installed.
      • If using the Epic Games Launcher, verify that the Engine Source option is selected in the Unreal Engine version options in your library. If not, select it and click Apply to download.
    2. Python Environment:

      • Python must be installed.
      • Required modules: configparser (Windows/Mac), pywin32 (Windows), and pyobjc (Mac).
      • Use the provided InstallPythonPrerequisites scripts to automate this setup.
  2. Install NoesisGUI Unreal Engine Plugin from source

    master

    To install the NoesisGUI plugin from the source repository, follow these steps:

    1. Choose Installation Type:

      • Engine Plugin: Copy the repository contents into [UE4Root]/Engine/Plugins/NoesisGUI.
      • Project Plugin: Copy the repository contents into [ProjectRoot]/Plugins/NoesisGUI. Note: If using an Epic Games Launcher version of Unreal Engine, you MUST use the Project plugin method.
    2. Setup Native SDK:

      • Download the NoesisGUI Native SDK (C++) from the Noesis developer portal.
      • Extract it into [NoesisGUIRoot]/Source/Noesis/NoesisSDK.
    3. Install Python Prerequisites:

      • Run InstallPythonPrerequisites.bat (Windows) or InstallPythonPrerequisites.command (Mac) from the plugin directory to ensure configparser, pywin32 (Windows), and pyobjc (Mac) are installed.
    4. Run the Installer:

      • Execute InstallPlugin.bat (Windows) or InstallPlugin.command (Mac) from the plugin directory.
      • To target specific platforms, pass them as arguments (e.g., InstallPlugin.command Mac IOS).
      • Valid platform names: Win64, Mac, IOS, Android, PS4, XboxOne.

    IMPORTANT: You must repeat the installation step every time you update Unreal Engine or the NoesisGUI SDK/plugin.

    # Example: Installing for Mac and iOS
    ./InstallPlugin.command Mac IOS
  3. Troubleshoot NoesisGUI installation and build errors

    master

    Common issues and solutions:

    • Missing libraries error (UE4-NoesisRuntime.lib, UE4-NoesisRuntime-Win64-Shipping.lib, etc.):

      • Ensure you have executed the InstallPlugin script.
    • Game module could not be loaded error:

      • Ensure the plugin is enabled in your project before adding the NoesisRuntime dependency to your module. If the project already exists, add the dependency manually in your .Build.cs file.
    • NoesisRuntime cannot be loaded because Noesis.dll cannot be found (Windows):

      • Ensure you have executed the InstallPlugin script.
  4. Explore NoesisGUI Unreal Engine Samples

    master

    The repository includes several samples to demonstrate different integration patterns:

    • HelloWorld: Minimal sample for presenting XAML on screen.
    • Buttons: Demonstrates using Bindings to implement Commands as Blueprint functions.
    • Widget3D: Shows UI presented in 3D using Unreal's WidgetComponent.
    • Login: Combines Bindings to data/functions in Blueprints with C++ code-behind.
    • QuestLog: Demonstrates complex Bindings to Textures and Arrays of Objects.
    • Scoreboard: Shows advanced data exposure via Getter functions and manual property change notifications.
    • Localization: Implements content localization using ResourceDictionarys.
    • UserControl: Demonstrates implementing a UserControl using XAML and a C++ code-behind class.
    • Menu3D: Uses UserControls for a multi-panel game main menu.
    • TicTacToe: Combines XAML and Blueprints for game logic.
    • Inventory: Implements a drag-and-drop inventory system UI.
    • ShooterGame: Replaces the UI of Epic's ShooterGame sample with NoesisGUI (UI logic is entirely in Blueprint).