All Projects → uhrobots → Blui

uhrobots / Blui

Licence: mit
Rich HTML UI engine for UE4

Projects that are alternatives of or similar to Blui

Unreal Polygonal Map Gen
An Unreal Engine 4 implementation of the Polygonal Map Generator for generating islands found at http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
Stars: ✭ 229 (-69.59%)
Mutual labels:  game, unreal-engine, ue4
Buoyancysystem
A system for buoyancy and boat physics in Unreal Engine 4.
Stars: ✭ 87 (-88.45%)
Mutual labels:  game, unreal-engine, ue4
Actionroguelike
Third-person Action Roguelike made in Unreal Engine C++ (for Stanford CS193U 2020)
Stars: ✭ 1,121 (+48.87%)
Mutual labels:  game, unreal-engine, ue4
Flopnite Ue4
A remake of the popular battle royale game, Fortnite, made in Unreal Engine 4 and integrated with Amazon GameLift
Stars: ✭ 250 (-66.8%)
Mutual labels:  game, unreal-engine, ue4
Genericgraph
Generic graph data structure plugin for ue4
Stars: ✭ 256 (-66%)
Mutual labels:  unreal-engine, ue4
TransMat
Blender Python - Instantly Recreate Blender Shader Node Trees as Unreal Materials
Stars: ✭ 30 (-96.02%)
Mutual labels:  unreal-engine, ue4
Unrealeditorpythonscripts
Some of my personal scripts i made to use for my own projects, but free of charge to be used for any project and any purpose as long as it is not violating the Unreal Engine EULA.
Stars: ✭ 282 (-62.55%)
Mutual labels:  unreal-engine, ue4
Launchpad
An open-source game launcher for your games
Stars: ✭ 322 (-57.24%)
Mutual labels:  game, unreal-engine
global-event-system-ue4
Loosely coupled internal event system plugin for the Unreal Engine.
Stars: ✭ 122 (-83.8%)
Mutual labels:  unreal-engine, ue4
Ue4 Binary Builder
An application designed to create installed Unreal Engine builds (aka Rocket builds) from Unreal Engine GitHub source.
Stars: ✭ 292 (-61.22%)
Mutual labels:  unreal-engine, ue4
Varest
REST API plugin for Unreal Engine 4 - we love restfull backend and JSON communications!
Stars: ✭ 707 (-6.11%)
Mutual labels:  unreal-engine, ue4
libprotobuf ue4
libprotobuf for Unreal Engine 4
Stars: ✭ 81 (-89.24%)
Mutual labels:  unreal-engine, ue4
PsWebServer
Civet web server integration plugin for Unreal Engine 4
Stars: ✭ 24 (-96.81%)
Mutual labels:  unreal-engine, ue4
Coophordeshooter
C++ Coop Horde Third-person Shooter for Unreal Engine 4 (Udemy Project)
Stars: ✭ 257 (-65.87%)
Mutual labels:  game, ue4
ue5-style-guide
An attempt to make Unreal Engine 4 projects more consistent
Stars: ✭ 2,892 (+284.06%)
Mutual labels:  unreal-engine, ue4
Fmodel
File explorer for UE4 games and with cosmetics icon creation support for Fortnite, Valorant, Battle Breakers, and Spellbreak
Stars: ✭ 299 (-60.29%)
Mutual labels:  unreal-engine, ue4
Gascontent
Repo to gather all Gameplay Ability System content for UE4
Stars: ✭ 398 (-47.14%)
Mutual labels:  unreal-engine, ue4
Ue4 Docker
Windows and Linux containers for Unreal Engine 4
Stars: ✭ 384 (-49%)
Mutual labels:  unreal-engine, ue4
Unrealcpp
Unreal Engine 4 C++ examples
Stars: ✭ 490 (-34.93%)
Mutual labels:  unreal-engine, ue4
Pbcharactermovement
HL2-style, classic FPS movement for Unreal Engine 4 implemented in C++
Stars: ✭ 582 (-22.71%)
Mutual labels:  unreal-engine, ue4

release BLUI-logo

Getnamo Fork Notes

Fork made to support small additions and changes for certain use cases.

To install check out the latest releases https://github.com/getnamo/BLUI/releases and drag and drop Plugins folder into your project root folder

