Tag Archives: Unity3D

Debugowanie gry w Unity3D z MonoDevelop\Game Debugging in Unity3D with MonoDevelop

Debugowanie gry w Unity3D z MonoDevelop\Game Debugging in Unity3D with MonoDevelop

In Polish:

1/ Uruchomione Unity3D i MonoDevelop

2/wstawienie pułapek (breakpoints) do kodu w MonoDevelop, w miejscu, gdzie podejrzewamy buga

3/ MonoDevelop: Run -> Attach to Process

4/ Pojawia się okno wyboru procesów do dodania

5/ Klikamy proces naszego Unity3D -> Attach

6/ Teraz Unity debugger jest dołączony do MonoDevelop

7/ Klikamy Play w Unity3D

8/ Kiedy dojdzie wykonanie programu gry do pułapki, następuje przerwanie gry (w pułapce strzałka)

9/ Teraz możemy stosować step over, step into i step out

In English:

1/ Start Unity3D and MonoDevelop

2/Insert breakpoints you want

3/ MonoDevelop: Run -> Attach to Process

4/ We see the window with processes to add

5/ Click the process for Unity3D -> Attach

6/ Now Unity Debugger is attached to MonoDevelop

7/ Click Play in Unity3D

8/ When the game runs a breakpoint, the game is paused (you can see an arrow in the breakpoint)

9/ Now you can use step over, step into and step out just like in other IDEs

Unity3D Web Player and Other Windows Plugins under Linux Browsers – Pipelight Project

Unity3D Web Player and Other Windows Plugins under Linux Browsers – Pipelight Project

Warning: When you see an option with –, please remember that it’s two hyphens (- and -), but WordPress makes them to be one dash! For example, –update.

Remember: When you are installing Pipelight, your browser should be closed. If not, you will have serious troubles with running the plugins. If you have still errors, just close your browser and install Pipelight again.

I could run Unity3D on Linux, but there’s a problem with Unity3D Web Player. Pipelight Project seems the best idea as to porting Windows Plugins to Linux browsers. It was started by FDS-Team from Germany.

http://fds-team.de/cms/index.html

Pipeline Project:

http://fds-team.de/cms/pipelight-installation.html

I tried with Unity3D Web Player in the past, but achieved nothing; however, there are people who were able to run it on Linux with use of Pipelight Project. FDS Team helped me, and Unity3D Web Player is running on my browser. You will be successful, too. Just follow the instructions:

Unity3D Web player on Linux

zypper ar –refresh http://download.opensuse.org/repositories/home:/rbos:/pipelight/<openSUSE version>/home:rbos:pipelight.repo

zypper ref

zypper install pipelight

<openSUSE version> – your openSUSE version. Packages are currently available for openSUSE_12.2, openSUSE_12.3 and openSUSE_Tumbleweed. Unfortunately, I use openSuse 13.1. So if you have the same problem, go to the website:

https://build.opensuse.org/package/show/home:rbos:pipelight/pipelight

But before you install the pieplight package, you should have some dependencies installed on your system:

wine-pipelight.ymp

mingw32-libgcc.ymp

You can download them from

http://software.opensuse.org/131/

Just write the package names you search.

Then, install the pipelight package:

pipelight-0.2.4.2-10.1.i586.rpm

from the repo:

https://build.opensuse.org/package/binaries/home:rbos:pipelight/pipelight?repository=openSUSE_13.1

The installation of the Windows plugins takes place when you start your browser the next time. However, you probably will need to install a User Agent Switcher (or User Agent Overrider) for some of the plugins so that they can work at all. In other words, sometimes, you should cheat websites that don’t support browsers installed on Linux. User Agent Switcher and User Agent Overrider can help you to do that. Sometimes, it’s troublesome, so seek information in the Internet.

I use User Agent Switcher for using Unity3D Web Player. User Agent Overrider doesn’t work for me. After having installed this extension in your browser, for Firefox, go to:

Tools -> Default User Agent -> Edit User Agent -> New

Description: Safari 534.55.3 (OS X 10_7_3 Intel)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10

All next lines empty

OK

Refresh the WWW page to use the new user agent and the plugin or just restart the browser. Remember, this user agent work well for Unity3D Web Player; for other Windows plugins, you probably have to change to other. To get more details, go to:

https://answers.launchpad.net/pipelight/+faq/2351

A full user agents list:

http://www.useragentstring.com/pages/useragentstring.php

Ok, so your pipeline is installed and works. You changed user agent to one that is welcome. All should work. Some of the Windows plugins will be installed automatically in your browser. But you have a control over them.

I need to test Unity3D Web Player. But there is a problem – the checksum of Unity3D has recently changed, and you have to update the checksums first:

poganin@linux-7tpy:~> sudo pipelight-plugin –update

Now, clear the plugin cache of your browser to be sure you will have no previous errors:

poganin@linux-7tpy:~> sudo pipelight-plugin –create-mozilla-plugins

Now, you are ready to install Unity3D Web Player plugin. Remember, you have to restart the browser to make the plugin work after enabling and to make the plugin clear out  after disabling.

To enable one of the plugins, run:

pipelight-plugin –enable the_plugin_name

for example:

poganin@linux-7tpy:~> sudo pipelight-plugin –enable unity3d

root’s password:

The following modules require a license confirmation before they can be enabled:

[*] Unity Web Player

By continuing the installation you agree that you’ve read and accepted the Web Player License Agreement:

http://unity3d.com/company/legal/webplayer-eula

To find out more click here:

http://unity3d.com/unity

Do you accept the 1 license(s) above? [Y/N] y

Plugin unity3d is now enabled

poganin@linux-7tpy:~>

To disable one of the plugins, run:

pipelight-plugin –disable the_plugin_name

for example:

poganin@linux-7tpy:~> sudo pipelight-plugin –disable unity3d

root’s password:

Plugin unity3d is now disabled

poganin@linux-7tpy:~>

More info at:

http://fds-team.de/cms/pipelight-installation.html#section_2

I hope you will be successful. Just try it out.

For people who use Pipelight (unity3D plugin) – Unity3D Web Player is often updated, and its checksum is changed. That’s why, you need to run a few commands every time. It’s really irritating. So I wrote the script. Copy it and paste to a new text file. Call it Pieplight. This file should be placed in your bin directory so that it can be on PATH. After Unity3D having updated, just run Pipelight in your console. All these commands will run, and Unity3D Web Player will be updated and running.

    #!/bin/bash

    #FDS-Team: Pipelight Project
    #Tomasz Zackiewicz, Pipelight.sh

    #update the checksum of Unity3D Web Player
    sudo pipelight-plugin --update
    #clear the plugin cache for Firefox
    sudo pipelight-plugin --create-mozilla-plugins
    #enabling Unity3D Web Player
    sudo pipelight-plugin --enable unity3d

It’s for Firefox; for other browsers, you probably shouldn’t use this command:

sudo pipelight-plugin –create-mozilla-plugins

Enjoy Unity3D games!

W czym Linux jest lepszy od Windowsa?

W czym Linux jest lepszy od Windowsa?

Wiele jest artykułów na ten temat w Internecie, a wojna między linuksiarzami i windowsiarzami trwa i jest dotąd nierozstrzygnięta na korzyść jednej ze stron. Chciałbym, aby i mój głos był słyszalny w tym sporze. W końcu jestem użytkownikiem obu rodzin systemów od wielu lat i znam sferę IT doskonale. To daje mi prawo do sądów, które powinny być uznane za obiektywne przez czytelników tego artykułu.

Faktem jest, że dominuje na rynku Windows wśród desktopów, czyli sprzętu, który stoi na naszych biurkach w firmie i domu. I to Linux nie jest w stanie zmienić, chociaż bezsprzecznie dominuje wśród serwerów, mainframów, czy superkomputerów, a nawet urządzeń mobilnych. W sumie taki podział rynku mógł być zaakceptowany przez zwolenników Windowsa i Linuksa. I chociaż żadna ze stron nie porzuciła marzeń o dobiciu konkurencji, to jednak utrzymywało się formalne status quo. Do czasu!

