Giter VIP home page Giter VIP logo

construct-plugin-epicgames's Introduction

Epic Games for WebView2

This repository contains code for the Epic Games for WebView2 Construct plugin, and its associated wrapper extension (a DLL which integrates the Epic Online Services SDK, aka EOS SDK). This allows integrating Construct projects with Epic Games using the Windows WebView2 export option. There are two main components in this repository:

  • construct-plugin: the Construct plugin, written in JavaScript using the Construct Addon SDK
  • wrapper-extension: a Visual Studio 2022 project to build the wrapper extension DLL, written in C++.

The wrapper extension builds an .ext.dll file in the construct-plugin subfolder. The Construct plugin is configured to load that DLL in the WebView2 exporter, and then communicates with it via a messaging API.

Build

To build the wrapper extension, you will need:

  • Visual Studio 2022 or newer (the Community edition is free)
  • The EOS SDK - download the C SDK and extract the SDK subfolder to the epic-games-sdk subfolder such that the file epic-games-sdk\Include\eos_sdk.h exists.
  • An account on the Epic Games Developer Portal. You will need to create an organization and product and obtain the necessary IDs (Product ID, Client ID, Client secret, Sandbox ID and Deployment ID - see the Epic developer documentation for more details).

The Construct plugin requires 2 DLLs, each in the x86 (32-bit) and x64 (64-bit) architectures, for a total of 4 DLL files. These are:

  • EpicGames_x86.ext.dll / EpicGames_x64.ext.dll - the wrapper extension DLL, built from the wrapper-extension files
  • EOSSDK-Win32-Shipping.dll / EOSSDK-Win64-Shipping.dll - the EOS SDK DLLs

For convenience these DLLs are provided in this repository. However if you make changes you may want to replace some of these DLLs.

Warning

If you want to modify the plugin for your own purposes, we strongly advise to change the Construct plugin ID. This will avoid serious compatibility problems which could result in your project becoming unopenable. For more information see the Contributing guide.

Testing

Use developer mode for a more convenient way to test the Construct plugin during development.

For details about configuring and exporting projects for Epic Games, see the Epic Games plugin documentation.

A sample Construct project is provided in this repository which is just a technical test of the plugin features. However its IDs have been removed so you will need to set up your own on the Developer Portal. Also note the DevAuthTool option will need to be updated with your own host and credential name before it works.

Distributing

The Construct plugin is distributed as a .c3addon file, which is essentially a renamed zip file with the addon files.

Warning

If you want to modify the plugin for your own purposes, we strongly advise to change the Construct plugin ID. This will avoid serious compatibility problems which could result in your project becoming unopenable. Further, if you wish to add support for more EOS SDK API methods, you may be better off creating an independent plugin rather than modifying this one. For more information see the Contributing guide.

Support

If you think there is an issue with this plugin, please file it following all the guidelines at the main Construct issue tracker, so we can keep all our issues in the same place. Issues have been disabled for this repository.

Contributing

Due to Scirra Ltd's obligation to provide long-term commercial support, we may reject any submitted changes to this plugin. However there are other options such as developing an independent companion plugin. For more information see the Contributing guide.

License

This code is published under the MIT license.

construct-plugin-epicgames's People

Contributors

ashleyscirra avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

ezhz97189718

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.