A simple plugin for Unreal Engine 4 which adds a few basic blueprint nodes.
If you enjoy this plugin, please consider helping me buy some caffeine. Donate via PayPal
- ...a collection of nodes that solve very specialized problems, particularly related to XR development challenges.
- ...my first attempt at making a plugin for UE4.
- ...a great way for me to learn and practice my C++ skills.
- ...relevant or useful for most developers, especially those not working in XR.
- ...anything ground-breaking or new. I think most of this stuff is in Rama's Victory plugin, actually. But I wouldn't learn anything if I didn't make it myself.
This plugin basically just adds a few non-essential Blueprint nodes and exposes some engine stuff for Blueprint devs. The most useful thing in here, for most developers, is probably the ResetOrientationAndPositionZ node. This node drops the Z component of the transform when re-centering the user's XR playspace. It's super useful for maintaining the floor level and only adjusting the center position. Everything else in here was something I needed for a project at some point or another. By collecting that stuff into a plugin, it makes it really easy to bring changes with me across engine versions.
Find out more about InnerLoop LLC at https://www.innerloopllc.com.
(only tested for this stuff, but probably works on other engine versions)
- Unreal Engine - 4.27.1-Oculus
- Platforms - Win64, Android, PS4
(not tested for functionality, only to make sure it compiles)
- Unreal Engine - 4.27, 4.26, 4.25, 4.24, 4.23, 4.22, 4.21
- Place the 'InnerLoopLLC' folder in 'Engine/Plugins/Marketplace'
- Regenerate project files
- Compile engine
- IsWithEditor - Returns Bool if project is running in UE4 editor or not.
- WithEditor - Same as IsWithEditor, but with branched outputs. (useful for skipping cinematics/etc while developing)
- GetProjectVersion - Returns Project Version as set in Project Description.
- SetProjectVersion - Sets the Project Version.
- GetTextFromFile - Reads a .txt file and returns contents as a string. (useful for including update notes in game)
- GetLogVerbosity - Gets InnerLoop logging verbosity*
- SetLogVerbosity - Sets InnerLoop logging verbosity*
- PrintToLog - Prints string to log file in packaged builds. (logs must be enabled for this to work in shipping builds)
- FromUnixTimestamp - Returns the date from Unix time (seconds from midnight 1970-01-01)*
- ToUnixTimestamp - Returns this date as the number of seconds since the Unix Epoch (January 1st of 1970).*
- Misc|UnloadStreamingLevel - Unloads and removes streaming level.
- Misc|GetCustomDataValue - Gets the value of Custom Data from instanced static mesh component. (requires 4.25+)
- XR|GetBasePosition - Returns center of playspace as Vector.
- XR|SetBasePosition - Sets new center of playspace.
- XR|GetBaseRotation - Returns rotation of playspace as Rotator.
- XR|SetBaseRotation - Sets new rotation of playspace.
- XR|GetBaseRotationAndPosition - Returns rotation and center of playspace as Transform.
- XR|SetBaseRotationAndPosition - Sets new rotation and center of playspace.
- XR|ResetOrientationAndPositionZ - Reorients playspace without adjusting Z. (maintains floor height)
- XR|GetSpectatorScreenTexture - Gets the spectator screen texture.
- System Info|RHIAdapterName - Returns name of installed GPU. (useful for automatically configuring settings)
- System Info|RHIVendorName - Returns vendor of installed GPU.
- System Info|RHIShaderFormatName - Returns the name of the current shader format (e.g. "PCD3D_ES3_1", etc)
- System Info|CPUBrand - Returns as string the brand of installed CPU.
- System Info|CPUChipset - Returns as string the chipset of installed CPU.
- System Info|CPUVendor - Returns as string the vendor of installed CPU.