Taki stan rzeczy nie mógł długo się utrzymać. W czasie status quo obie strony “zbroiły się”, a więc to była swoista cisza przed burzą. I tak ostatnio mieliśmy Windows 8 jako atak na pozycje urządzeń mobilnych ze słynnymi kafelkami oraz powstał projekt Ubuntu jako Linuxa, który ma być alternatywą dla desktopów. Obie inicjatywy nie udały się w stu procentach. Ani “kafelki” się nie przyjęły, a wręcz zostały zaatakowane przez masę użytkowników jako najgłupsza rzecz, jaka wyszła ze stajni Microsoft. Tak samo Ubuntu, mimo dużej popularności, został skrytykowanych przez bogów Open Source i GNU/Linuxa za to, że przestał być prawdziwym Linuxem.

Niby nic się nie zmieniło, bo podobne próby podejmowano od lat, aby zawojować rynek konkurencji, a jednak dużo się stało. To pokazało słabe strony tych systemów operacyjnych. Windows nie przyjął się w urządzeniach mobilnych, a Ubuntu w desktopach. W rezultacie Windows 8.2 skłania się do powrotu klasycznego menu z przyciskiem Start i Ubuntu traci na popularności na rzecz prawdziwych Linuxów, które mają błogosławieństwo bogów świata wolnego oprogramowania.

To pokazuje, że rzeczywiście przyzwyczajenie jest drugą naturą człowieka. Mimo nielicznych pozytywnych opinii o “kafelkach”, wypada zostawić przycisk Start, który jest powszechny w prawie wszystkich systemach operacyjnych. “Kafelki” powinny być w urządzeniach mobilnych, a więc powinny być oddzielne wersje dla desktopa i mobile. Desktop powinien mieć przycisk Start, bo nikt nie będzie macał paluchami ekran monitora. Trudne to fizycznie i niehigieniczne, a poza tym taki sprzęt jest kosztowny. Wystarczy to, co się nań napluje i co narobią muchy, plus kurz. Tłuste plamy po paluchach to za wiele. No a Ubuntu powinien wrócić do źródeł Linuxa, bowiem może być tak, że linuksiarze go wyklną i windowsiarze nim się nie zainteresują. A to oznacza śmierć całego projektu.

Używałem XP (Home i Pro) przez wiele, wiele lat. To był dobry system i rzeczywiście to był milowy skok dla Microsoftu. Ciągle jest używany i myślę, że przez wielu będzie nadal stosowany, mimo zapowiadanego końca wsparcia w kwietniu 2014 roku. Również siła przyzwyczajeń. Przycisk Start, ładny niebieski kolor i wiele innych zalet, które w praktyce nie są aż takie ważne dla użytkownika, ale cieszą oko. No właśnie i tu dochodzimy do sedna sprawy.

Aby system operacyjny osiągnął sukces, musi spełniać pewne kryteria. Jakieś osiemdziesiąt procent użytkowników systemów to, przepraszam za wyrażenie, idioci i lenie. Dosadne, ale prawdziwe. Taki punkt odniesienia powinni założyć ci, co mają wpływ na rozwój systemu operacyjnego. Te wszystkie wrzaski windowsiarzy, że Linux jest taki trudny. Nic nie można zainstalować, wszystkiego trzeba długo szukać w internecie i już nawet gdy to coś się znajdzie, to i tak brak jakieś biblioteki w systemie. Prawda, Linux jest trudniejszy niż Windows. Ale tylko dlatego, że ma nieco inną filozofię, architekturę i inne rzeczy niż produkt giganta z Redmont. Inny tak naprawdę nie oznacza gorszy, czy tym bardziej trudny. A ta cała “trudność” Linuxa to po prostu brak przyzwyczajenia. I taki windowsiarz lamentuje i płacze zamiast ruszyć główką, czasem trochę poczytać w necie. Naprawdę Linux dokonał wręcz “cywilizacyjnego” skoku od magicznego czarnego okienka. Z racji pracy (darmowej!) zapaleńców na całym świecie Linux nie stoi w miejscu. Dlatego oczekujcie kolejnych “cywilizacyjnych” skoków, które sprawią, że pingwinki szybko prześcigną rozwiązania konkurencji. Zwłaszcza widoczne są wielkie postępy w grafice. Tymczasem Windows to filozofia mniej za więcej, czyli mniej softu za większą kasę, jakby ktoś nie wiedział. Podstawową zasadą są zyski. Myśleli, że zarobią na “kafelkach”, a tu… lipa! Dlatego w panice zaczęto rozważania do powrotu menu Start. Nie oszukujmy się, Windows 8 się nie sprzedaje, jakby tego w Microsoft chcieli. Ciągle rynek jest trzymany przez XP. No i oczywiście Windows 7, który jest godnym następcą słynnego xpeka. Jednak ciągle ma wady typowe dla rodziny Windows. W końcu to nieco unowocześniony XP, architektura podobna, tylko interfejs graficzny ulega zmianie. Bo w końcu grafika w systemie jest dla przeciętnego użytkownika najważniejsza. Taki ktoś nie myśli o bezpieczeństwie systemu czy jego stabilności.

Bezpieczeństwo zawsze było piętą achillesową okienek. To jest wręcz banał, klepany od lat. Każdy o tym wie. A może nie każdy? I niewiele się tu zmienia. Zrobiono sporo, ale ciągle sprawa bezpieczeństwa Windows pozostawia wiele do życzenia. I nie chodzi tu o jakieś durne wyskakujące okienka z potwierdzaniem każdej czynności w systemie – to jest wręcz irytujące. Tu chodzi o odporność całego systemu na ataki, a to sprawa architektury systemu. I tu jest nadal źle. Serfowanie po internecie z Windowsem to spore ryzyko. Dlatego mądrzy ludzie używają do tego Linuxa. System ten ma dużą odporność na malware, bo ma inną architekturę wynikającą z długich doświadczeń UNIXa. Nie jest bezpieczny w stu procentach, bowiem to właśnie sam użytkownik jest najsłabszym ogniwem. Na głupotę tego ostatniego trudno poradzić. Faktem jest, że ponad 90% malware pisanych jest na Windows. Wpływ na to mają takie czynniki jak:

– popularność systemu

– znienawidzenie polityki Microsoft przez większość szanujących się hakerów

– niska odporność systemu na ataki

Popularność Windowsa to istotny czynnik mający wpływ na tworzenie wirusów. Zrobię sobie trojana. I tak w końcu trafi na źle zabezpieczone komputery. W końcu mamy miliony systemów Windows i iluś tam właścicieli zawsze okaże się naiwniakami. Linuksowych desktopów jest dużo mniej i dlatego trudniej trafić ofiarę.

Kto lubi Microsoft? Chyba tylko ci, co tam pracują. A i tam pojawiają się głosy krytyczne. Część użytkowników lubi, bowiem ta część ma radochę z fajnego systemiku, ale nic nie wie o polityce giganta z Redmont. Windows robił, robi i prawdopodobnie będzie robić wszystko, aby zdobyć monopol na świecie i dyktować ceny softu. Wszelkie działania zmierzają do tego, aby być niekompatybilnym z czymkolwiek. Nakładane są ogromne kary finansowe, ale to za bardzo nie zraża Microsoftu. Utrudniają współpracę i robią to iście po chamsku. Przypomina mi się tu słynna sprawa z Sambą i współdzieleniem plików i drukarek. Na tym cierpi użytkownik, czyli TY, a pewnie nie jesteś tego świadom. Wolność wyboru jest podstawowym prawem człowieka, a ci z Redmont chcą ten wybór nam odebrać. Nieładnie!

