World of Warcraft Emulation in Unity3D

Hello guys, I especially love World of Warcraft and doing emulation related work for WoW! When it comes to clientside emulation I use Unity3D because I’m passionate about Unity3D too. Today I’m going to post a demo video related to my Unity3D WoW emulation work.

Here is a technical demo of using a Unity3D client to connect to a 3.3.5 (WOTLK) World of Warcraft server and playing alongside normal 3.3.5 clients!

I have no interest in amateur legal debates so please don’t post or ask questions related to that.

I am however interested in answering anyone’s technical questions when it comes to developing or emulating MMORPGs. Especially specific to games like World of Warcraft, ask away ^,^.

3 Likes

How did you get started with the development of this emulator? Its fascinating to see such a project, I am to very passionate about wow and would love to try for myselft at a project like this ( at a much smaller scale),

I think you are doing a great job and I’m waiting for more of your updates

I originally got into network game emulation when Pokemon Go came out. HTTP-based games, like Pokemon Go, are good canidates for learning reverse engineering. It’s a very easy protocol to learn and there are great tools around it. As for World of Warcraft emulation, abit later I started to tinker around with https://github.com/trinitycore/trinitycore which is an opensource World of Warcraft server emulator. I recommend the 3.3.5 (WOTLK) branch! A good place to start there is to set it up and tinker around with creature and boss scripts and then slowly branch out.

I invested a lot of time into studying the WoW packets and protocol and writing libraries and tooling around it which ended up leading to this client emulator project. Emulation is a tough niche to get into I think but it’s very rewarding because you get to see how real billion dollar game software functions. I always tell people that if they want to learn to make an MMORPG then take a look at the technical aspects behind WoW!

I’m not sure I’ll post updates, since this was just a technical demo and this forum is for complete products or tech demos. Updates would belong in a WIP forum thread. However, I can post that today I was able to spawn GameObjects (think interactable WoW objects that aren’t creatures/NPCs) and load their models. As seen here:

Thanks for the reply, I really apreciate it, I also follow you on your YT channel to see updates, I’ll try to see reverse engineering on simpler games as pokemon go as you said.
I tinkered some time ago with trinity, but I only did changes to the database, this time I’ll try to branch out and do more things.
Thanks for the insight, it was really interesting!

1 Like

Awesome project! Is the source on your github by chance? I have forked wow-export and rewritten the ADTExporter so it will export WoW Terrain, splatmaps, and 3d models directly into Unity: