Giter Site home page Giter Site logo

unrealhx4haxedevelop's Introduction

Unrealhx4Haxedevelop

This is an automated project template and tool/setup for Unreal.hx in Flashdevelop/Haxedevelop. With this you are able to code in Haxe, and create Unreal Engine 4 projects in Flashdevelop/Haxedevelop without using c++ code or Visual Studio.

Please read the instructions!

Install (Windows only) :

Download the .fdz file from here: Unrealhx-template.fdz. To install, just doubleclick it or drag/drop into FD/HD.

What can i do with this setup?

This setup gives you a basic workflow for coding in Haxe instead of c++ and working with Flashdevelop/Haxedevelop instead of using Visual Studio.

  • Create new Haxe/Unreal.hx enabled UE4 projects very easy!
  • Automatic setup of plugin/tools.
  • Code in Haxe
  • Build UE4 projects
  • Rebuild UE4 projects
  • Quickcompile with Unreal.hx Cppia ( Read about it here )
  • Package UE4 projects for release/shipping, and cook UE4 content

What is Unreal.hx?

Unreal.hx is an amazing plugin for Unreal Engine 4 that allows you to write code in the Haxe programming language. It is written by Proletariatgames. If you are not familiar with it, please read more here : https://github.com/proletariatgames/unreal.hx. Also, read the Unreal.hx Wiki!!

And if you are unfamiliar with Haxe : It is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities. See www.haxe.org

What is required?

Unrealhx4Haxedevelop is a complete and tested setup for Unreal.hx and Haxe with Unreal Engine 4. It should work straight out of the box. HOWEVER; as this is in early testing some things might not work for you. If you run into problems with the project template or setup, create an issue about this. For other issues related to Unreal.hx, see Unreal.hx issues

What you need to have installed:

  • Flashdevelop 5.xx or Haxedevelop 5.xx
  • Unreal Engine 4.16 / 4.17 - (Only 4.17 template exits for now)
  • Visual Studio 2015 - (Uses the C++ compiler) (2017 might work, but this is not tested)
  • Haxe 3.4.3 / 3.4.4 - Download here
  • Hxcpp 3.4.188 / 3.4.64 - ( haxelib install hxcpp ) ( Other versions might work, but this is not tested )
  • Hxcs 3.4.0 - ( haxelib install hxcs ) ( Other versions might work, but this is not tested )

The setup

When you create a new project from within FD/HD it will copy a lot of files to the project folder.

Important!!! :

The first time you hit compile, the project template will invoke the automated setup. This copies files, prepares UE4 setup, Unreal.hx options and does an initial full build of your project. It can take a bit of time, up to maybe 5-10 minutes depending on your computer speed.

Some things to know :

Even though Unreal.hx enables you to code in Haxe, you still NEED to know and understand how Unreal Engine 4 works. This is because the API and functions are still the same as in C++. If you are unfamiliar with the Unreal Engine 4 API and workflow there is a lot of information available from Epic Games here : Unreal Engine 4 Documentation

Working with Unreal.hx

In your project root you will have a folder called "haxe". Within this you will find two folders; Static and Scripts.

Static : This is your "normal" Haxe code that will build with the normal "Build UE4 Project" option. This code is staticly compiled to c++ and is available after you compile and launch the editor, or the Editor hotloads the c++ output.

Scripts : In this folder you can put all the Haxe classes you want to compile using Unreal.hx Cppia. This means it will compile superfast and dynamicly reload while the UE4 Editor is open. This makes for a very speedy workflow and iterations.

A note about Cppia scripts: They can extend and use Static code, but NOT the other way around. Also; due to an issue with Hxcpp you cannot call "super()" from a cppia class that extends static code, it will crash.

unrealhx4haxedevelop's People

Contributors

datee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

unrealhx4haxedevelop's Issues

BuildUE4Project failing on linker

Performing 1 actions (4 in parallel)
[1/1] Link UE4Editor-tester.dll
Creating library D:\WORK\unrealprojs\tester\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-tester.suppressed.lib and object D:\WORK\unrealprojs\tester\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-tester.suppressed.exp
haxeRuntime.lib(d419743c_Bytes.obj) : error LNK2019: unresolved external symbol __std_reverse_trivially_swappable_1 referenced in function "public: virtual class String __cdecl haxe::io::Bytes_obj__scriptable::__ToString(void)const " (?__ToString@Bytes_obj__scriptable@io@haxe@@ueba?AVString@@xz)
haxeRuntime.lib(8db8204d_ByteArray.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(d419743c_BytesBuffer.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(9d57483c_Lib.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(d419743c_Path.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(e9dc867f_UnrealInit.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(2b50853f_ArrayBuiltin.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(6f10cfb9_File.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(2b50853f_Cppia.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(2b50853f_CppiaVars.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(e9dc867f_StringBuf.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(e9dc867f_StringTools.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(5370fa6a_CFFI.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(5370fa6a_StdLibs.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(614c7251_String.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(614c7251_Array.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_1
haxeRuntime.lib(5370fa6a_Hash.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_8
haxeRuntime.lib(e9dc867f_UnrealInit.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_8
haxeRuntime.lib(2b50853f_ArrayBuiltin.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_8
haxeRuntime.lib(39811e08_Immix.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_8
haxeRuntime.lib(614c7251_Array.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_8
haxeRuntime.lib(2b50853f_Cppia.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_8
haxeRuntime.lib(2b50853f_CppiaVars.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_8
haxeRuntime.lib(2b50853f_CppiaVars.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_4
haxeRuntime.lib(5370fa6a_Hash.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_4
haxeRuntime.lib(e9dc867f_StringTools.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_4
haxeRuntime.lib(2b50853f_ArrayBuiltin.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_4
haxeRuntime.lib(614c7251_String.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_4
haxeRuntime.lib(614c7251_Array.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_4
haxeRuntime.lib(9a51aeaf_ClassWrap.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_4
haxeRuntime.lib(2b50853f_Cppia.obj) : error LNK2001: unresolved external symbol __std_reverse_trivially_swappable_4
haxeRuntime.lib(614c7251_Array.obj) : error LNK2019: unresolved external symbol __std_reverse_trivially_swappable_2 referenced in function "void __cdecl std::_Reverse_unchecked1<unsigned short *>(unsigned short * const,unsigned short * const,struct std::integral_constant<unsigned __int64,2>)" (??$_Reverse_unchecked1@PEAG@std@@YAXQEAG0U?$integral_constant@_K$01@0@@z)
D:\WORK\unrealprojs\tester\Binaries\Win64\UE4Editor-tester.dll : fatal error LNK1120: 4 unresolved externals
ERROR: UBT ERROR: Failed to produce item: D:\WORK\unrealprojs\tester\Binaries\Win64\UE4Editor-tester.dll

Followed instructions and using all recommended versions for everything, anyone run into this ?

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.