Każdy, kto używa okienek, wie, że Windows bez antywirusa nie powinien być podpinany do internetu. To tylko podstawowa ochrona, a skuteczność jej nie jest zadowalająca. Ja na moim XP miał kilkadziesiąt różnych programów, które dbały o bezpieczeństwo systemu. Dzięki temu miałem bezpieczne środowisko pracy. I to zawsze coś wlazło w system. Raz miałem słynnego trojana udającego policję i wcale nie byłem na stronie porno. Ale to podobno wina dziurawej Javy. Nie ważne, istotne jest, że mnóstwo czasu spędzałem skanując komputer i badając ruch sieciowy. Strata czasu!

Są  jednak i tacy, co mają ambicje napisać coś niedobrego na Linuksa. Naprawdę podziwiam ich umiejętności, bowiem muszą być nieprzeciętne. Są także odważni, gdyż:

– stosunkowo niewielka popularność systemu

– ukochane dziecko hakerów, dopieszczone do granic fizycznych możliwości

– wysoka odporność na ataki

Mimo wielu zalet i niewielu wad, Linux nie jest zbyt popularny jako system desktopowy i nieprędko będzie w obliczu nieuczciwych praktyk Microsoftu (np. sprzedawanie komputerów razem s systemem). Niektórzy wręcz twierdzą, że w ogóle nie będzie, ale ja z tym się nie zgadzam. Spodziewam się, że Linux w końcu na tyle dojrzeje, iż zaspokoi tych najbardziej wymagających. Póki co, celów do trafienia jest więc niewiele. Liczbę aktywnych Linuksów można sprawdzić na ciekawej stronce: http://linuxcounter.net/. Z moich obserwacji i doświadczenia wynika, iż desktopowych systemów operacyjnych bazujących na technologii UNIX jest w użyciu od 20 do 30%. Większość z nich jest jednak używana równocześnie z Windows.

Zwykle to krakerzy, czyli ta gorsza część hakerów, pisze wirusy po to, aby komuś zaszkodzić. Trzeba powiedzieć jasno: to przestępcy. Mają takie umiejętności. Jednak dla nich Linux to świętość, bowiem często sami go współtworzą. Niewielu renegatów ośmiela się podnieść rękę na ten system. Poza tym reszta hakerów, tych dobrych, wie jak zabezpieczyć system, aby ci źli niewiele mogli zdziałać. Jak w strategii wojennej, środki obrony zdecydowanie przeważają nad środkami ataku. Na szczęście. Dla użytkownika oczywiście.

I stąd właśnie wynika ta słynna odporność Linuksa na ataki krakerów. Admini wiedzą, że nawet zainfekowany Linux daje się używać. Nikt jednak nie powiedział, że można spać spokojnie, bowiem nie ma siły na Linuksa. Czasami urodzi się geniusz albo głupi użytkownik i zdarzy się skuteczny atak. Bardzo rzadko, nie każdego dnia jak pod Windowsem. Generalnie wirusy są niegroźne na Linuksa. Tak samo robaki czy trojany. Jednak taki Linux może zainfekować Windowsy w sieci. Co do samego Linuksa, to dosyć groźne są botnety. Tutaj zalety Linuksa mogą okazać się jego wadami, gdyż pingwinek doskonale nadaje się do bycia groźnym zombie. Na szczęście mamy wiele poziomów bezpieczeństwa w Linuksie i przejście ich jest dosyć trudne dla intruza. Ale niestety możliwe. Wystarczy zachować zdrowy rozsądek i używać dobrego hasła do roota. O odporności pingwinka na ataki niech świadczy to, iż przytłaczająca większość serwerów chodzi na Linuksie. Admini i projektanci sieci komputerowych po prostu wiedzą, co dobre. Nawet podobno Microsoft używa do tego Linuksa…

Inną ważną kwestią jest to, że kod Windowsa jest zamknięty. My nie wiemy, co tam jest zawarte. Wiele gigabajtów kodu, a tak niewiele użytecznego softu w systemie. Nie zastanawiało Was to? Po co, do cholery? Ano po to, aby zainstalować tam parę “fajnych” rzeczy, przed którymi rozsądny człowiek się broni. Szpiegostwo! Mówi Wam to coś? Nie od dziś wiadomo, że Microsoft ma układy z agencjami wywiadowczymi USA. To nie mit. Windows na każdym komputerze w każdym kraju i w każdej rodzinie. Grzech tego nie wykorzystać. Użytkownicy Windows dostarczają mnóstwa pożytecznych informacji dla FBI, CIA, NSA i innym potworkom. Nie każdy jest terrorystą, ale do licha ich to nie obchodzi. Chcecie ujawniać wszystko to, co robicie w wirtualnym świecie? Już fejsbuk jest wystarczającą kopalnią wiadomości o Was i Waszym życiu. Na pewno nie będzie przesady jak powiem, że głównym celem giganta z Redmont jest szpiegowanie, a nie dostarczenie dobrego oprogramowania. Płacicie za system i w nagrodę macie wszechstronnego trojana. To samo dotyczy Maca. No i chyba Ubuntu. Tylko Open Source daje dużą gwarancję, że nie będziecie szpiegowani. Kod w prawdziwym Linuksie powinien być otwarty. Każdy może zajrzeć do środka, aby sprawdzić, co instaluje na komputer. Społeczność wspierająca Linuksa kontroluje sama siebie. Tu nie ma miejsca na jakieś nieczyste zagrywki. I dlatego ta idea się sprawdza.

Windowsiarze argumentują, że na Linuksa nie ma tyle oprogramowania, co na Windowsa. W pewnym sensie jest to prawda, ale na Maca jest jeszcze mniej i są tacy, co płacą słono za ten system. Chyba tylko dla szpanu, bowiem Mac to nie żadna rewelacja. To po prostu przerobiony UNIX. Tak, OS X, którego używasz, jest pokrewny Linuksowi. To nie jest Linux, ale mają wspólnego zacnego przodka. A skoro tak, to dlaczego nie wybrać darmowego Linuksa? Oprogramowanie? Są tysiące pakietów dla Linuksa i liczba ich rośnie. Każdy sobie coś znajdzie. Nawet sam system tuż po zainstalowaniu zawiera mnóstwo pożytecznego softu. 90 czy nawet 100% tego, czego potrzebujesz i wymagasz od nowoczesnego systemu. W porównaniu do tego Windows po zainstalowaniu jest “goły”, nawet w wersji Ultimate. To, że czegoś na Linuksa nie ma, to nie wina samego Linuksa. To firma, która nie produkuje wersji na Linuksa, ponosi za to pełną odpowiedzialność. Dobrym tego przykładem jest Unity3D. Mnóstwo ludzi prosi o edytor na pingwina. I jak dotąd prośby nie odnoszą skutku. Czyni tak wiele firm. Czyżby byli przekupieni przez Microsoft?

Nie trafia do mnie tłumaczenie, że zbyt mało jest użytkowników Linuksa. Wszelkie dane na ten temat podawane w internecie są mało wiarygodne. Trudno jest policzyć użytkowników Linuksa. Jednak, jak już pisałem, z moich obserwacji i doświadczeń wynika, że ok. 20-30%. Część z tych ludzi używa i Windowsa, i Linuksa. I to jest rozsądne wyjście. Rzeczywiście Windows w pewnych dziedzinach jest po prostu lepszy. Jeszcze lepszy, bo kto wie, co będzie jutro. Branża IT rozwija się błyskawicznie, a w tym dystrybucje Linuksa. Widać to po częstych aktualizacjach systemu. Ciągle pracują nad ulepszeniami. Dobrym tego przykładem jest openSuse.

