Davis3D: All products 50% off

Variable Access Library

Pixeltale Motion - Code Plugins - May 10, 2021

Easily access variables and functions of any object by their name in a modular and performant way, using soft references

  • Supported Platforms
  • Supported Engine Versions
    4.25 - 4.27, 5.0
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

Support for 5.0 is live!


This plugin is still in development and gets extended with each update, therefore the price will change as much more functions get added to the plugin.

This plugin will have its final update end of June, covering final functions. After that, this update will only be maintained to fix bugs and issues and to roll out support for new versions. If you wish to see new functions, please request them via the Question area or at support@pixeltalemotion.com!







DESCRIPTION


Variable Access Library will improve your blueprinting workflow by allowing you to create a widely modular coding structure, reducing your code to a minimum, and making it look cleaner and more organized.

All hard reference calls via "Cast To" can be replaced with this library using soft references which result in a way more performant code and lower RAM usage.


With an evergrowing library of functions, you can GET/SET variables of the supported types of any object simply by name (soft reference), but also Get All Variable Names of a Target, Execute Functions by name, and much more.

To help to debug, the plugin allows you to print error messages to the log and/or screen (can be toggled in the project settings), with all needed information so you can find missing references faster.


All functions are widely accessible (in C++ and blueprint)and support also replicated variables and RPC events.







LATEST UPDATE


V 1.7 GET FUNCTION UPDATE (current version, released Feb 12th, 2022):


-Get Defined Object, Actor & Widget by Name (this allows to get a variable value of custom classes with a class reference)

-Get All Functions by Target

-Exec Function by name








COMING UPDATE



V 1.8 WORKFLOW UPDATE (End of June) - FINAL UPDATE:

  • Get Variable Type by prefix (add a prefix like f. or b. to get the specific variable type)
  • added UMG Variable Types Support
  • Improve Array & Map Support (add new functions)
  • -Get All Variables Name of Type
  • Extended Macro Library
  • Complete Documentation and Sample Videos
















PRIOR UPDATES


V 1.6 GET VAR NAMES UPDATE (released Jan 18th, 2022):

THIS UPDATE REMOVED SOME DUPLICATE FUNCTIONS, THE SAME FUNCTIONS STILL EXIST JUST IN A DIFFERENT CLASS; DOUBLE-CHECK TO ENSURE YOUR CODE WORKS, AND RECOMPILE ALL CODE!!!


-remove unused function library class

-Get All Variable Names

-Easy Transform Functions

  • Set Location of Transform
  • Set Rotation of Transform
  • Set Scale of Transform

-added DataTable Support


V 1.5 MAP VARIABLE SUPPORT UPDATE (released October 10th, 2021):


-added Wildcard Map Support

-added Impure Getter Function

-reorganize code by adding 4 classes (Getters, Setters, General, Impure) for cleaner code structure and easier additions


V 1.4 WILDCARD ARRAY UPDATE (released September 20th, 2021):


- added Get & Set Wildcard Array Support for all common variable types (structs are excluded and require their own function)

-> Remove & Add may not be required and can be accessed with the get function that's why I skipped them. let me know if they are required

- Support 4.27



V 1.3 EASIER DEBUG UPDATE ( released July 10th, 2021):


-added Plugin Settings in Project Settings>Plugins>VariableAccess

  • added 2 bools to enable/disable Print to Log or Print to Screen for all functions

-added PrintLog/PrintScreen functions for easier debugging (displaying the Actor the function is triggered from and/or the name of the variable which couldn't be found)



V 1.2 EVEN MORE VARIABLE SUPPORT UPDATE (released May 28th, 2021):

-10 new functions supporting new variable types:

  • Int64
  • Objects
  • Vector 2d
  • IntPoint
  • IntVector


-Updating API to new API for 4.25+ (will remove warnings if compiled by source)


V 1.1 MORE VARIABLE SUPPORT UPDATE (Released May 13th, 2021):

12 new functions supporting new variable types:

  • Name
  • Text
  • String
  • Rotator
  • Transform
  • LinearColor





















PLANNED FEATURES


Due to time limitations and the increasing complexity of the functions, further updates will require more time to be completed. I try to push out an update once a month to complete this plugin before the end of the year.


More Wildcard Functions

  • Wildcard Variable
  • Wildcard Structs



I will support older engine versions if requested.

Technical Details

Features:

  • V1.6: Support DataTables, Get All Variable Names
  • V1.5: Support Maps, Impure Functions
  • V1.4: Support Arrays, 4.27 Support
  • V1.3: Debug Settings for easier debugging
  • V1.2: Support Int64, Vector2d, IntVector, IntPoint, Object
  • V1.1: Support Transform, Rotator, LinearColor, Name, Text, String
  • V1.0: Support Bool, Byte, Float, Int, Vector
  • Access Variables of any actor, anywhere, by its name
  • Check if desired variables exist (bool return result)
  • Set/Get Functions of all the above supported variable types 
  • Scale Vector Function
  • Math Functions for Float & Int


Code Modules:

  •  VariableAccessLib (Runtime)


Number of Blueprint Nodes: 40+

Number of C++ Classes: 6

Network Replicated: Functions are not replicated but can be called on the Server or Client for replicated variables.

Supported Target Build Platforms: Any

Documentation: New Documentation live: Monday, April 14th, 2022

Example Project: 4.26