Giter Club home page Giter Club logo

vc-ue-extensions's Introduction

Unreal Engine plugin for Visual Studio

This project contains an Unreal Editor plugin that works in conjunction with Visual Studio to display information about Blueprints assets in C++ code.

The plugin can be installed in either the Engine or Game project sources, and it is automatically activated when an Unreal Engine project is opened in Visual Studio.

Requirements

Before you begin, please make sure you have the following software and tools set up:

  1. Visual Studio 2022 has the "IDE features for Unreal Engine" component installed.
    1. The component can be found in the "Game development with C++" workload or as an individual component.
  2. Unreal Engine, either installed or built from source.
    1. To learn how to install or build Unreal Engine, please refer to the following guide: Installing Unreal Engine.
    2. The source code and instructions have been tested on Unreal Engine versions 4.27, 5.0 and 5.1.

Building and Installing the Plugin

If you have Unreal Engine installed and set up through the Epic Games Launcher, and you only want to use the plugin, you can skip the steps below and install it directly from the Unreal Engine Marketplace.

The most straightforward way to use the plugin is to clone the repo under the Plugins folder of your game project or engine source. If you have multiple projects in the same Visual Studio solution, it is recommended to install the plugin at the engine level and share the binaries across the projects.

  1. Clone the repo under the project plugin folder by using the following commands:

    cd <Project or Engine root folder>/Plugins
    git clone https://github.com/microsoft/vc-ue-extensions.git
  2. Optional: Regenerate the Solution for your game project so that the plugin source will be visible in Visual Studio.

  3. Rebuild the game project, which will also build the plugin.

After completing these steps, Visual Studio should automatically recognize the plugin when you open a solution or project, and it will start processing Blueprints in your game.

You can also use the option Rescan UE Blueprints for <Game Project Name> in the Project menu to manually force Visual Studio to invoke the the plugin.

Cloning outside of engine or project sources

If you prefer to have the plugin's repository located separately from the engine or project sources (for example, if you want to share it between multiple engines), you can follow the instructions provided in the file Scripts/README.md to learn how to build and install the plugin in such a scenario.

Enabling the Plugin (Optional)

By default, the plugin descriptor is already set with "EnabledByDefault = true", so it should function automatically without any additional steps. However, if you encounter difficulties with Unreal Engine building the plugin (e.g., UE fails to build the plugin when building the project), you can enable the plugin explicitly by using one of the following methods:

  1. Navigate to the plugin manager in the Unreal Editor and select VisualStudioTools.
  2. Manually edit the game project's .uproject descriptor file by adding an entry for the plugin.

In either case, the end result should be a new entry in the Plugins array in the JSON file, as shown below:

{
 "FileVersion": 3,
 "Category": "...",
 "Description": "...",
 "Modules": ["..."],
 "Plugins": [
  {
   "Name": "VisualStudioTools",
   "Enabled": true,
  }
 ]
}

Note: To ensure proper activation of the plugin, make sure the correct plugin is selected or the desired changes are made in the .uproject file.

Manually invoking the plugin

The plugin is designed to be used with Visual Studio, and as such, it does not provide any user interfaces, commands, or logs within the Unreal Editor. However, it is still possible to test the plugin's execution by running the sample command below:

& "<AbsolutePathToEngine>\Engine\Binaries\Win64\UnrealEditor-Cmd.exe" "$Env:UserProfile\Unreal Projects\EmptyProject\EmptyProject.uproject" -run=VisualStudioTools -output "$Env:Temp\vs-ue-tools.json" [-unattended -noshadercompile -nosound -nullrhi -nocpuprofilertrace -nocrashreports -nosplash]

This command will run the plugin for the specified project and save Unreal Engine Blueprint information in the output file. Optional parameters are included to run the command faster.

For more information on the specific command line parameters, you can run the following command in the powershell prompt with -help:

& "<Editor-Cmd.exe>" "<path_to_uproject>" -run=VisualStudioTools -help [-unattended -noshadercompile -nosound -nullrhi -nocpuprofilertrace -nocrashreports -nosplash]

Note: The executable name is UE4Editor-cmd.exe for UE4.x, located under a similar path.

Troubleshooting

If you encounter any issues when setting up Visual Studio in conjunction with the Unreal Editor plugin, please refer to the Troubleshooting guide in the repository. This guide provides solutions for common issues and is periodically updated to ensure that the latest solutions are available.

To report new issues, provide feedback, or request new features, please use the following options: Report a Problem and Suggest a Feature. These options will allow you to submit your issue or feedback directly to our team and help us improve the plugin moving forward.

Contributing

This project welcomes contributions and suggestions. Check out our contributing guide for instructions on how to contribute to the project.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

vc-ue-extensions's People

Contributors

hnrqbaggio avatar davidaraygoza avatar microsoftopensource avatar jgoshi avatar congruidavidli avatar morphix84 avatar troutzhang avatar drelidan7 avatar microsoft-github-operations[bot] 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.