Z tą dystrybucją mam do czynienia od lat i właściwie byłem jej wierny przez ten czas. Eksperymentowałem trochę z innymi pingwinkami, ale jednak openSuse jakoś jest najbardziej przekonywający. Być może i są lepsze Linuksy, jednak ten system ma wiele zalet, które cenię. I tutaj z wersji 12.2 przeskoczyłem do 13.1. Zostałem pozytywnie zaskoczony. Zachowano niezawodność i stabilność dawnego suska i dodano wspaniałą grafikę, w tym tą 3D. Istotnie, kiedyś openSuse odstawał graficznie od Windowsa, ale teraz wraz z dystrybucją 13.1 wszystko się zmieniło. Dzisiaj Linux to nie tylko czarne okienko straszące windowsiarzy, ale też i wspaniała grafika. Niewątpliwie jest to krok w dobrym kierunku, co zostało zapoczątkowane przez Ubuntu. Po prostu postawiono na perfekcyjną grafikę. W ten sposób droga do zdobycia rynku desktopów została otwarta. Bez żalu wywaliłem mojego starego xpeka. Przede mną nowoczesny system, który jest w stanie spełnić oczekiwania najbardziej wymagających windowsiarzy. Problem polega tylko na tym, czy zechcą lekko nagiąć swoje przyzwyczajenia. Pewnie z czasem to nastąpi. Odpływ użytkowników od Windowsa jest możliwy. Jednak Linux musi jeszcze popracować nad pewnymi niedociągnięciami.

Wiele zrobiono, ale ciągle trzeba popracować nad wyszukiwaniem i instalowaniem oprogramowania dla Linuksa. To musi być łatwość zbliżona do tego, co mamy pod Windowsem, aby przyciągnąć nowych użytkowników. Nie może być biegania po internecie, bo ludzie są za leniwi. I wielu ma problemy z licznymi dystrybucjami i tymi numerkami od wersji. Muszą jakoś społeczności linuksowe się porozumieć i nieco ujednolicić cały system oprogramowania, aby każdy pakiet można było zainstalować na każdym Linuksie. To byłby ideał. Bez tego windowsiarze będą wiecznie narzekać.

Linux jest w stanie zastąpić Windows prawie we wszystkim. Prawie, ponieważ jest jedna dziedzina, która ciągle kuleje. Tak, to są gry. Dla mnie to nie jest koniec świata, bowiem nigdy wielkim graczem nie byłem. Jednak wiem, że wielu by chciało widzieć platformę linuksową idealną do gier. To jest bastion Windowsa, niezdobyty, ale pojawiają się pierwsze wyłomy. I tak udało się nam uruchomić Unity3D z Wine i PlayOnLinux. Na openSuse 13.1 działa doskonale (napisałem o tym artykuł na tym blogu). Ale to za mało, czekamy na powstanie prawdziwych silników do tworzenia gier na Linuksa, łatwych do instalacji i w obsłudze, bez kombinowania i bez emulacji. Tutaj mamy przede wszystkim inicjatywę Valve i Steam. Nie będę w to wnikał, zainteresowanych odsyłam do internetu. Na Linuksie mamy wspaniałą akcelerację 3D, a OpenGL jest nawet lepsza niż słynny DirectX. No to, gamedeveloperzy, do dzieła!

I windowsiarze jeszcze powiedzą, że Photoshop i parę innych programików nie działa na Linuksie. To fakt, ale — powtórzę jeszcze raz — brak jakiegoś programu dla Linuksa to nie wina samego Linuksa. Mamy linuksowe zastępniki, czasami lepsze od oryginałów. I darmowe. Dokonał się tu znaczny postęp i ciągle przybywa tego softu. Sprawdzajcie zatem repozytoria. Być może GIMP okaże się dla Was lepszy niż produkt Adobe. Z drugiej jednak strony, ilu ludzi używa tego Photoshopa czy innego programu niedostępnego na Linuksa? Garstka. Czy to może dyskwalifikować Linuksa jako system. Dla jednych pewnie może, ale dla większości to nie jest powód, aby nie poświęcić trochę czasu i trudu i nie zainstalować darmowego, eleganckiego i przyjaznego użytkownikowi Linuksa. Wybór dystrybucji pozostawiam Wam, ponieważ sami najlepiej wiecie, czego Wam trzeba. Macie wybór. To zupełnie inna polityka niż to, co robi Microsoft

Miłego linuksowania,

Tomasz “Tomza” Zackiewicz

Lina IT Technologies

P.S. Wszystkim windowsowym niedowiarkom proponuję openSuse 13.1 ze środowiskiem KDE. To system, który nigdy nie zawodzi i ma największe szanse być prawdziwą konkurencją dla Windowsa na rynku desktopów.

An “ApplicationException: Unable to find a suitable compiler” Error in Unity3D

An “ApplicationException: Unable to find a suitable compiler” Error in Unity3D

When we try to manipulate our assets, we can get the error:

ApplicationException: Unable to find a suitable compiler

UnityEditor.Scripting.ScriptCompilers.CreateCompilerInstance (MonoIsland island, Boolean buildingForEditor, BuildTarget targetPlatform) (at C:/BuildAgent/work/xxxxxxxxxxxxxxxx/Editor/Mono/Scripting/ScriptCompilers.cs:XX)

And you can’t run “Play” button.

Of course, we can use

Assets -> Reimport All

But does it help you every time you run this command? You wait, wait, and wait for the end of importing. And always the same! You see the error.

I got the error too. And I started to search the problem in my assets. And now I know that if you see such an error, just look into your Assets folder in your Unity project. Remember:

No libraries (that are .dll files in Windows) should be in the Assets folder!!!

And you should remove all directories that contain libraries from the Assets folder. It’s the problem that cause this error. All the libraries must be outside this folder. It’s only for assets.

How to Setup Notepad++ for Unity3D on Linux

How to Setup Notepad++ for Unity3D on Linux

As soon as you have Unity3D running on your favorite Linux distribution, it’s high time to install a tool for editing your scripts. MonoDevelop is a default editor for editing code, but I prefer using Notepad ++. If you prefer using MonoDevelop, just download a Windows installer to use it with Wine. In my opinion, using Linux version seems impossible for applying.

To get details how to install Unity3D on Linux, go to the link:

Run Unity3D on Linux with Wine – solved!

1/ Download Notepad++ (npp.6.x.x.Installer.exe)

2/ Open Unity3D Editor

3/ Edit -> Preferences

4/ You see a small window with preferences

5/ Click External Tools -> External Tools Editor -> Search for npp.6.x.x.Installer.exe -> Open -> Close Preferences Window

6/ Nothing happens.

7/ Right click any script in Inspector (Unity3D) -> Edit Script (or in Project window choose right click on the file and choose Open, or click two times on the file you wish to edit)

8/ npp.6.x.x.Installer.exe starts to install Notepad++ on your HDD (You can select the language of installation here)

9/ Install Notepad++ just like on Windows

10/ When you finish, nothing happens

11/ Edit -> Preferences

12/ Click External Tools -> External Tools Editor -> Search for Notepad++ executable icon on your HDD ( you probably can find it at: your_home_directory/wineprefix/Unity3D/drive_c/Program Files/Notepad++/notepad++.exe) -> Open -> Close Preferences Window

13/ Nothing happens

14/ Right click any script in Inspector (Unity3D) -> Edit Script (or in Project window choose right click on the file and choose Open, or click two times on the file you wish to edit)

15/ Your script is opened in Notepad++

That’s all!

Run Unity3D on Linux with Wine – solved!

Run Unity3D on Linux with Wine – solved!

Contents

Disclaimer

Requirements

Introduction

Tested Successfully on Distros

The Script

Tutorial

Unity3D Web Player

WineBrowser Changes

Potential Problems

More info

Remarks

Thanks

Disclaimer

All information herein is presented “as-is”, with no warranties expressed nor implied. If you lost any data or something else, it’s not my fault.

I’m one of the authors of the script. The fifth version was improved by me. This article is about running Unity3D on Linux, so these scripts aren’t for copy&paste, but for reference. That’s why, they aren’t in plain text. To get them, please go to the thread, where the authors placed them. My intention was only presenting how all stuff work, how to handle this software, and propagate knowledge of it. However, I placed the fifth script in plain text, too, because my readers copied the Unicode text and had many problems with running Unity3D and MonoDevelop (go to the Tutorial section to get the script).

Requirements

Linux (openSuse 13.X is the best I think)

Unity3D (the recent version)

Notepad++ (the recent version; optionally; if you can’t run MonoDevelop because of any reasons, you can always use this editor; Notepad++ is simply much faster than MonoDevelop)

