Giter Site home page Giter Site logo

unrealengine's Introduction

Unreal Engine

Welcome to the Unreal Engine source code!

With the code in this repository, you can build the Unreal Editor for Windows, Mac, and Linux; compile Unreal Engine games for a variety of target platforms, including desktop, consoles, mobile, and embedded devices; and build tools like Unreal Lightmass and Unreal Frontend. Modify the code in any way you can imagine, and share your changes with others!

We have a vast amount of official documentation available for the engine. If you're looking for the answer to something, you may want to start in one of these places:

If you need more, just ask! Many Epic developers read the forums and AnswerHub, and we're proud to be part of a well-meaning, friendly, and welcoming community of thousands.

Branches

We publish source for the engine in several branches:

  • Numbered branches identify past and upcoming official releases, and the release branch always reflects the current official release. These are extensively tested by our QA team, so they make a great starting point for learning Unreal Engine and for making your own games. We work hard to make releases stable and reliable, and aim to publish a new release every few months.

  • Most active development on UE5 happens in the ue5-main branch. This branch reflects the cutting edge of the engine and may be buggy — it may not even compile. We make it available for battle-hardened developers eager to test new features or work in lock-step with us.

    If you choose to work in this branch, be aware that it is likely to be ahead of the branches for the current official release and the next upcoming release. Therefore, content and code that you create to work with the ue5-main branch may not be compatible with public releases until we create a new branch directly from ue5-main for a future official release.

  • For a stable Early Access release of UE5, use the ue5-early-access branch. The code in this branch matches the UE5 Early Access binary release that is available in the Epic Games Launcher. It’s a good place to start if you want a solid foundation for trying out the new features in UE5. For more information, see the UE5 documentation.

  • The master branch is the hub of changes to UE4 from all our engine development teams. It’s not subject to as much testing as release branches, so if you’re using UE4 this may not be the best choice for you.

  • Branches whose names contain dev, staging, and test are typically for internal Epic processes, and are rarely useful for end users.

Other short-lived branches may pop-up from time to time as we stabilize new releases or hotfixes.

Getting up and running

The steps below take you through cloning your own private fork, then compiling and running the editor yourself:

Windows

  1. Install a Git client like GitHub for Windows, then fork and clone our repository.

    To use Git from the command line instead, see the Setting up Git and Fork a Repo articles.

    If you'd prefer not to use Git, you can get the source with the Download ZIP button on the right. Note that the zip utility built in to Windows marks the contents of .zip files downloaded from the Internet as unsafe to execute, so right-click the .zip file and select Properties… and Unblock before decompressing it.

  2. Install Visual Studio 2019.

    All desktop editions of Visual Studio 2019 can build UE5, including Visual Studio Community 2019, which is free for small teams and individual developers.

    To install the correct components for UE5 development, make sure the Game Development with C++ workload is checked. Under the Installation Details section on the right, also choose the following components:

    • C++ profiling tools
    • C++ AddressSanitizer (optional)
    • Windows 10 SDK (10.0.18362 or newer)
    • Unreal Engine Installer
  3. Open your source folder in Windows Explorer and run Setup.bat. This will download binary content for the engine, install prerequisites, and set up Unreal file associations.

    On Windows 8, a warning from SmartScreen may appear. Click More info, then Run anyway to continue.

    A clean download of the engine binaries is currently 20-21 GiB, which may take some time to complete. Subsequent runs will be much faster, as they only download new and updated content.

  4. Run GenerateProjectFiles.bat to create project files for the engine. It should take less than a minute to complete.

  5. Load the project into Visual Studio by double-clicking the new UE5.sln file.

  6. Set your solution configuration to Development Editor and your solution platform to Win64, then right click the UE5 target and select Build. It may take anywhere between 10 and 40 minutes to finish compiling, depending on your system specs.

  7. After compiling finishes, you can run the editor from Visual Studio by setting your startup project to UE5 and pressing F5 to start debugging.

