Skip to content

datee/Unrealhx4Haxedevelop

Repository files navigation

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.

Releases

No releases published

Packages

No packages published