MonoDevelop (the one installed with Unity3D)

PlayOnLinux (the recent version)

Wine (the recent version)

Mesa 3D Library (the recent version for 3D rendering)

Intel graphics card (Intel cooperates with Mesa the best; there can be problems with other graphics cards, so maybe not Mesa, but proprietary drivers are better for you – check which graphics card you have first!)

The Script (the recent version should work the best; if not, use the previous version)

other software like Pipelight Project for using Unity3D Web Player under Linux.

Tested Successfully on Distros

openSuse 13.1

Fedora 20

Ubuntu 13.10

Debian Jessie

Introduction

Because there’s no still Unity Editor for Linux, many people are trying to run Unity Editor for Windows on Linux. Yes, Wine is an alternative for you. However, I was trying many ways to run Unity3D on Linux and nothing worked. But I found the thread on Unity Forum:

http://forum.unity3d.com/threads/211059-Unity3D-on-Linux-with-Wine-Support-thread

It was started by Cauê from Brazil. This man did nothing new, but in reality he helped me much. I used Wine and I was able to solve all those problems with running Unity3D. But I had to give up because I couldn’t create a New Project for Unity3D.  All the solutions I found in the Internet sucked.

Cauê wrote a script (you can find it at that link) that automates the process of installing Unity3D with Wine on Linux. And he uses PlayOnLinux to accomplish that. Yes, it’s a good way to be successful with installing Unity3D on Linux.

But the script was still imperfect. We couldn’t create Unity projects; we needed tricks to do that. xplicit-ru and other users did much to fix some problems, but the whole script was improved by Damian-LinuxFan from Poland. And now you can make Unity projects with no problems.

The Script

Below the script evolution (Unicode – don’t copy&paste because you can have problems! For reference only!):

Cauê’s script (the first version):

#!/bin/bash

[ “$PLAYONLINUX” = “” ] && exit 0

source “$PLAYONLINUX/lib/sources”

POL_SetupWindow_Init

POL_SetupWindow_presentation “Unity 3D” “Unity” “http://www.unity3d.com/&#8221; “Cauê Waneck” “Unity3D”

#create prefix

export WINEARCH=”win32″

POL_Wine_SelectPrefix “Unity3D”

POL_Wine_PrefixCreate “1.7.13”

#setup prefix

POL_Wine_InstallFonts

#POL_Call POL_Install_directx9

POL_Call POL_Install_dotnet20

POL_Call POL_Install_tahoma

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry

regfile=$(mktemp –suffix=.REG)

echo “REGEDIT4” > $regfile

echo “” >> $regfile

echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile

echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

#rm $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “Unity Setup Executable”

UNITYLOC=$APP_ANSWER

POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “Unity 3D”

POL_SetupWindow_Close

exit

Damian’s script (the second version):

#!/bin/bash

[ “$PLAYONLINUX” = “” ] && exit 0

source “$PLAYONLINUX/lib/sources”

POL_SetupWindow_Init

POL_SetupWindow_presentation “Unity 3D” “Unity” “http://www.unity3d.com/&#8221; “Unity3D”

#create prefix

export WINEARCH=”win32″

POL_Wine_SelectPrefix “Unity3D”

POL_Wine_PrefixCreate “1.7.13”

#setup prefix

POL_Wine_InstallFonts

#POL_Call POL_Install_directx9

POL_Call POL_Install_dotnet20

POL_Call POL_Install_tahoma

POL_Call POL_Install_vcrun2008

POL_Call POL_Install_vcrun2010

POL_Call POL_Install_mono210

POL_Call POL_Install_d3dx9_36

POL_Call POL_Install_d3dcompiler_43

POL_Call POL_Install_dxdiag

POL_Call POL_Install_dxfullsetup

POL_Call POL_Install_physx

POL_Call POL_Install_corefonts

POL_Call POL_Install_msxml6

POL_Call POL_Install_wininet

POL_Call POL_Install_ie6

#Setting OS wer

Set_OS  “winxp”

#Setting mono forcing in MonoDevelop

POL_Wine_OverrideDLL “native” “mscore”

POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry

regfile=$(mktemp –suffix=.REG)

echo “REGEDIT4” > $regfile

echo “” >> $regfile

echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile

echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

#rm $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “Unity Setup Executable”

UNITYLOC=$APP_ANSWER

POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “Unity 3D”

POL_SetupWindow_Close

exit

However, I was unable to install Internet Explorer 6, and still couldn’t create Unity projects. That’s why, I edited the script slightly:

Instead of

POL_Call POL_Install_ie6

I wrote:

POL_Call POL_Install_ie8

So the script looks in this way (the third version):

#!/bin/bash

[ “$PLAYONLINUX” = “” ] && exit 0

source “$PLAYONLINUX/lib/sources”

POL_SetupWindow_Init

POL_SetupWindow_presentation “Unity 3D” “Unity” “http://www.unity3d.com/&#8221; “Unity3D”

#create prefix

export WINEARCH=”win32″

POL_Wine_SelectPrefix “Unity3D”

POL_Wine_PrefixCreate “1.7.13”

#setup prefix

POL_Wine_InstallFonts

#POL_Call POL_Install_directx9

POL_Call POL_Install_dotnet20

POL_Call POL_Install_tahoma

POL_Call POL_Install_vcrun2008

POL_Call POL_Install_vcrun2010

POL_Call POL_Install_mono210

POL_Call POL_Install_d3dx9_36

POL_Call POL_Install_d3dcompiler_43

POL_Call POL_Install_dxdiag

POL_Call POL_Install_dxfullsetup

POL_Call POL_Install_physx

POL_Call POL_Install_corefonts

POL_Call POL_Install_msxml6

POL_Call POL_Install_wininet

POL_Call POL_Install_ie8

#Setting OS wer

Set_OS  “winxp”

#Setting mono forcing in MonoDevelop

POL_Wine_OverrideDLL “native” “mscore”

POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry

regfile=$(mktemp –suffix=.REG)

echo “REGEDIT4” > $regfile

echo “” >> $regfile

echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile

echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

#rm $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “Unity Setup Executable”

UNITYLOC=$APP_ANSWER

POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “Unity 3D”

POL_SetupWindow_Close

exit

However, we can’t still run MonoDevelop. We need all .NET versions installed.

My script that I wrote with cooperation with Goran Grncaroski (the fourth version):

#!/bin/bash

[ “$PLAYONLINUX” = “” ] && exit 0

source “$PLAYONLINUX/lib/sources”

POL_SetupWindow_Init

POL_SetupWindow_presentation “Unity 3D” “Unity” “http://www.unity3d.com/&#8221; “Unity3D”

#create prefix

export WINEARCH=”win32″

POL_Wine_SelectPrefix “Unity3D”

POL_Wine_PrefixCreate “1.7.13”

#setup prefix

POL_Wine_InstallFonts

#POL_Call POL_Install_directx9

POL_Call POL_Install_dotnet20

POL_Call POL_Install_dotnet35

POL_Call POL_Install_dotnet40

POL_Call POL_Install_tahoma

POL_Call POL_Install_vcrun2008

POL_Call POL_Install_vcrun2010

POL_Call POL_Install_mono210

POL_Call POL_Install_d3dx9_36

POL_Call POL_Install_d3dcompiler_43

POL_Call POL_Install_dxdiag

POL_Call POL_Install_dxfullsetup

POL_Call POL_Install_physx

POL_Call POL_Install_corefonts

POL_Call POL_Install_msxml6

POL_Call POL_Install_wininet

POL_Call POL_Install_ie8

#Setting OS wer

Set_OS  “winxp”

#Setting mono forcing in MonoDevelop

POL_Wine_OverrideDLL “native” “mscore”

POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry

regfile=$(mktemp –suffix=.REG)

echo “REGEDIT4” > $regfile

echo “” >> $regfile

echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile

echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

