# Can I mix backend languages?

**URL:** <https://forum.heroiclabs.com/t/can-i-mix-backend-languages/4389>\
**Category:** Runtime Framework\
**Created:** [September 25, 2023, 5:46pm UTC](https://forum.heroiclabs.com/t/can-i-mix-backend-languages/4389 "2023-09-25T17:46:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![elementalcode](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/elementalcode/32/1697_2.png) [@elementalcode](https://forum.heroiclabs.com/u/elementalcode)\
**Post date:** [September 25, 2023, 5:46pm UTC](https://forum.heroiclabs.com/t/can-i-mix-backend-languages/4389/1 "2023-09-25T17:46:49Z")

</div>

Can I mix backend languages?

Say, if I write my authoritative game server in Go but my matchmaker code is in typescript, can typescript call `nk.matchCreate('pingpong', payload);` where `"pingpong"` is actually a game registered in go `err := initializer.RegisterMatch("pingpong", PingPongMatchCreator)` ?

What’s the limit on cross language calls? Is this a bad practice?

(The idea behind this is to have “heavy” code run in go since it should be faster and keep typescript for easier, less critical stuff)

---

<div class="post-metadata">

**Author:** ![sesposito](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.heroiclabs.com/sesposito/32/2594_2.png) [@sesposito](https://forum.heroiclabs.com/u/sesposito)\
**Post date:** [September 26, 2023, 5:23pm UTC](https://forum.heroiclabs.com/t/can-i-mix-backend-languages/4389/2 "2023-09-26T17:23:05Z")

</div>

@elementalcode yes you can and there shouldn’t be an issue with the approach you’re taking, there isn’t a limit, however the JS runtime will usually expend more resources.

Beware of the [runtime.js\_max\_count](https://heroiclabs.com/docs/nakama/getting-started/configuration/#runtime.js_max_count) which sets the max number of JS VM instances, this will improve concurrent performance but use more memory.

Best
