# System.Init(): invalid parameter

**URL:** <https://qa.fmod.com/t/system-init-invalid-parameter/14875>\
**Category:** FMOD Engine\
**Created:** [July 23, 2019, 2:27pm UTC](https://qa.fmod.com/t/system-init-invalid-parameter/14875 "2019-07-23T14:27:53Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bulgroz](https://avatars.discourse-cdn.com/v4/letter/b/a9a28c/32.png) [@Bulgroz](https://qa.fmod.com/u/Bulgroz)\
**Post date:** [July 23, 2019, 2:27pm UTC](https://qa.fmod.com/t/system-init-invalid-parameter/14875/1 "2019-07-23T14:27:53Z")

</div>

Hi,  
I’m still trying to play my first song using FMOD low level API, in a Unity behaviour.

Here is my code:

> FMOD.System system = new FMOD.System();  
> var o = system.init(1, FMOD.INITFLAGS.NORMAL, new System.IntPtr(0));

Init() returns ERR\_INVALID\_PARAM.  
Any idea of what I could have done wrong here? :\

Thanks,

Sylvain.

---

<div class="post-metadata">

**Author:** ![Bulgroz](https://avatars.discourse-cdn.com/v4/letter/b/a9a28c/32.png) [@Bulgroz](https://qa.fmod.com/u/Bulgroz)\
**Post date:** [July 23, 2019, 2:29pm UTC](https://qa.fmod.com/t/system-init-invalid-parameter/14875/2 "2019-07-23T14:29:39Z")

</div>

Note: it’s a blank Unity project, where I did import fmodstudio11014\_v2.unitypackage, and then attached the behaviour (code as above) to the camera…

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [July 30, 2019, 7:13am UTC](https://qa.fmod.com/t/system-init-invalid-parameter/14875/3 "2019-07-30T07:13:08Z")

</div>

You need to use [FMOD.Factory.System\_Create](https://fmod.com/resources/documentation-api?version=2.0&page=core-api-system.html#system_create) to first create a Core System before initializing it.

You can find more about this in the [FMOD Core API Initialization](https://fmod.com/resources/documentation-api?version=2.0&page=white-papers-getting-started.html#fmod-core-api-initialization-do-not-use-this-if-using-fmod-studio-api-initialization) section of the docs.

---

<div class="post-metadata">

**Author:** ![Bulgroz](https://avatars.discourse-cdn.com/v4/letter/b/a9a28c/32.png) [@Bulgroz](https://qa.fmod.com/u/Bulgroz)\
**Post date:** [July 30, 2019, 12:18pm UTC](https://qa.fmod.com/t/system-init-invalid-parameter/14875/4 "2019-07-30T12:18:38Z")

</div>

Thanks for your answer…  
Isn’t the “new FMOD.System()” I did the C# equivalent of FMOD.Factory.System\_Create in C++?

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [July 30, 2019, 11:25pm UTC](https://qa.fmod.com/t/system-init-invalid-parameter/14875/5 "2019-07-30T23:25:11Z")

</div>

`FMOD.System` is a struct that just contains a handle and functions, this can be found in the fmod.cs wrapper, whereas `FMOD.Factory.System_Create` calls into FMOD to actually create a system.