#rm $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “Unity Setup Executable”

UNITYLOC=$APP_ANSWER

POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “Unity 3D”

POL_SetupWindow_Close

exit

I made the script more professional and adjust it for debugging (the fifth version):

#!/bin/bash

# Date : (2014-03-07 10-21)
# Last revision : (2014-03-07 10-21)
# Wine version used : 1.7.14
# Distribution used to test : OpenSuse 13.1
# Authors : waneck-six, Damian-LinuxFan, Tomza (pogtoma@gmail.com)
# Contributors: Goran Grncaroski (running MonoDevelop), other people (testing solutions)
# Script licence : GPL v.2
# Only For : http://www.playonlinux.com
# Depend :

# Known Issues : You can’t use Asset Store

[ “$PLAYONLINUX” = “” ] && exit 0
source “$PLAYONLINUX/lib/sources”

TITLE=”Unity 3D”
PREFIX=”Unity3D”
WINE_VERSION=”1.7.14″

POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation “$TITLE” “Unity” “http://www.unity3d.com/&#8221; “waneck-six, Damian-LinuxFan, Tomza” “$PREFIX”

#create prefix
export WINEARCH=”win32″
POL_Wine_SelectPrefix “$PREFIX”
POL_Wine_PrefixCreate “$WINE_VERSION”

#setup prefix
POL_Wine_InstallFonts
POL_Call POL_Install_dotnet20
POL_Call POL_Install_dotnet35
POL_Call POL_Install_dotnet40
POL_Call POL_Install_tahoma
POL_Call POL_Install_vcrun2008
POL_Call POL_Install_vcrun2010
POL_Call POL_Install_mono210
POL_Call POL_Install_d3dx9_36
POL_Call POL_Install_d3dcompiler_43
POL_Call POL_Install_dxdiag
POL_Call POL_Install_dxfullsetup
POL_Call POL_Install_physx
POL_Call POL_Install_corefonts
POL_Call POL_Install_msxml6
POL_Call POL_Install_wininet
POL_Call POL_Install_ie8

#Setting OS wer
Set_OS  “winxp” “sp3”

#Setting mono forcing in MonoDevelop
POL_Wine_OverrideDLL “native” “mscore”
POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry
regfile=$(mktemp –suffix=.REG)
echo “REGEDIT4” > $regfile
echo “” >> $regfile
echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile
echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “$TITLE”

UNITYLOC=$APP_ANSWER
POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “$TITLE”

POL_SetupWindow_Close
exit

The previous script isn’t still perfect, and Unity3D and MonoDevelop crash sometimes, especially when you start it for the first time.

gnumaru add two lines:

POL_Call POL_Install_directx9
POL_Wine_OverrideDLL “builtin, native” “dnsapi”

This script hasn’t been tested by me yet. But you can test it and share results:

gnumaru’s version (the sixth version):

#!/bin/bash

# Date : (2014-03-07 10-21)
# Last revision : (2014-03-14 10-35)
# Wine version used : 1.7.14
# Distribution used to test : Ubuntu 13.10
# Authors : waneck-six, Damian-LinuxFan, Tomza (pogtoma@gmail.com), gnumaru
# Contributors: Goran Grncaroski (running MonoDevelop), other people (testing solutions)
# Script licence : GPL v.2
# Only For : http://www.playonlinux.com
# Depend :

# Known Issues : Asset Store window does not work at all

[ “$PLAYONLINUX” = “” ] && exit 0
source “$PLAYONLINUX/lib/sources”

TITLE=”Unity 3D”
PREFIX=”Unity3D”
WINE_VERSION=”1.7.14″

POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation “$TITLE” “Unity” “http://www.unity3d.com/&#8221; “waneck-six, Damian-LinuxFan, Tomza, gnumaru” “$PREFIX”

#create prefix
export WINEARCH=”win32″
POL_Wine_SelectPrefix “$PREFIX”
POL_Wine_PrefixCreate “$WINE_VERSION”

#setup prefix
POL_Wine_InstallFonts
POL_Call POL_Install_directx9
POL_Call POL_Install_dotnet20
POL_Call POL_Install_dotnet35
POL_Call POL_Install_dotnet40
POL_Call POL_Install_tahoma
POL_Call POL_Install_vcrun2008
POL_Call POL_Install_vcrun2010
POL_Call POL_Install_mono210
POL_Call POL_Install_d3dx9_36
POL_Call POL_Install_d3dcompiler_43
POL_Call POL_Install_dxdiag
POL_Call POL_Install_dxfullsetup
POL_Call POL_Install_physx
POL_Call POL_Install_corefonts
POL_Call POL_Install_msxml6
POL_Call POL_Install_wininet
POL_Call POL_Install_ie8

#Setting OS wer
Set_OS “winxp” “sp3”

#Setting mono forcing in MonoDevelop
POL_Wine_OverrideDLL “native, builtin” “mscore”
POL_Wine_OverrideDLL “builtin, native” “dnsapi”
POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry
regfile=$(mktemp –suffix=.REG)
echo “REGEDIT4” > $regfile
echo “” >> $regfile
echo “[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion]” >> $regfile
echo ‘”ProductId”=”12345-oem-0000001-54321″‘ >> $regfile

POL_Wine regedit $regfile

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “$TITLE”

UNITYLOC=$APP_ANSWER
POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “$TITLE”

POL_SetupWindow_Close
exit

There’s some improvement as to the script made by Doctor Jellyface. He fixed the registry.

This version is untested by me! If it doesn’t work, just use the previous version of the script.

Doctor Jellyface’s version (the seventh version):

#!/bin/bash

# Date : (2014-03-07 10-21)
# Last revision : (2014-03-07 10-21)
# Wine version used : 1.7.14
# Distribution used to test : OpenSuse 13.1
# Authors : waneck-six, Damian-LinuxFan, Tomza (pogtoma@gmail.com), gnumaru, Doctor Jellyface (doctorjellyface@riseup.net)
# Contributors: Goran Grncaroski (running MonoDevelop), other people (testing solutions)
# Script licence : GPL v.2
# Only For : http://www.playonlinux.com
# Depend :

# Known Issues : You can’t use Asset Store

[ “$PLAYONLINUX” = “” ] exit 0
source “$PLAYONLINUX/lib/sources”

TITLE=”Unity 3D”
PREFIX=”Unity3D”
WINE_VERSION=”1.7.14″

POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation “$TITLE” “Unity” “http://www.unity3d.com/&#8221; “waneck-six, Damian-LinuxFan, Tomza, gnumaru, DoctorJellyface” “$PREFIX”

#create prefix
export WINEARCH=”win32″
POL_Wine_SelectPrefix “$PREFIX”
POL_Wine_PrefixCreate “$WINE_VERSION”

#setup prefix
POL_Wine_InstallFonts
POL_Call POL_Install_directx9
POL_Call POL_Install_dotnet20
POL_Call POL_Install_dotnet35
POL_Call POL_Install_dotnet40
POL_Call POL_Install_tahoma
POL_Call POL_Install_vcrun2008
POL_Call POL_Install_vcrun2010
POL_Call POL_Install_mono210
POL_Call POL_Install_d3dx9_36
POL_Call POL_Install_d3dcompiler_43
POL_Call POL_Install_dxdiag
POL_Call POL_Install_dxfullsetup
POL_Call POL_Install_physx
POL_Call POL_Install_corefonts
POL_Call POL_Install_msxml6
POL_Call POL_Install_wininet
POL_Call POL_Install_ie8

#Setting OS wer
Set_OS “winxp” “sp3”

#Setting mono forcing in MonoDevelop
POL_Wine_OverrideDLL “native, builtin” “mscore”
POL_Wine_OverrideDLL “builtin, native” “dnsapi”
POL_Wine_OverrideDLL “” “mscorsvw.exe”

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry
POL_Wine reg add “HKLM\Software\Microsoft\Windows NT\CurrentVersion” /v ProductId /t REG_SZ /d 12345-oem-0000001-54321

