Code Monkey home page Code Monkey logo

re-ue4ss's Introduction

Unreal Engine 4/5 Scripting System

Lua scripting system platform, C++ Modding API, SDK generator, blueprint mod loader, live property editor and other dumping utilities for UE4/5 games.

Major features

Targeting UE Versions: From 4.12 To 5.3

The goal of UE4SS is not to be a plug-n-play solution that always works with every game. The goal is to have an underlying system that works for most games. You may need to update AOBs on your own, and there's a guide for that below.

Basic Installation

The easiest installation is via downloading the non-dev version of the latest non-experimental build from Releases and extracting the zip content to /{Gameroot}/GameName/Binaries/Win64/.

If your game is in the custom config list, extract the contents from the relevant folder to Win64 as well.

If you are planning on doing mod development using UE4SS, you can do the same as above but download the zDEV version instead.

Links

Full installation guide

Fixing compatibility problems

Lua API - Overview

Generating UHT compatible headers

Custom Game Configs

Creating Compatible Blueprint Mods

UE4SS Discord Server Invite

Unreal Engine Modding Discord Server Invite

Build requirements

  • A computer running Windows.
    • Linux support might happen at some point but not soon.
  • A version of MSVC that supports C++20, including std::format.
    • Visual Studio 2019 (recent versions), and Visual Studio 2022 will work.
    • More compilers will hopefully be supported in the future.
  • Rust toolchain 1.73.0 or greater

Build instructions

  1. Clone the repo.
  2. Execute this command: git submodule update --init --recursive Make sure your Github account is linked to your Epic Games account for UE source access. Do not use the --remote option because that will force third-party dependencies to update to the latest commit, and that can break things. You will need your github account to be linked to an Epic games account to pull the Unreal pseudo code submodule.
  3. There are three different ways you can build UE4SS.
    1. Execute this command: build_auto.bat <BuildMode> <Target>, example: build_auto.bat Release ue4ss Valid build modes are Release and Debug, and valid targets are ue4ss and xinput1_3. Parallel compilation is enabled for this build method.
    2. Open the root UE4SS directory in CLion, select ue4ss or xinput1_3 from the target list and hit the build button. Parallel compilation is NOT enabled for this build method.
    3. Execute VS_Solution/generate_vs_solution.bat to generate a Visual Studio solution file. Open the solution with Visual Studio 2019 or Visual Studio 2022, select the build type and build the ue4ss project. Parallel compilation is enabled for this build method.

Updating dependencies

If you want to update dependencies, you do so one of three ways:

  1. You can execute remote_update_first_party_submodules.bat to update all first-party dependencies.
  2. You can also choose to update dependencies one by one, by executing git submodule update --init --recursive vendor/<RepoOwner>/<Repo>. Remember to not use the --remote option unless you actually want to update to the latest commit.
  3. If you would rather pick a specific commit or branch to update a dependency to then cd into the submodule directory for that dependency and execute git checkout <branch name or commit>.

Note that you should also commit & push the submodules that you've updated if the reason why you updated was not because someone else pushed an update, and you're just catching up to it.

Credits

All contributors since the project became open source: https://github.com/UE4SS-RE/RE-UE4SS/graphs/contributors

  • Original Creator The original creator no longer wishes to be involved in or connected to this project. Please respect their wishes, and avoid using their past usernames in connection with this project.
  • Archengius
    • UHT compatible header generator
  • CasualGamer
    • Injector code & aob scanner is heavily based on his work, 90% of that code is his.
  • SunBeam
    • Extra signature for function 'GetFullName' for UE4.25.
    • Regex to check for proper signature format when loaded from ini.
    • Lots and lots of work on signatures
  • tomsa
    • const char* to vector<int> converter
      • tomsa: Idea & most of the code
      • Original Creator: Nibblet support
  • boop / usize
    • New UFunction hook method
  • RussellJ
    • Blueprint Modloader inspiration
  • Narknon
    • Certain features and maintenance/rehosting of the project
  • DeadMor0z
    • Certain features and Lua updates/maintenance
  • OutTheShade
    • Unreal Mappings (USMAP) Generator
  • DmgVol
    • Inspiration for map dumper
  • Buckminsterfullerene
    • Rewriting the documentation, various fixes
  • trumank
    • Lua bindings generator, various fixes, automation & improvements
  • localcc
    • C++ API

Thanks to everyone who helped with testing

  • GreenHouse
  • Otis_Inf
  • SunBeam
  • Motoson
  • hooter
  • Synopis
  • Buckminsterfullerene

re-ue4ss's People

Contributors

narknon avatar ue4ss avatar buckminsterfullerene02 avatar localcc avatar trumank avatar cpazr avatar mostlybored avatar massclown avatar okaetsu avatar razor950 avatar atenfyr avatar sbtoonz avatar noita-player avatar lyrth avatar praydog avatar dnchattan avatar tangerie avatar aceofshovels avatar hw12dev avatar mitchell-merry avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.