Mac

  1. Install a Git client like GitHub for Mac, then fork and clone our repository.

    To use Git from the Terminal instead, see the Setting up Git and Fork a Repo articles.

    If you'd rather not use Git, use the Download ZIP button on the right to get the source directly.

  2. Install the latest version of Xcode.

  3. Open your source folder in Finder and double-click Setup.command to download binary content for the engine. You can close the Terminal window afterwards.

    If you downloaded the source as a .zip file, you may see a warning about it being from an unidentified developer, because .zip files on GitHub aren't digitally signed. To work around this, right-click Setup.command, select Open, then click the Open button.

  4. In the same folder, double-click GenerateProjectFiles.command. It should take less than a minute to complete.

  5. Load the project into Xcode by double-clicking the UE5.xcworkspace file. Select the ShaderCompileWorker for My Mac target in the title bar, then select the Product > Build menu item. When Xcode finishes building, do the same for the UE5 for My Mac target. Compiling may take anywhere between 15 and 40 minutes, depending on your system specs.

  6. After compiling finishes, select the Product > Run menu item to load the editor.

Linux

  1. Install a visual Git client, then fork and clone our repository.

    To use Git from the command line instead, see the Setting up Git and Fork a Repo articles.

    If you'd prefer not to use Git, use the Download ZIP button on the right to get the source as a zip file.

  2. Open your source folder and run Setup.sh to download binary content for the engine.

  3. Both cross-compiling and native builds are supported.

Additional target platforms

  • Android support will be downloaded by the setup script if you have the Android NDK installed. See the Android Quick Start guide.

  • iOS development requires a Mac. Instructions are in the iOS Quick Start guide.

  • Development for consoles and other platforms with restricted access, like Sony PlayStation, Microsoft Xbox, and Nintendo Switch, is only possible if you have a registered developer account with those third-party vendors.

    Depending on the platform, additional documentation or guidance may be available in the Unreal Developer Network support site, or as a downloadable archive in the section of the Unreal Engine Forums that is dedicated to your platform.

    If you don’t have access to these resources, first register a developer account with the third party vendor. Then contact your Epic Games account manager if you have one, or fill out and submit the Console Development Request form for Unreal Engine if you don’t. Epic will contact you with a formal agreement to digitally sign. Once this is approved, you will receive instructions on how to access source code, binaries, and additional instructions for your platform.

Licensing

Your access to and use of Unreal Engine on GitHub is governed by an End User License Agreement (EULA). You can choose either a Publishing EULA or a Creators EULA, depending on how the terms fit your intended usage of the engine. For a comparison and links to FAQs, see the Unreal Engine download page. If you don't agree to the terms in your chosen EULA, as amended from time to time, you are not permitted to access or use Unreal Engine.

Contributions

We welcome contributions to Unreal Engine development through pull requests on GitHub.

We prefer to take pull requests in our active development branches, particularly for new features. For UE5, use the ue5-main branch; for UE4, use the master branch. Please make sure that all new code adheres to the Epic coding standards.

For more information on the process and expectations, see the documentation.

All contributions are governed by the terms of your EULA.

Additional Notes

The first time you start the editor from a fresh source build, you may experience long load times. The engine is optimizing content for your platform and storing it in the derived data cache. This should only happen once.

Your private forks of the Unreal Engine code are associated with your GitHub account permissions. If you unsubscribe or switch GitHub user names, you'll need to create a new fork and upload your changes from the fresh copy.

unrealengine's People

Contributors

aaronmcleran avatar ben-marsh avatar bobtellez avatar brandonschaefer avatar charles-epic avatar ddvlost avatar dmpenney avatar enfedaqueepic avatar frankfella avatar gabadie avatar jdale88 avatar joatski avatar knarkowicz-epic avatar marcaudy avatar marksatt-pitbull avatar mieszkoz avatar mkuhlens avatar mridgers avatar nickdarnell avatar ocohen avatar rcalocao avatar rcl avatar rob-gay avatar robertmanuszewski avatar ryanschmidtepic avatar sebastian-nordgren avatar sebastienhillaire avatar tom-sarkanen avatar unrealbot avatar zachbethel avatar

Watchers

 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.