POL_SetupWindow_browse “Please select the location of the Unity3D setup executable” “$TITLE”

UNITYLOC=$APP_ANSWER
POL_Wine $UNITYLOC

POL_Shortcut “Unity.exe” “$TITLE”

POL_SetupWindow_Close
exit

Tutorial

To help you run Unity3D on Linux, I prepared 20-steps tutorial for you how to install Unity3D on Linux:

1. Download Unity3D

2. Download and install PlayOnLinux (Warning: you probably should install cabextract and python-wxWidgets first to run PlayOnLinux on your computer)

3. Start PlayOnLinux

When you run PlayOnLinux for the first time, you will get PlayOnLinux Wizard (PlayOnLinux first use):

a/ The first warning

PlayOnLinux cannot find wine (from Wine)

You should install it to use PlayOnLinux

Click OK

b/ The second warning

PlayOnLinux cannot find 7z (from P7ZIP full)

You should install it to use PlayOnLinux

Click OK

c/ Windows Fonts useful for all programs you will run on PlayOnLinux

Install Windows fonts

Click Next

d/ When all is ready

You should see:

Enjoy using PlayOnLinux

Some of these warnings you can see later, too.

4. Tools->Manage Wine Versions

5. Choose the recent Wine version (Warning: remember that the newest Wine can be unstable (Wine 1.6.2 is stable), but, at the same time, some bugs can be fixed in the recent version, and that’s why it can be the best way to go for you; fortunately, you can choose the Wine version in PlayOnLinux you like; the recent version is recommended for running Unity3D because of 3D improvements)

6. Click an arrow to install your version of Wine

a/ installing some software

When you run PlayOnLinux for the first time, you will some software being installed automatically by PlayOnLinux

7. Tools -> Run a local script

8. Choose the script that was made for automating the installation process of Unity3D. (You should have it on your disk in plain text – unity.pol. You can call it as you want, but the .pol extension should be kept so that PlayOnLinux can recognize it as its script.

The seventh version of the script should work the best for you. Thanks to it, you can use the built in MonoDevelop for creating and editing scripts for Unity3D under Linux.

Warning: If you copy&paste the scripts above from my article, please be careful. It’s Unicode, not plain text. You should go to the thread to get them. However, because you are lazy, I placed the seventh script in plain text here. I hope it will be working for you with no any problems. Just copy&paste and enjoy Unity3D and MonoDevelop on Linux :).

unity.pol

By Cauê Waneck (waneck-six), Damian Kucharski (Damian-LinuxFan), Tomasz Zackiewicz (Tomza), gnumaru and Doctor Jellyface

the seventh version of the script in plain text


#!/bin/bash

# Date : (2014-03-07 10-21)
# Last revision : (2014-03-07 10-21)
# Wine version used : 1.7.14
# Distribution used to test : OpenSuse 13.1
# Authors : waneck-six, Damian-LinuxFan, Tomza (pogtoma@gmail.com), gnumaru, Doctor Jellyface (doctorjellyface@riseup.net)
# Contributors: Goran Grncaroski (running MonoDevelop), other people (testing solutions)
# Script licence : GPL v.2
# Only For : http://www.playonlinux.com
# Depend :

# Known Issues : You can't use Asset Store

[ "$PLAYONLINUX" = "" ] exit 0
source "$PLAYONLINUX/lib/sources"

TITLE="Unity 3D"
PREFIX="Unity3D"
WINE_VERSION="1.7.14"

POL_SetupWindow_Init
POL_Debug_Init

POL_SetupWindow_presentation "$TITLE" "Unity" "http://www.unity3d.com/" "waneck-six, Damian-LinuxFan, Tomza, gnumaru, DoctorJellyface" "$PREFIX"

#create prefix
export WINEARCH="win32"
POL_Wine_SelectPrefix "$PREFIX"
POL_Wine_PrefixCreate "$WINE_VERSION"

#setup prefix
POL_Wine_InstallFonts
POL_Call POL_Install_directx9
POL_Call POL_Install_dotnet20
POL_Call POL_Install_dotnet35
POL_Call POL_Install_dotnet40
POL_Call POL_Install_tahoma
POL_Call POL_Install_vcrun2008
POL_Call POL_Install_vcrun2010
POL_Call POL_Install_mono210
POL_Call POL_Install_d3dx9_36
POL_Call POL_Install_d3dcompiler_43
POL_Call POL_Install_dxdiag
POL_Call POL_Install_dxfullsetup
POL_Call POL_Install_physx
POL_Call POL_Install_corefonts
POL_Call POL_Install_msxml6
POL_Call POL_Install_wininet
POL_Call POL_Install_ie8

#Setting OS wer
Set_OS "winxp" "sp3"

#Setting mono forcing in MonoDevelop
POL_Wine_OverrideDLL “native, builtin” “mscore”
POL_Wine_OverrideDLL “builtin, native” “dnsapi”
POL_Wine_OverrideDLL "" "mscorsvw.exe"

mkdir -p $WINEPREFIX/drive_c/users/$USER/AppData/LocalLow

#registry
POL_Wine reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v ProductId /t REG_SZ /d 12345-oem-0000001-54321

POL_SetupWindow_browse "Please select the location of the Unity3D setup executable" "$TITLE"

UNITYLOC=$APP_ANSWER
POL_Wine $UNITYLOC

POL_Shortcut "Unity.exe" "$TITLE"

POL_SetupWindow_Close
exit

 

Note: it’s good to edit the script to change to the recent Wine version before installing all software

POL_Wine_PrefixCreate “Your.Version.Number”

for example, my version is Wine 1.7.20, so I should write in the script:

POL_Wine_PrefixCreate “1.7.20”

That’s all.

You will see the warning that the signature of the script isn’t valid. Ignore it!

Next

You will be able to review your script and check if its content is OK before running. If OK, check I agree

Next

You will see:

Welcome to PlayOnLinux installation Wizard

Next

The script is running

a virtual drive is being created first – it will be the place where your whole installation will be placed.

a/ The environment for the virtual disk

When you run PlayOnLinux for the first time, some software can be installed

9. The installation is going – it isn’t too easy and you can even see some errors because you probably will be forced to install some additional software in your operating system.

After our tests, we know that to run Unity3D and MonoDevelop with no problems, we need all .NET versions installed in Wine. They all will be added automatically by the script, so no worries.

I have no idea of what exactly you should install – it depends on the system you have. For example, I had to install python-wxWidgets (and maybe wxPython).  To get more details, read my article:

An “import wxversion” error when installing PlayOnLinux

10. PlayOnLinux is installing the components it needs for Unity3D and MonoDevelop working on Wine. The list of their names is included in the script you are using. They are really important, so wait to the end of the installation patiently.

11. When the script in PlayOnLinux installs up all the components in Wine, find the Unity3D setup executable on your disk through the PlayOnLinux window.

12. Install Unity3D with using PlayOnLinux (just like under Windows).

13. Follow the instructions you see during the Unity3D installation. Among others, you need NET Framework 4.0 Extended. All will be installed automatically. Do not worry about errors too much if any – maybe they aren’t so important (PlayOnLinux is buggy, though the 4.2.2 version is much better). PlayOnLinux can be even hanged up. Reboot PlayOnLinux if you need. Keep going!

14. Click Finish on the Unity3D installation wizard.

15. When Unity3D is installed inside PlayOnLinux, you see the Unity3D icon in the main PlayOnLinux window – you can start Unity3D from here if you want.

16. Unity3D can run automatically in a moment.

17. You can see two Unity3D icons on your desktop. One of them doesn’t work (Unity). Use Unity3D instead (sometimes, both shortcuts work). Maybe you will see one icon only – I don’t know.

Warning: If you reinstall Unity3D (install again on the same computer), it’s good to remove the remaining shortcut on your desktop (one of the two). One is removed automatically, but the second remains. It can make problems for making a new shortcut for a new Unity3D installation. You may do that even during Unity3D installation, but before the end of the installation because the new shortcuts are made in this time. If you don’t do that, your installation can be corrupted. You will see only one shortcut on your desktop. But this shortcut probably won’t work.