Download and Fullscreen Support

Contains changes to allow downloading of files via the inbuilt browser.

Updated CEF build to 3.2556 to support fullscreen videos.

Convenience Blueprints

The native plugin didn't contain any self contained drag and drop examples so I've added some.

examples

BluiWidget

A user widget (UMG) blueprint which embeds a BLU texture as an image brush. Contains various utility functions to allow loading and parsing urls easily. Call InitBluEye with starting url and browser window size to start this widget. See BluiWorldWidgetActorExample for an example of how it's used in practice.

BluiWorldWidgetActorExample

Encapsulated BluiWidget user widget in an actor. Drag and drop this actor into your scene and it will auto-spawn the required BluTickActor to make everything work.

example output

3 BluiWorldWIdgetActorExample actors with youtube.com, blui ue4 and local://test.html specified as their URL respectively

Url

By default the actor will check the url for local:// protocol and load local content first if detected. This should be placed inside the following directory: {project root}/Content/html. NB: You can still use the vanilla blui:// protocol which will load content relative to your project root.

local url

e.g. having a test.html file inside your Content/html folder

Basic URL validity is also tested, but you can safely ignore http:// etc. E.g. just specifying youtube.com will resolve correctly

If your URL isn't valid however, it will redirect the string as a search term e.g. typing a sentance or a search term.

auto-search

You can untick Should Auto Search Invalid Url to disable this behavior.

Resize

By default the actor has a BLUI resolution of 1000x1000, you can change this by just changing the user widget draw size.

resize

BluTickActor

Instead of ticking in your level bp, I prefer to use a simple actor to do the ticking. Other convenience blueprints may spawn this as necessary so if you use those, you don't ever need to use this directly.

//End Fork Notes

HTML powered UI and HUD for Unreal Engine 4

(Hit up the wiki for a quick start guide!)

Do you use BLUI in your project? I'd really love it if you credit me and it! You can even use the logo right here!

License: MIT

What is it?

BLUI is an Unreal Engine 4 plugin that allows easy interaction with the Chromium Embedded Framework. It provides a simple Material Instance and input functions to help streamline the rendering of rich HTML interfaces.

BLUI tries to stay out of the way as much as possible. All rendering of the DOM and processing of the JavaScript happens in a separate process, just like Chromium. BLUI only updates the texture inside the material instance when Chromium requests a redraw, not every tick, saving a bit more processing along the way.

Features

  • Chromium Powered (same thing that powers Google Chrome!)
  • Fully compatible with every web technology that Chrome/Chromium works with. (HTML5, WebAudio, WebSockets etc.)
  • No specific ties to any in game class, simple use Blueprints (or C++) to create a new "BluEye" object and grab its material instance, then you can paint it on anything!
  • Execute JavaScript in the "browser" from your game to pass data to the web page
  • Using blu_event JS native function you can pass data from the page's JavaScript back into UE4!
  • C++ or Blueprints, works with both!

Setting up the editor and project

Then copy the BLUI folder into the "Plugins" folder within your project directory, and enable the plugin.

Re-generate your project's Visual Studio file and load up the editor. Then check the plugin list to ensure it has been loaded!

Updating the CEF event loop

You must call the BluManager::doBluMessageLoop(); method every tick in order for the CEF process to update properly. To do this, override the default GameMode's Tick function and include the Blu/Public/BluManager.h header file. You can then call the appropriate method.

As of now, you no longer need to do this. You can simply call a blueprint node to Tick the CEF loop every tick of the level blueprint.

Loading Local Files

Set your default URL or use the "Load URL" node/method to load a URL that starts with blui:// this will point to the directory root of the project or the game (if packaged). So if you wanted to load an HTML file from YourProject/UI/file.html, set the URL to blui://UI/file.html

HUD Example Blueprint

Within the release, you'll find an ExampleHUD blueprint file, place this into your project's blueprints directory to try it out! (It's a simple UMG widget pre-configures to accept keyboard and mouse input, with a BluEye instance hooked up to a canvas)

Shipping Your Game (Linux)

Copy all contents of the Linux shipping files into your packaged game's GameName/Binaries/{Linux}, these are the required files for the Chromium process.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].