18. Do everything Unity3D wants from you (Activate your Unity License – free or pro; log in to your Unity3D account – you should have the account; if don’t, make one; then, click Start using Unity).

19. When you see the dialog (Project Wizard) for creating or opening a new project for Unity3D, just do that as if you worked on Windows. That’s all!

20. Unity3D is running!!!

Now, you can create and edit scripts in the built in MonoDevelop for Unity3D under Linux, just like under Window. Together with Goran Grncaroski, I was able to write the script (the fourth version) that can ran not only Unity3D but also the MonoDevelop.

For editing scripts, I’ll still be using Notepad++ along with MonoDevelop. Go to the link

How to Setup Notepad++ for Unity3D on Linux

to know how to do that. Notepad++ is a very good tool, because it’s simple and quick.  I used it before, making my first game on Windows. For bigger scripts and for debugging, use MonoDevelop.

Unity3D Web Player

To use Unity3D Web Player under Linux, please go to the link:

Unity3D Web Player and Other Windows Plugins under Linux Browsers – Pipelight Project

WineBrowser Changes

Note: Optionally – it can be changed in the future. It isn’t critical for running Unity3D on Linux and making Unity3D projects, so you can skip this.

You should also do some fixes in Wine Windows registry for opening links inside Wine. Open main PlayOnLinux window -> click Configure (the gear wheel icon) ->  click Unity disk on your left -> Wine tab -> open Regedit by clicking -> You should see the well-known for you window for editing Windows Registry (regedit).

Go to HKEY_CURRENT_USER (HKCU) -> Software -> Wine -> WineBrowser

If you don’t see it, you have to create one.

Right click on the Wine key -> Key -> name it WineBrowser

Right click on the right side of Regedit window -> New -> Key -> String

Call the string you have just created Browsers, and its value should be xdg-open,firefox, opera,konqueror

You can write browser you want in the value. xdg-open should be the first. Because of that, clicking on a link in Wine, you will open the link by your default browser in your operating system.

Then, go to HKEY_CLASSES_ROOT -> http -> shell -> open -> command

On your right side you probably see:

“C:\windows\system32\winebrowser.exe” -nohome

You should write “%1” at the end, so it should look:

“C:\windows\system32\winebrowser.exe” -nohome “%1”

Now you can open links in Wine in your default Linux browser. You can check it in

/home/poganin/.PlayOnLinux/wineprefix/Unity3D/system.reg

Open the system.reg file. You should see something like that:

[Software\\Classes\\http\\shell\\open\\command] 1390676532

@=”\”C:\\windows\\system32\\winebrowser.exe\” -nohome \”%1\””

The same you could do for HTTPS:

HKEY_CLASSES_ROOT -> https -> shell -> open -> command

Potential Problems

Warning: There can still be issues with Unity3D on Linux. But we are working so that all works perfectly.

1/ Because PlayOnLinux creates a special disk for installing Unity3D on Linux, this installation is isolated. So if you try to run for example a .blend file to edit inside Unity3D, it won’t be opened automatically because Blender is installed outside this special disk on your computer.To solve it, search solutions on:

http://wiki.unity3d.com/index.php/Running_Unity_on_Linux_through_Wine

or use Unity3D installation on Linux without PlayOnLinux from:

https://github.com/Unity3D-Wine-Support/Unity3D-on-Wine/blob/master/unity3d.verb

However, I’m not sure if this solution will be working so easy like that method with using PlayOnLinux. That’s why, I recommend the installation of Unity3D on Linux with PlayOnLinux for beginners.

2/ I know it works with openSuse 13.1 and I’m not sure as to other distributions. Unity3D is stable enough to make games. It’s really amazing how it works on openSuse with Intel graphics card. Some people say that it works with Ubuntu, too.

3/ To import unitypackages:

Assets -> Import package -> Custom Package… -> search your .unitypackage -> import it to your Unity3D

I couldn’t start NGUI.unitypackage from outside Unity as it is on Windows. I had to import it from inside Unity3D Editor.

4/ I couldn’t import assets from Asset Store from the Unity3D website.

5/ If you have problems with the Mesa drivers, go to the link

libGL error: unable to load driver: i965_dri.so – a Mesa 3D graphics library error

Warning: Mesa is developed by Intel, so Intel graphics cards are always fully supported. But if you have other graphics card, proprietary drivers can be better. However, these drivers contain many bugs and your Unity3D can be unstable, for example, problem with refreshing windows in the editor.

More info

read also:

http://wiki.unity3d.com/index.php/Running_Unity_on_Linux_through_Wine

the recent changes to the script:

https://github.com/Unity3D-Wine-Support/Unity3D-on-Wine

for the problems you can’t find in my tutorial, use Unofficial IRC channel on freenode: #unity3d-wine

Remarks

If you see any error in my tutorial or you wish to improve it, please let me know. I hope my English is good enough. Thanks!

Thanks

Thanks to Cauê Waneck (waneck-six) and Damian Kucharski (Damian-LinuxFan) for the Script that started the revolution for many people in the world.

Thanks to Goran Grncaroski for helping me running the built in MonoDevelop for Unity3D under Linux.

Thanks to other users who improved and tested this solution on many distros.

Unity3D on Linux – a wonderful idea!

Guys, please leave your opinion below. Just write the system you are using, your graphics card, etc. It’s important for us, developers, to improve our solution. We are doing that to you for free. So please help us.

An “import wxversion” error when installing PlayOnLinux

An “import wxversion” error when installing PlayOnLinux

When you wish to try to install PlayOnLinux on Linux, you can see the error:

Traceback (most recent call last):

File “mainwindow.py”, line 31, in <module>

import wxversion

ImportError: No module named wxversion

./playonlinux: line 144: python2.6: command not found

PlayOnLinux is written in Python, so you should have installed Python on your system. However, it’s not enough. Some people say that your installed Python isn’t 2.6 and it’s the problem. No, you should only install python-wxWidgets (and maybe wxpython if you still see the error). And then, just go to the folder with PlayOnLinux and write in the console:

./playonlinux

Your PlayOnLinux should start now. Maybe you will be forced to install other things like Windows fonts or Wine. Do everything what PlayOnLinux wants. Remember, with PlayOnLinux, you can start Unity3D. Go to the link:

http://forum.unity3d.com/threads/211059-Unity3D-on-Linux-with-Wine-Support-thread

I got some problem when installing Unity3D with Wine and gave up, but now I’ll try again. I hope you will be successful too.

Linux vs. Windows

Linux vs. Windows

I changed my Windows into openSuse and I’m glad. It’s one of my best decisions in my life. At last, I feel free with my computer. It’s bad many software companies are trying not to see Linux users. I’m really angry with them. The freedom would be more beautiful if every Windows software had always its equivalent in Linux. So far, it’s my dreams only. I’m a game developer, and the most powerful game engines are for Windows only. However, I won’t give up. I was forced to leave Unity 3D for Blender. Blender is a really good game engine; maybe even better than Unity 3D. Full modeling and animation support. No problems with exporting. Now, I’m learning Blender. Soon, you will get my new games. Some of them will be for free. So be patient!

Unity3D and Linux

I’m leaving Windows to use Linux. However, I have a problem because one of my favorite programs, Unity 3D, isn’t working well on Linux. I am very angry with the Unity Team because they did not make Unity Editor for Linux. Such a version should have been made a long ago. I see many people leaving Unity 3D because this software doesn’t work with Linux. Yes, some hackers can start Unity 3D on Linux but it doesn’t work perfectly. Unity 3D needs a very good performance to render all graphics. That’s why game developers are waiting for the Linux version that could be started with no troubles.

So far, I am forced to use Torque 3D that is now open and free to use. Unity must change its policy not to be behind. The first step to do that is releasing the Unity Editor for Linux. Authors of good software can’t simply ignore Linux users.

So, I’m waiting…